Add a dry-run flag to the publish commands

This commit is contained in:
Miguel de la Cruz 2020-03-05 22:57:01 +01:00
parent e5ed57c3d8
commit afe7bb9455
3 changed files with 25 additions and 10 deletions

View file

@ -20,6 +20,7 @@ func JiraPublishCmd() *cobra.Command {
cmd.Flags().BoolP("all", "a", false, "Publish all the tickets of the campaign")
cmd.Flags().IntP("batch", "b", 0, "Number of tickets to publish")
cmd.Flags().Bool("dry-run", false, "Print the tickets information instead of publishing them")
return cmd
}
@ -40,6 +41,7 @@ func PublishCmd() *cobra.Command {
func jiraPublishCmdF(cmd *cobra.Command, _ []string) error {
all, _ := cmd.Flags().GetBool("all")
batch, _ := cmd.Flags().GetInt("batch")
dryRun, _ := cmd.Flags().GetBool("dry-run")
if !all && batch == 0 {
return fmt.Errorf("One of --all or --batch flags is required")
@ -61,13 +63,13 @@ func jiraPublishCmdF(cmd *cobra.Command, _ []string) error {
}
if all {
count, err := jiraClient.PublishAll(cmp)
count, err := jiraClient.PublishAll(cmp, dryRun)
if err != nil {
ErrorAndExit(cmd, err)
}
cmd.Printf("All %d tickets successfully published in jira\n", count)
} else {
if err := jiraClient.PublishBatch(cmp, batch); err != nil {
if err := jiraClient.PublishBatch(cmp, batch, dryRun); err != nil {
ErrorAndExit(cmd, err)
}
cmd.Printf("Batch of %d tickets successfully published in jira\n", batch)

View file

@ -46,6 +46,7 @@ func CreateJiraTicketStandaloneCmd() *cobra.Command {
cmd.Flags().String("username", "", "The jira username")
cmd.Flags().String("token", "", "The jira token")
cmd.Flags().StringSliceP("vars", "v", []string{}, "The variables to use in the template")
cmd.Flags().Bool("dry-run", false, "Print the ticket information instead of creating it")
return cmd
}
@ -87,6 +88,7 @@ func createJiraTicketStandaloneCmdF(cmd *cobra.Command, _ []string) error {
summary, _ := cmd.Flags().GetString("summary")
template, _ := cmd.Flags().GetString("template")
vars, _ := cmd.Flags().GetStringSlice("vars")
dryRun, _ := cmd.Flags().GetBool("dry-run")
if username == "" || token == "" {
cfg, err := config.ReadConfig()
@ -120,7 +122,7 @@ func createJiraTicketStandaloneCmdF(cmd *cobra.Command, _ []string) error {
}
ticket := &model.Ticket{Data: varMap}
issue, err := jiraClient.PublishTicket(ticket, campaign)
issue, err := jiraClient.PublishTicket(ticket, campaign, dryRun)
if err != nil {
ErrorAndExit(cmd, err)
}