【问题标题】:How to get a list of dashboards through azure-devops-python-api如何通过 azure-devops-python-api 获取仪表板列表
【发布时间】:2022-01-06 15:42:00
【问题描述】:

我正在尝试使用azure-devops-python-api 获取仪表板列表。 我不知道如何正确连接库以获取仪表板列表并使用它们。 我所做的是这样的:

from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
from azure.devops.v6_0 import DashboardClient 
import pprint
import requests
import json

personal_access_token = 'PAT'
organization_url = 'https://dev.azure.com/Orgname/'
team_context = 'Orgname'
# Create a connection to the org
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)

dashboard_resp = DashboardClient(base_url=organization_url, creds=credentials)
dashboards = dashboard_resp.get_dashboards_by_project('', team_context)

当我尝试执行这段代码时,我得到一个错误

Traceback (most recent call last):
  File "az-dev-dash.py", line 16, in <module>
    dashboard_resp = azure.DashboardClient(base_url=organization_url, creds=credentials)
AttributeError: module 'azure.devops.v6_0' has no attribute 'DashboardClient'

【问题讨论】:

    标签: python python-3.x azure azure-devops azure-devops-rest-api


    【解决方案1】:

    您可以使用以下 Python 脚本列出使用 python 的特定项目中的仪表板。

    这是python代码:

    from re import T
    from azure.devops.connection import Connection
    from azure.devops.v6_0.dashboard.models import Dashboard, TeamContext
    from msrest.authentication import BasicAuthentication
    from azure.devops.v6_0.dashboard.dashboard_client import DashboardClient 
    import pprint
    import requests
    import json
    
    personal_access_token = '<PATToken>'
    organization_url = 'https://dev.azure.com/<OrgnName>' ##OrganisationalUrl
    
    team_context=TeamContext('<projectName>')
    
    # Create a connection to the org
    credentials = BasicAuthentication('', personal_access_token)
    connection = Connection(base_url=organization_url, creds=credentials)
    core_client = connection.clients.get_core_client()
    dashboard_resp = DashboardClient(base_url=organization_url, creds=credentials)
    dashboards = dashboard_resp.get_dashboards_by_project(team_context)
    for item in dashboards:
     print(item)
    

    这是供参考的示例输出:

    或者,您可以将this Rest API 转为list the dashboards in the project

    【讨论】:

    • 我收到此错误:回溯(最近一次调用最后一次):文件“az-dev-dash.py”,第 20 行,在 仪表板 = dashboard_resp.get_dashboards_by_project(team_context) 文件“/ Users/user/Library/Python/3.8/lib/python/site-packages/azure/devops/v6_0/dashboard/dashboard_client.py",第 131 行,在 get_dashboards_by_project 如果 team_context.project_id: AttributeError: 'str' object has no attribute 'project_id'
    • 如何确定 team_context 变量?
    • 正如上面代码中提到的,您需要将相应的项目名称作为参数传递给TeamContext() 并附加到team_context 变量team_context=TeamContext('&lt;projectName&gt;')
    • 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2022-11-23
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    相关资源
    最近更新 更多