Skip to content

Commit 41de87f

Browse files
committed
Support loading single work item
1 parent 940c998 commit 41de87f

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/Cake.AzureDevOps/Boards/WorkItemTracking/AzureDevOpsWorkItemTracking.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,25 @@ public IEnumerable<AzureDevOpsWorkItem> GetWorkItems(IEnumerable<int> workItemId
6161
.Select(x => new AzureDevOpsWorkItem(this.log, new AzureDevOpsWorkItemSettings(this.settings), x, this.workItemTrackingClientFactory));
6262
}
6363
}
64+
65+
/// <summary>
66+
/// Gets the specified work item.
67+
/// </summary>
68+
/// <param name="workItemId">The ID of the work item.</param>
69+
/// <returns>The work item specified by the ID.</returns>
70+
public AzureDevOpsWorkItem GetWorkItem(int workItemId)
71+
{
72+
using (var workItemTrackingClient = this.workItemTrackingClientFactory.CreateWorkItemTrackingClient(this.settings.CollectionUrl, this.settings.Credentials))
73+
{
74+
var workItem =
75+
workItemTrackingClient
76+
.GetWorkItemAsync(workItemId, expand: Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.WorkItemExpand.Relations)
77+
.ConfigureAwait(false)
78+
.GetAwaiter()
79+
.GetResult();
80+
81+
return new AzureDevOpsWorkItem(this.log, new AzureDevOpsWorkItemSettings(this.settings), workItem, this.workItemTrackingClientFactory);
82+
}
83+
}
6484
}
6585
}

0 commit comments

Comments
 (0)