public WorkItemField CreateWorkItemField() { WorkItemField newlyCreatedWorkItemField = new WorkItemField(); WorkItemField newWorkItemField = new WorkItemField() { Name = "New Work Item Field", Description = "New work item filed for testing", Type = FieldType.String }; VssConnection connection = Context.Connection; WorkItemTrackingHttpClient workItemTrackingClient = connection.GetClient <WorkItemTrackingHttpClient>(); try { newlyCreatedWorkItemField = workItemTrackingClient.CreateFieldAsync(newWorkItemField).Result; Context.SetValue <string>("$newlyCreatedWorkItemFieldName", newlyCreatedWorkItemField.Name); Console.WriteLine("Work Item Field Create Succeeded."); } catch { Console.WriteLine("Work Item Field Create Failed."); } return(newlyCreatedWorkItemField); }
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 AddField(VssConnection connection, string refname, string name, string type) { WorkItemTrackingHttpClient client = connection.GetClient <WorkItemTrackingHttpClient>(); Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.FieldType fieldType = SetFieldType(type); WorkItemField workItemField = new WorkItemField() { Name = name, ReferenceName = refname, Type = fieldType }; var result = client.CreateFieldAsync(workItemField).Result; return(result); }
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); }