【问题标题】:Is there a way to call Azure Devops via python using 'requests'?有没有办法使用“请求”通过 python 调用 Azure Devops?
【发布时间】:2020-02-22 06:50:03
【问题描述】:

所以,从我从大多数sources 看到的情况来看,他们说如果你试图让 python 程序调用 azure devops api 调用,它使用 python 导入语句,例如:

from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
...

有没有办法使用请求或其他内置导入语句,所以我不必安装这些 devops 特定模块?我正在用 putty 编码,所以我没有办法安装这些模块。

如果有人有任何解决方案或想法,我很乐意听到!

【问题讨论】:

    标签: python azure


    【解决方案1】:

    当然支持使用requests调用Azure DevOps REST API

    首先,你需要创建一个personal access token (PAT)

    然后您可以使用 PAT 创建基本的 auth 标头,并发出请求:

    import requests
    import base64
    
    pat = 'tcd******************************tnq'
    authorization = str(base64.b64encode(bytes(':'+pat, 'ascii')), 'ascii')
    
    headers = {
        'Accept': 'application/json',
        'Authorization': 'Basic '+authorization
    }
    
    response = requests.get(
        url="https://dev.azure.com/jack0503/_apis/projects?api-version=5.1", headers=headers)
    print(response.text)
    
    

    【讨论】:

    • 太棒了。我敢肯定这是一个表面问题,但它有助于让我了解一些事情。您知道在搜索 PBI 和搜索标题中的术语方面,我是否需要对 API 做些不同的事情,还是应该相当简单?
    • 你指的是Power BI吗?实际上,微软官方为Azure DevOps REST APIPower BI REST API提供了文档。虽然身份验证问题解决了,但调用 API 非常简单。
    • PAT 是强制性的吗?我可以使用登录名和密码吗?
    • @AstraSerg 使用登录名和密码进行基本身份验证,您可以使用requests.get(url="http://dev.azure...", auth=HTTPBasicAuth(username, p))。这里有一个很好的例子clouddev.engineering/azure-devops-rest-api-with-python
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2016-03-04
    • 2019-08-15
    相关资源
    最近更新 更多