Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }