【问题标题】:How to create new build pipeline using Azure DevOps REST API?如何使用 Azure DevOps REST API 创建新的构建管道?
【发布时间】:2023-03-14 04:31:01
【问题描述】:

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

请指教。

【问题讨论】:

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


    【解决方案1】:

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

    希望这会有所帮助。

    【讨论】:

    • 谢谢!是否有 REST API 来运行管道?
    • 您能否提一下创建新构建管道所必需的属性?
    • @KumareshBabuNS,是的,我们可以通过这个 REST API:docs.microsoft.com/zh-cn/rest/api/azure/devops/build/Builds/… 对管道进行排队,您可以查看这个线程以获取一些详细信息:stackoverflow.com/questions/50483072/…
    • @KumareshBabuNS,恐怕我们无法提供创建新构建管道所必需的属性,每个属性都没有任何文档。如果我们想知道这一点,我们可能需要一一测试。
    • 创建构建定义后,是否会创建azure-pipelines.yml文件并像Azure Repos一样存储在存储库中?
    猜你喜欢
    • 2021-12-12
    • 2020-05-09
    • 1970-01-01
    • 2021-01-21
    • 2020-10-04
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多