Python-azure-devops-AssignedTo 字段丢失

问题描述 投票:0回答:1

我编写了一个 python 函数,用于检索 ADO 查询的结果

def get_query_results(connection, project_name,query_id):

   '''
   Gets the result of a query in ADO
   '''
   results = []
   try:
      wit_client = connection.clients.get_work_item_tracking_client()
      result = wit_client.query_by_id(query_id)

      work_items = result.work_items

      for work_item in work_items:
         work_item_details = wit_client.get_work_item(id=work_item.id, fields=["System.Id", "System.Title","System.AssignedTo"], expand="Relations,Fields")
         results.append({"id": work_item_details.fields['System.Id'], "title": work_item_details.fields['System.Title'], "assigned_to": work_item_details.fields['System.AssignedTo']})
   except Exception as e:
        logger.exception(f'Error fetching repositories from {project_name}: {str(e)}')

   return results

但是虽然ADO ui中有很多可用的字段,例如“分配给”,但似乎我无法获取AssignedTo字段

results.append({"id": work_item_details.fields['System.Id'], "title": work_item_details.fields['System.Title'], "assigned_to": work_item_details.fields['System.AssignedTo']})
KeyError: 'System.AssignedTo'
  • 我该如何解决这个问题?
  • 如何检索可用字段而不仅仅是猜测?

感谢您的帮助

python azure-devops ado
1个回答
0
投票

在Python中使用函数“

wit_client.get_work_item
”获取工作项时,如果该工作项未分配给任何用户,则该函数的输出将不包含“
System.AssignedTo
”字段。在这种情况下,“
work_item_details.fields['System.AssignedTo']
”将返回错误“
KeyError: 'System.AssignedTo'
”。

© www.soinside.com 2019 - 2024. All rights reserved.