如何通过API取消勾选‘Override the YAML continuous integration trigger from here’复选框
解决通过Definition API创建流水线时覆盖YAML触发规则的问题
当通过Azure DevOps Definition API创建流水线时,默认生成的配置会自动勾选“Override the YAML continuous integration trigger from here”复选框,本质是因为API默认将CI触发器的overrideYaml属性设为true。要取消这个勾选,只需在API请求体中显式配置该属性为false即可。
具体修改方法
在创建流水线的POST请求(或修改流水线的PUT请求)的JSON体中,添加triggers数组并指定CI触发器的overrideYaml为false,示例如下:
{ "name": "目标流水线名称", "repository": { "id": "你的仓库ID", "type": "TfsGit", "name": "仓库名称", "url": "https://dev.azure.com/你的组织/你的项目/_git/仓库名称", "defaultBranch": "refs/heads/main" }, "process": { "yamlFilename": "azure-pipelines.yml" }, "triggers": [ { "triggerType": "continuousIntegration", "overrideYaml": false } ] }
关键说明
- 显式设置
overrideYaml: false后,创建的流水线不会启用YAML触发覆盖,完全遵循你在YAML文件中编写的触发规则。 - 不要在这个CI触发器配置中添加
branchFilters或pathFilters,避免引入额外的过滤规则,确保只使用YAML定义的触发逻辑。 - 若要修改已存在的流水线,只需向
_apis/build/definitions/{definitionId}发送PUT请求,更新triggers数组中对应CI触发器的overrideYaml属性即可。
内容的提问来源于stack exchange,提问作者bachq22
相关产品推荐
相关产品推荐

