如何通过Azure DevOps REST API禁用流水线持续集成?
可以通过REST API禁用YAML流水线的CI触发器
你之前尝试的空triggers数组之所以无效,是因为这个字段用于定义额外的触发器(如跨流水线触发器、定时触发器等),而非控制YAML自带的CI触发器开关。要实现UI中“禁用持续集成”的效果,需要在API请求中明确设置ciTrigger配置项。
正确的实现方式
无论是创建流水线还是后续更新,都可以通过设置configuration.ciTrigger.enabled: false来覆盖YAML中的CI设置,等同于UI里取消勾选“启用持续集成”的操作。
创建流水线时的请求体示例
{ "configuration": { "variables": { "VARIABLE_NAME": { "isSecret": false, "value": "Value" } }, "type": "yaml", "path": "azure-pipelines.yml", "repository": { "id": "repo-id", "type": "azureReposGit", "name": "repo-name" }, "ciTrigger": { "enabled": false } }, "name": "Production" }
已创建流水线的更新方式
如果流水线已经存在,可以调用Pipelines - Update的PATCH接口,传递包含ciTrigger的配置片段即可:
{ "configuration": { "ciTrigger": { "enabled": false } } }
这个设置会直接覆盖YAML文件中的CI触发器配置,无需修改YAML内容即可实现禁用CI的自动化操作,不用依赖UI操作。
内容的提问来源于stack exchange,提问作者INNVTV
相关产品推荐
相关产品推荐

