private WebApiWorkItem FetchWorkItem(int id, int revision, DateTime?asOf, WorkItemExpand expand, IEnumerable <string> fields, WorkItemTrackingHttpClient client) { if (expand != WorkItemExpand.None) { fields = null; } else { fields = FixWellKnownFields(fields).ToList(); } try { if (revision > 0) { return(client.GetRevisionAsync(id, revision, expand) .GetResult($"Error getting work item '{id}'")); } else if (asOf.HasValue && asOf.Value > DateTime.MinValue) { return(client.GetWorkItemAsync(id, fields, asOf, expand) .GetResult($"Error getting work item '{id}'")); } else { return(client.GetWorkItemAsync(id, fields, null, expand) .GetResult($"Error getting work item '{id}'")); } } catch (Exception ex) { Cmdlet.WriteError(new ErrorRecord(ex, ex.InnerException.GetType().Name, ErrorCategory.ReadError, id)); return(null); } }
public WorkItem GetWorkItemRevision() { int id = 1; VssConnection connection = Context.Connection; WorkItemTrackingHttpClient workItemTrackingClient = connection.GetClient <WorkItemTrackingHttpClient>(); // give me revision #2 WorkItem revision = workItemTrackingClient.GetRevisionAsync(id, 2).Result; Console.WriteLine("Work Item Revision..."); Console.WriteLine("Id: {0}", revision.Id); Console.WriteLine("Revision: {0}", revision.Rev); Console.WriteLine("Fields"); foreach (var field in revision.Fields) { Console.WriteLine("{0} : {1}", field.Key, field.Value); } Console.WriteLine(); return(revision); }