将计划构建添加到构建配置
Adding a scheduled build to the build configuration
我目前正在编写一个脚本来更改构建定义的某些配置。其中一项更改是添加一个触发器,将构建安排在每个工作日的 运行 凌晨 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"
的更新没有帮助。
那是因为您没有指定正确的构建定义 revision
,您需要指定 latest revision
来更新定义。
因此,您可以先使用 REST API 获取 build definition revision
。然后在您的请求正文中使用该修订来更新构建定义。
我目前正在编写一个脚本来更改构建定义的某些配置。其中一项更改是添加一个触发器,将构建安排在每个工作日的 运行 凌晨 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"
的更新没有帮助。
那是因为您没有指定正确的构建定义 revision
,您需要指定 latest revision
来更新定义。
因此,您可以先使用 REST API 获取 build definition revision
。然后在您的请求正文中使用该修订来更新构建定义。