public async Task <ProjectVersion> CreateVersionAsync(ProjectVersionCreationInfo projectVersion, CancellationToken token = default(CancellationToken)) { var settings = _jira.RestClient.Settings.JsonSerializerSettings; var serializer = JsonSerializer.Create(settings); var resource = "/rest/api/2/version"; var requestBody = JToken.FromObject(projectVersion, serializer); var remoteVersion = await _jira.RestClient.ExecuteRequestAsync <RemoteVersion>(Method.POST, resource, requestBody, token).ConfigureAwait(false); remoteVersion.ProjectKey = projectVersion.ProjectKey; var version = new ProjectVersion(_jira, remoteVersion); return(version); }
// This method will be called for each input received from the //pipeline to this cmdlet; if no input is received, this method is not called protected override void ProcessRecord() { AsyncResult queryResult = null; var creationInfo = new ProjectVersionCreationInfo(Name); creationInfo.ProjectKey = Project; string message = $"Starting query for Version by Project [{Project}]"; WriteVerbose(message); queryResult = new AsyncResult( message, JSession.Api.Versions.CreateVersionAsync(creationInfo) ); startedTasks.Enqueue(queryResult); }
public void AddAndRemoveProjectVersions() { var versionName = "New Version " + _random.Next(int.MaxValue); var project = _jira.Projects.GetProjectsAsync().Result.First(); var projectInfo = new ProjectVersionCreationInfo(versionName); projectInfo.StartDate = new DateTime(2000, 11, 1); // Add a project version. var version = project.AddVersionAsync(projectInfo).Result; Assert.Equal(versionName, version.Name); Assert.Equal(version.StartDate, projectInfo.StartDate); // Retrive project versions. Assert.Contains(project.GetPagedVersionsAsync().Result, p => p.Name == versionName); // Delete project version project.DeleteVersionAsync(version.Name).Wait(); Assert.DoesNotContain(project.GetPagedVersionsAsync().Result, p => p.Name == versionName); }