如何使用 azure devops rest api 取消 运行 管道?

How to cancel running pipelines using azure devops restapi?

我尝试使用 api 调用取消 运行ning 管道,管道是使用 azure devops 上的 yaml 文件配置的,但是当我 运行 我的代码时管道仍然是 运行ning 并没有取消。我使用 api 调用使用 python 到 azure devops 管道以取消 运行ning 管道。 url 下面是我用于 api 调用的终点。我在构建 ID 中使用了定义 ID,我猜它是相同的。

url_cancel=https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}?api-version=6.0

Python代码

data = {"status":"Cancelling"}
                    a = json.dumps(data)

                    # Post request to rest API
                    response = requests.request("PATCH", url_cancel, headers=headers, data=a)

要取消 运行 构建,您可以使用 Rest API: Builds - Update Build

PATCH https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}?api-version=6.0

这是 Python 示例:

import requests
import json
import base64

pat = 'PAT'
authorization = str(base64.b64encode(bytes(':'+pat, 'ascii')), 'ascii')



url = "https://dev.azure.com/{ORG}/{PROJECT}/_apis/build/builds/{BUILDID}?api-version=6.0"



payload = json.dumps({
  "status": "Cancelling"
})

headers = {
  'Authorization': 'Basic '+authorization,
  'Content-Type': 'application/json',
  
}

response = requests.request("PATCH", url, headers=headers, data=payload)

print(response.text)

更新:

我的结果: