public async Task <ProjectComponent> CreateComponentAsync(ProjectComponentCreationInfo projectComponent, CancellationToken token = default(CancellationToken)) { var serializer = JsonSerializer.Create(_jira.RestClient.Settings.JsonSerializerSettings); var resource = "/rest/api/2/component"; var requestBody = JToken.FromObject(projectComponent, serializer); var remoteComponent = await _jira.RestClient.ExecuteRequestAsync <RemoteComponent>(Method.POST, resource, requestBody, token).ConfigureAwait(false); remoteComponent.ProjectKey = projectComponent.ProjectKey; var component = new ProjectComponent(remoteComponent); return(component); }
public void AddAndRemoveProjectComponent() { var componentName = "New Component " + _random.Next(int.MaxValue); var projectInfo = new ProjectComponentCreationInfo(componentName); var project = _jira.Projects.GetProjectsAsync().Result.First(); // Add a project component. var component = project.AddComponentAsync(projectInfo).Result; Assert.Equal(componentName, component.Name); // Retrive project components. Assert.Contains(project.GetComponetsAsync().Result, p => p.Name == componentName); // Delete project component project.DeleteComponentAsync(component.Name).Wait(); Assert.DoesNotContain(project.GetComponetsAsync().Result, p => p.Name == componentName); }