예제 #1
0
        private static JsonPatchDocument BuildDocument(IDictionary <string, object> fields, Operation operation)
        {
            var operations = fields
                             .Select(f => new JsonPatchOperation()
            {
                Path      = f.Key,
                Operation = operation,
                Value     = f.Value
            }).ToList();
            var document = new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchDocument();

            document.AddRange(operations);
            return(document);
        }
예제 #2
0
        //public async Task<string> InsertWorkItem(string ProjectName, string Title, string AssignedTo, string Description)
        public async Task <IActionResult> InsertWorkItem([FromBody] Models.WorkItem WI)
        {
            await Security.GetSecretKeys();

            VssConnection connection = null;

            connection = new VssConnection(new Uri(Security.DevOpsAccount), new VssBasicCredential(string.Empty, Security.PAT));

            WorkItemTrackingHttpClient witClient = connection.GetClient <WorkItemTrackingHttpClient>();

            var document = new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchDocument();

            document.Add(
                new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchOperation()
            {
                Path      = @"/fields/System.Title",
                Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add,
                Value     = WI.Title
            });

            document.Add(
                new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchOperation()
            {
                Path      = @"/fields/System.AssignedTo",
                Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add,
                Value     = WI.AssignedTo
            });

            document.Add(
                new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchOperation()
            {
                Path      = @"/fields/System.Description",
                Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add,
                Value     = WI.Description
            });

            var worktime = witClient.CreateWorkItemAsync(document, WI.ProjectName, "Task").Result;

            return(StatusCode(StatusCodes.Status201Created, "Work Item with Id " + worktime.Id + " created sucessfully!"));
        }