将预定构建添加到构建配置

时间:2018-06-15 11:35:25

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

我目前正在开发一个更改构建定义上的某些配置的脚本。其中一个更改是添加一个触发器,用于安排构建在每个工作日凌晨2点运行。

我的方法是首先手动添加触发器,然后使用API​​调用重现它。配置在构建定义中引出以下内容:

"triggers": [
    {
        "schedules": [
            {
                "branchFilters": [
                    "+$/<removed>"
                ],
                "timeZoneId": "W. Europe Standard Time",
                "startHours": 2,
                "startMinutes": 0,
                "daysToBuild": 31,
                "scheduleJobId": "f3bf0e7e-8cde-4d91-8e3d-63bf3e29d256",
                "scheduleOnlyWithChanges": true
            }
        ],
        "triggerType": "schedule"
    }
],

我的问题是,当我通过API进行此更改时,没有任何更改。

PUT已编辑的JSON定义到"${vstsBaseUrl}/build/definitions/${id}?api-version=5.0-preview.4"(PowerShell脚本)并仍然收到200 OK,但我的更改尚未提交。

修订号也不会增加。但最新版本的构建定义将作为响应发送。

在没有"scheduleJobId"的情况下进行更新无济于事。

1 个答案:

答案 0 :(得分:1)

那是因为你没有指定正确的构建定义revision,你需要指定latest revision来更新定义。

因此,您可以先使用REST API获取build definition revision。然后在请求正文中使用该修订来更新构建定义。

enter image description here

相关问题