如何从Python(urllib3)在AzureDevOps中触发管道API

2024-09-30 14:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须从python脚本触发Azure DevOps中的管道。我已经发现我需要一个私人访问令牌,这部分很好。但是,我无法让脚本正常工作。我正在尝试这样的事情:

data = [
     {
     }
    ]
http = urllib3.PoolManager()
    r = http.request('POST', api_url, headers={'Content-Type': 'application/json-patch+json', "Authorization": private_access_token}, body=data)
    print(r.status)
    print(r.data)

我必须使用urllib3,因为我不能使用请求包

数据为空,因为在这里查看参数https://docs.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/run%20pipeline?view=azure-devops-rest-6.0。那么我不需要任何输入数据?我只想触发一条管道,没有别的

错误消息不是很有用。我收到错误信息203


Tags: 数据脚本restapijsonhttpdata管道
1条回答
网友
1楼 · 发布于 2024-09-30 14:27:45

我用以下方法解决了这个问题:

authorization = str(base64.b64encode(bytes(':'+private_access_token, 'ascii')), 'ascii')
    data = {}
    a = json.dumps(data)
    http = urllib3.PoolManager()
    r = http.request('POST', api_url, headers = {'Content-Type': 'application/json', 'Authorization': 'Basic '+authorization}, body=a)

相关问题 更多 >