在Azure DevOps(ADO)上的存储库中,我在主分支上有一个构建验证策略,希望合并到主分支的PR必须首先完成一个成功的Azure管道运行。
我想使用Azure CLI来触发此构建验证管道。
我知道我可以用az pipelines run
或az pipelines build queue
触发这个管道,并用--branch
参数指向我的PR,如az pipelines build queue --branch "refs/pull/123/merge" --definition-id 456
。
然而,当我这样做时,管道运行不计入PR的构建验证。也就是说,即使我的管道成功,它也不会反映在我的PR中,我仍然不能合并我的更改。
我如何使用Azure CLI触发我的管道,以便它计入我的PR的构建验证?我正在寻找Azure CLI,相当于单击PR管道上的“队列”按钮(图片取自此评论):
的数据
1条答案
按热度按时间1u4esq0p1#
尽管
az pipelines
命令组似乎是寻找此功能的明智之处,但实际上您需要使用az repos
命令组。特别是,您需要使用
az repos pr policy
命令来触发管道,并将其计入PR的构建验证。然而,要做到这一点,你首先需要确定你的构建验证的评估ID。我无法通过ADO的UI确定此ID。但是,可以通过Azure CLI找到它:
字符串
与其手动解析所有输出的JSON,如果你觉得勇敢的话,你可以尝试使用以下命令提取评估ID(尽管我不知道它有多健壮):
型
您的评估ID将是一个长的字母数字字符串,用连字符分隔。它看起来像:
d2hr35yd-9fe0-y4t5-hb35-5een2cr04b2
。一旦你有了构建验证的评估ID,你就可以继续并根据你的PR触发你的管道:
型
在实践中,这可能看起来像这样:
型
这将根据您的PR运行您所需的构建管道,就像您在ADO UI中单击了“队列”按钮一样。
如果你真的很想把它作为一个一行程序(我个人不提倡),下面的内容可能会给予你你想要的:
型