【问题标题】:How to get scheduled build\release data using REST API如何使用 REST API 获取计划的构建\发布数据
【发布时间】:2019-11-28 12:16:43
【问题描述】:

希望获得下一个预期的 Build/Release 并使用 API 获取信息,然后将其投影为某种形式的仪表板(使用收集的信息),而不是从 Azure DevOps > Pipelines > Builds 选项进行检查。

已经为 Build & Release 管道启用了调度程序,并且它也被成功触发。我可以使用 REST API 收集构建/发布信息,但是我可以获得已处理/完成的构建/发布的信息。

根据要求,我只想获取下一个计划的构建/发布详细信息(有关它们的任何信息都可以),因为我已经为它们启用了调度程序。

如果调度程序只是帮助触发管道,我们有什么方法可以通过编程方式检索该信息?

【问题讨论】:

    标签: azure-devops azure-pipelines schedule


    【解决方案1】:

    如何使用 REST API 获取计划的构建\发布数据

    您可以使用 Rest API 到 Get a build definition 获取构建计划信息:

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

    例如,我使用以下 Powershell 脚本来获取构建计划信息:

    $url = "https://dev.azure.com/<MyOrganization>/<MyProject>/_apis/build/definitions/55?api-version=5.1"
    $buildPipeline= Invoke-RestMethod -Uri $url -Headers @{   
     Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
    } -Method Get
    
    $scheduledstartHours= $buildPipeline.triggers.schedules.startHours
    $scheduledstartMinutes= $buildPipeline.triggers.schedules.startMinutes
    $scheduledNumber= $buildPipeline.triggers.schedules.daysToBuild
    $scheduledJobId= $buildPipeline.triggers.schedules.scheduleJobId
    
    Write-Host This is start Hours: $scheduledstartHours
    Write-Host This is start Minutes: $scheduledstartMinutes
    Write-Host This is scheduled Number: $scheduledNumber
    Write-Host This is scheduled Job Id: $scheduledJobId
    

    作为测试结果:

    注意:

    • 当您选择更多时,buildNnumber 指示何时构建 计划中超过 1 天,但 MS 未提供对照表。
    • 当您使用上述脚本时,您需要转到Agent Phase并选择 Allow Scripts to Access OAuth Token。见Use the OAuth token to access the REST API

    对于发布时间表信息,您可以使用Get a Release Definition

    希望这会有所帮助。

    【讨论】:

    • @praveenkrish,我们可以在触发此构建之前获取此信息!因为这些信息来自定义设置而不是构建,所以,你只需要设置计划,然后你就可以得到这个信息。顺便说一句,上面的测试结果是在构建触发之前获得的。
    • 感谢您的建议。而且,无论如何,我们是否可以在触发此构建之前以积极主动的方式获取此信息?或者在计划的构建运行后,此信息将可用一次?我只想获得即将到来的构建细节。这可以实现吗?请让我知道你的建议。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多