Пример #1
0
        public static async Task MigrateIssuesVersion(MigrateIssuesVersionSettings settings, ICakeLog logger)
        {
            try
            {
                var jira = Atlassian.Jira.Jira.CreateRestClient(settings.Host, settings.User, settings.Password);
                logger.Information($"Finding issues on version {settings.FromVersion}...");
                var issuesToMove =
                    await jira.Issues.GetIssuesFromJqlAsync($"project = {settings.Project} and fixVersion is not EMPTY and fixVersion IN (\"{settings.FromVersion}\")");

                foreach (var issue in issuesToMove)
                {
                    logger.Information($"Moving issue {issue.Key} from {settings.FromVersion} to {settings.ToVersion}");
                    issue.FixVersions.Remove(settings.FromVersion);
                    issue.FixVersions.Add(settings.ToVersion);
                    await jira.Issues.UpdateIssueAsync(issue);
                }
                logger.Information("Issue migration complete!");
            }
            catch (Exception ex)
            {
                logger.Error($"Error migrating issues: {ex.Message}");
                if (ex.InnerException != null)
                {
                    logger.Error(ex.InnerException);
                }
            }
        }
Пример #2
0
        public static async Task MigrateIssuesVersion(this ICakeContext context, MigrateIssuesVersionSettings settings)
        {
            ValidateJiraSettings(settings);

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

            if (string.IsNullOrWhiteSpace(settings.FromVersion))
            {
                throw new ArgumentException("The source version must be specified.");
            }

            if (string.IsNullOrWhiteSpace(settings.ToVersion))
            {
                throw new ArgumentException("The target version must be specified.");
            }

            await JiraClient.MigrateIssuesVersion(settings, context.Log);
        }