【发布时间】:2023-03-14 04:31:01
【问题描述】:
我正在尝试以编程方式创建新的构建管道。我正在为此操作寻找 Azure DevOps REST API。我没有获得使用 REST API 创建管道的正确示例。
请指教。
【问题讨论】:
标签: rest azure-devops azure-pipelines azure-devops-rest-api
我正在尝试以编程方式创建新的构建管道。我正在为此操作寻找 Azure DevOps REST API。我没有获得使用 REST API 创建管道的正确示例。
请指教。
【问题讨论】:
标签: rest azure-devops azure-pipelines azure-devops-rest-api
如何使用 Azure DevOps REST API 创建新的构建管道?
要创建新的构建管道,我们可以使用 REST API Definitions - Create:
POST https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.0
但是我们需要在请求正文中提供太多信息,这将是一个大项目并且容易出错。这也是文档没有提供示例请求正文的原因。
为了解决这个问题,通常我们会使用 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 了解更多详情。
更新:
创建构建定义后,它会创建 azure-pipelines.yml 文件并存储在 Azure Repos 等存储库中?
不,如果你想使用rest api创建一个YAML类型的构建定义,它不会创建对应的yaml文件到我们的repo,因为这个APIDefinitions - Create只发送请求体到管道不操作我们的回购。目前,它支持创建链接到 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:
希望这会有所帮助。
【讨论】:
azure-pipelines.yml文件并像Azure Repos一样存储在存储库中?