-
Notifications
You must be signed in to change notification settings - Fork 215
Open
Description
Hi There, I tried to use the following codes to execute my query with wiql. However, it depends on two times api calls, one is query_by_wiql and the other is get_work_items. In the first method, it will get all the ids (but no other fields), in the later one, it will get work items based on the ids returned in the first method. My question is that is there a way to directly query and get my desired fields in just one call?
credentials = BasicAuthentication('', api_token)
connection = Connection(base_url=server, creds=credentials)
client = connection.clients.get_work_item_tracking_client()
wiql = Wiql(query=query)
wiql_results = client.query_by_wiql(wiql, top=100).work_items
if wiql_results:
ids = [str(res.id) for res in wiql_results]
work_items = client.get_work_items(ids, fields=fields)
Activity
typorian commentedon Apr 24, 2024
As you can see here, as you are requesting a WorkItemReference Object with your query_by_wiql (https://github.com/microsoft/azure-devops-python-api/blob/dev/azure-devops/azure/devops/v7_1/work_item_tracking/models.py#L1494), this object only has the ID and URL as attributes, so you do indeed need another query to get the additional properties, like you showed in your example.