我正在尝试以编程方式创建新的构建管道。我正在为此操作寻找Azure DevOps REST API。我没有使用REST API创建管道的正确示例。
请告知。
答案 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:
希望这会有所帮助。