如何使用python访问日期之间的蔚蓝Dev Ops数据(例如Changeset)?

时间:2019-11-14 12:16:44

标签: python azure azure-devops azure-devops-rest-api

我正在尝试连接到AZURE Dev-Ops并获取变更集信息,以使用PYTHON自动进行发行说明的准备。

在阅读了github链接中提供的文档和过程之后,我使用了以下内容:

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

# Fill in with your personal access token and org URL
personal_access_token = 'mypattokenvalue'
organization_url = 'https://dev.azure.com/myorg'

# Create a connection to the org
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)
tfsv_client = connection.clients.get_tfvc_client()
project_name="myprojname"
search_criteria=".item_path='$/myprojname/Trunk/Main',.fromDate:'01-01-2019',.toDate:'11-13-2019-2:00PM'"

changeset_info = tfvcclient.get_changesets(project=project_name,search_criteria=search_criteria)

执行代码后会引发错误:

'str' object has no attribute 'item_path' in following line of code of the package eventhoughi provided Item_path value:

   255         if search_criteria is not None:
--> 256             if search_criteria.item_path is not None:
    257                 query_parameters['searchCriteria.itemPath'] = search_criteria.item_path

我试图以字典的形式给出搜索条件,这也给出了相同的错误。如果根本不给出Item路径,则会引发相同的错误。

因此,我不确定如何将数据提供给get_changesets方法的搜索条件参数。

我要求任何人提供数据方面的帮助,以便我可以使用PYTHON在AZURE Dev Ops中使用给定项目的主分支下的日期范围查询变更集的信息?

在2019年11月15日的现有更新后添加其他查询:

这是否是包装中的缺陷/错误,因为它没有采用我尝试提供的值,或者我提供的搜索标准错误? 如果这是合法问题,请您告诉我该在哪里记录缺陷? 如果提供的值或我提供的值的方法有误,您能显示/解释正确的方法吗?

预先感谢

致谢

ChaitayaNG

1 个答案:

答案 0 :(得分:1)

由于错误指示str' object has no attribute 'item_path'。您定义的变量 search_criteria str类型。您无法获得str search_criteria不存在的属性item_path

您应定义一个search_criteria对象类型。例如,请检查以下代码。

  search_criteria = type('',(object,),{"item_path":'$/myprojname/Trunk/Main',"fromDate":'01-01-2019', "toDate":'11-13-2019-2:00PM'})