public WorkItemField Field_CreatePicklistField() { //get process id stored in cache so we don't have to load it each time System.Guid processId = Context.GetValue <Guid>("$processId"); System.Guid picklistId = Context.GetValue <Guid>("$picklistId"); VssConnection connection = Context.Connection; WorkItemTrackingHttpClient client = connection.GetClient <WorkItemTrackingHttpClient>(); WorkItemField field = null; Console.Write("Searching to see if field '{0}' exists....", _fieldRefName); try { field = client.GetFieldAsync(_fieldRefName).Result; } catch (Exception ex) { if (ex.InnerException.Message.Contains("TF51535: Cannot find field")) { field = null; } } if (field == null) { Console.WriteLine("field not found"); Console.Write("Creating new picklist field and setting it to former picklistId...."); field = new WorkItemField() { ReferenceName = _fieldRefName, Name = "Colors", Description = "My new field", Type = TeamFoundation.WorkItemTracking.WebApi.Models.FieldType.String, IsPicklist = true, PicklistId = picklistId, Usage = FieldUsage.WorkItem, ReadOnly = false, IsIdentity = false, IsQueryable = true }; WorkItemField newField = client.CreateFieldAsync(field).Result; Console.WriteLine("Done"); return(newField); } Console.WriteLine("field found"); return(field); }
public static WorkItemField GetField(VssConnection connection, string refname) { WorkItemTrackingHttpClient client = connection.GetClient <WorkItemTrackingHttpClient>(); try { WorkItemField field = client.GetFieldAsync(refname).Result; return(field); } catch (Exception) { return(null); } }
public WorkItemField GetFieldDetails() { string fieldName = "System.Title"; VssConnection connection = Context.Connection; WorkItemTrackingHttpClient workItemTrackingClient = connection.GetClient <WorkItemTrackingHttpClient>(); WorkItemField workitemField = workItemTrackingClient.GetFieldAsync(fieldName).Result; Console.WriteLine("Name: " + workitemField.Name); Console.WriteLine("Ref name: " + workitemField.ReferenceName); Console.WriteLine("Read only? " + workitemField.ReadOnly); return(workitemField); }
public async Task EnsureFieldExists(string fieldRefName, string name, string description, string workItemType, Guid processId) { var field = await witClient.GetFieldAsync(fieldRefName); if (field == null) { field = await witClient.CreateFieldAsync(new WorkItemField() { Name = name, Description = description, ReferenceName = fieldRefName }); } await witProcessClient.AddFieldToWorkItemTypeAsync( new AddProcessWorkItemTypeFieldRequest() { ReferenceName = field.ReferenceName }, processId, workItemType); }
private static WorkItemField GetField(VssConnection connection, string fieldName) { WorkItemTrackingHttpClient workClient = connection.GetClient <WorkItemTrackingHttpClient>(); return(workClient.GetFieldAsync(fieldName).Result); }