代码之家  ›  专栏  ›  技术社区  ›  Chrono

将计划生成添加到生成配置

  •  0
  • Chrono  · 技术社区  · 7 年前

    我目前正在处理一个脚本,该脚本可以更改生成定义上的某些配置。其中一个更改是添加一个触发器,该触发器安排生成在每个工作日的凌晨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 回复  |  直到 7 年前
        1
  •  1
  •   Andy Li-MSFT    7 年前

    这是因为您没有指定正确的生成定义 revision ,您需要指定 latest revision 更新定义。

    所以,您可以使用rest api来获取 build definition revision 第一.然后在请求正文中使用该修订版更新生成定义。

    enter image description here