From 41de87fe368041d00f22449a73aa01b18ff1be86 Mon Sep 17 00:00:00 2001 From: "Wenzel, Toni" Date: Sun, 25 Sep 2022 22:36:49 +0200 Subject: [PATCH] Support loading single work item --- .../AzureDevOpsWorkItemTracking.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Cake.AzureDevOps/Boards/WorkItemTracking/AzureDevOpsWorkItemTracking.cs b/src/Cake.AzureDevOps/Boards/WorkItemTracking/AzureDevOpsWorkItemTracking.cs index 1deaf3d..5ca0f85 100644 --- a/src/Cake.AzureDevOps/Boards/WorkItemTracking/AzureDevOpsWorkItemTracking.cs +++ b/src/Cake.AzureDevOps/Boards/WorkItemTracking/AzureDevOpsWorkItemTracking.cs @@ -61,5 +61,25 @@ public IEnumerable GetWorkItems(IEnumerable workItemId .Select(x => new AzureDevOpsWorkItem(this.log, new AzureDevOpsWorkItemSettings(this.settings), x, this.workItemTrackingClientFactory)); } } + + /// + /// Gets the specified work item. + /// + /// The ID of the work item. + /// The work item specified by the ID. + public AzureDevOpsWorkItem GetWorkItem(int workItemId) + { + using (var workItemTrackingClient = this.workItemTrackingClientFactory.CreateWorkItemTrackingClient(this.settings.CollectionUrl, this.settings.Credentials)) + { + var workItem = + workItemTrackingClient + .GetWorkItemAsync(workItemId, expand: Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.WorkItemExpand.Relations) + .ConfigureAwait(false) + .GetAwaiter() + .GetResult(); + + return new AzureDevOpsWorkItem(this.log, new AzureDevOpsWorkItemSettings(this.settings), workItem, this.workItemTrackingClientFactory); + } + } } } \ No newline at end of file