我有一个Azure管道,可以使用azure rest API调用它
https://dev.azure.com/xxx/xxx_connection/_apis/pipelines/2/runs
一切正常,我将源文件从安装的Self Hosted Linux Agent发送到azure,然后将其重新编译为Self Hosted Linux Agent。
我的问题是我如何知道在托管自托管Linux代理的服务器中何时完成管道?
有回叫吗?或API我可以调用并查询管道作业是否已完成?
还是只是在我接受获取编译产品的目录上执行while循环?
我要避免的最后一个选择。
答案 0 :(得分:1)
您可以使用Runs - Get API:
GET https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs/{runId}?api-version=6.1-preview.1
然后在响应中检查result
(应为succeeded
)。
使用您提到的API(在响应中)调用管道时,您可以获得runId
。
答案 1 :(得分:1)
您还可以通过以下方法了解管道是否已完成。
1,如Shayki Abramczyk所述,使用Runs-Get或Latest - Get API获得构建结果。
2,您可以设置service hook。对于下面的示例,web hook在完成选定的构建管道时触发。
3,您可以签出扩展名CatLight。 CatLight应用程序将在构建开始和完成时通知您。
4,在构建完成事件上创建自定义通知并订阅。管道完成后,您会收到电子邮件通知。检查tutorial here以获得更多信息。