Ejemplo n.º 1
0
        public static async Task Update(this ProjectVersion version, CreateOrUpdateJiraVersionSettings settings)
        {
            version.IsReleased   = settings.IsReleased;
            version.Description  = settings.Description;
            version.ReleasedDate = settings.ReleaseDate;

            await version.SaveChangesAsync();
        }
Ejemplo n.º 2
0
        public static async Task CreateOrUpdateJiraVersion(CreateOrUpdateJiraVersionSettings settings, ICakeLog logger)
        {
            try
            {
                logger.Information($"Creating version {settings.VersionName} on {settings.Project}");
                var jira     = Atlassian.Jira.Jira.CreateRestClient(settings.Host, settings.User, settings.Password);
                var versions = await jira.Versions.GetVersionsAsync(settings.Project);

                var version = versions.SingleOrDefault(v => v.Name == settings.VersionName);

                if (version == null)
                {
                    logger.Information($"{settings.VersionName} not found. Creating it...");
                    logger.Information(
                        $"Creating version with paramenters: {Environment.NewLine}{JsonConvert.SerializeObject(settings)}");
                    await jira.Versions.CreateVersionAsync(
                        new ProjectVersionCreationInfo(settings.VersionName)
                    {
                        Description = settings.Description,
                        IsReleased  = settings.IsReleased,
                        StartDate   = DateTime.UtcNow,
                        ProjectKey  = settings.Project
                    }
                        );
                }
                else
                {
                    logger.Information($"{settings.VersionName} already exists. Updating it...");
                    logger.Information(
                        $"Updating version with paramenters: {Environment.NewLine}{JsonConvert.SerializeObject(settings)}");
                    await version.Update(settings);
                }
            }
            catch (Exception ex)
            {
                logger.Error($"Error creating version: {ex.Message}");
            }
        }
Ejemplo n.º 3
0
        public static async Task CreateOrUpdateJiraVersion(this ICakeContext context, CreateOrUpdateJiraVersionSettings settings)
        {
            ValidateJiraSettings(settings);

            if (string.IsNullOrWhiteSpace(settings.Project))
            {
                throw new ArgumentException("Project must be specified.");
            }

            if (string.IsNullOrWhiteSpace(settings.VersionName))
            {
                throw new ArgumentException("Version Number must be specified.");
            }
            await JiraClient.CreateOrUpdateJiraVersion(settings, context.Log);
        }