rest - 如何使用 Azure DevOps REST API 创建新的构建管道?

标签 rest azure-devops azure-pipelines azure-devops-rest-api

我正在尝试以编程方式创建新的构建管道。我正在为此操作寻找 Azure DevOps REST API。我没有获得使用 REST API 创建管道的正确示例。

请指教。

最佳答案

How to create new build pipeline using Azure DevOps REST API?

要创建新的构建管道,我们可以使用 REST API Definitions - Create :

POST https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.0

但是我们需要在Request Body中提供太多的信息,这将是一个大工程并且容易出错。这也是文档未在此处提供示例请求主体的原因。

要解决这个问题,通常我们会使用 REST API Definitions - Get从模板管道获取响应主体:

GET https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=5.0

那么我们只需要通过修改Response Body来更新相应的属性即可。

现在,我们获得了新管道的新请求主体,我们可以将其与 REST API Definitions - Create 一起使用以创建新管道。

你可以查看 this thread了解更多详情。

更新:

After creating the build definition, Will it create azure-pipelines.yml file and store in the repository like Azure Repos?

不,如果你想使用 rest api 创建一个 YAML 类型的构建定义,它不会创建相应的 yaml 文件到我们的 repo,因为这个 API Definitions - Create 仅将请求体发送到管道不操作我们的 repo。目前,它支持创建一个链接到 Git 存储库中的 YAML 文件的构建定义。如果你想自动创建 yaml,你可以检查 REST API Pushes - Create .

这应该是 REST API Definitions - Create 需要改进以支持 YAML 管道的地方。您可以在我们的 UserVoice 网站 ( https://developercommunity.visualstudio.com/content/idea/post.html?space=21 ) 上添加对此功能的请求,该网站是我们提供产品建议的主要论坛。感谢您帮助我们构建更好的 Azure DevOps:

enter image description here

希望这对您有所帮助。

关于rest - 如何使用 Azure DevOps REST API 创建新的构建管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59853889/

相关文章:

node.js - Azure DevOp - 指定已弃用的运行时 (nodejs12.x)

Azure DevOps 服务器(本地)与 SourceTree 或 Gitkraken 集成

configuration - Azure DevOps - Azure 资源组部署 : set value of subscription dynamically

使用模板时Azure管道扩展每个参数

json - 按类别或字段过滤休息服务

c - 我是否正确地使用 cURL 模拟 CORS?我是否需要实现 OPTIONS 请求

azure - 通过 Azure Pipeline 将 Maven 构建部署到 Azure Artifacts 时如何修复 401?

delphi - 如何安装Delphi 10.2 Tokyo命令行编译器

web-services - 针对不同操作的 REST 设计

java - Spring Boot - Rest Controller 在使用 Lombok 时返回空对象