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

时间:2020-01-22 06:33:00

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

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

请告知。

1 个答案:

答案 0 :(得分:2)

如何使用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

然后,我们只需要通过修改响应正文来更新相应的属性。

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

您可以查看this thread了解更多详细信息。

更新

创建构建定义后,是否会创建 azure-pipelines.yml文件并存储在像Azure Repos这样的存储库中?

否,如果您想使用rest api创建 YAML 类型的构建定义,它将不会创建相应的yaml文件到我们的仓库,因为此API Definitions - 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:

enter image description here

希望这会有所帮助。