Adds pseudocode for the create jira ticket standalone command
This commit is contained in:
parent
460bb69f38
commit
16a8dd9681
1 changed files with 39 additions and 3 deletions
|
@ -22,7 +22,7 @@ func CreateJiraTicketStandaloneCmd() *cobra.Command {
|
||||||
Use: "create-jira-ticket",
|
Use: "create-jira-ticket",
|
||||||
Short: "Creates a jira ticket from a template",
|
Short: "Creates a jira ticket from a template",
|
||||||
Args: cobra.NoArgs,
|
Args: cobra.NoArgs,
|
||||||
Run: createJiraTicketStandaloneCmdF,
|
RunE: createJiraTicketStandaloneCmdF,
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Flags().StringP("username", "u", "", "the jira username")
|
cmd.Flags().StringP("username", "u", "", "the jira username")
|
||||||
|
@ -38,6 +38,42 @@ func CreateJiraTicketStandaloneCmd() *cobra.Command {
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func createJiraTicketStandaloneCmdF(cmd *cobra.Command, _ []string) {
|
func getVarMap(vars []string) (map[string]string, error) {
|
||||||
|
varMap := map[string]string{}
|
||||||
|
for _, var := range vars {
|
||||||
|
parts := strings.Split(var, "=")
|
||||||
|
if len(parts) < 2 {
|
||||||
|
return nil, fmt.Errorf("cannot parse var %s", var)
|
||||||
|
}
|
||||||
|
varMap[parts[0]] = strings.Join(parts[1:], "")
|
||||||
|
}
|
||||||
|
return varMap, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func createJiraTicketStandaloneCmdF(cmd *cobra.Command, _ []string) error {
|
||||||
|
username, _ = cmd.Flags().GetString("username")
|
||||||
|
token, _ = cmd.Flags().GetString("token")
|
||||||
|
summary, _ = cmd.Flags().GetString("summary")
|
||||||
|
template, _ = cmd.Flags().GetString("template")
|
||||||
|
vars, _ = cmd.Flags().GetStringSlice("vars")
|
||||||
|
|
||||||
|
varMap, err = getVarMap(vars)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("error processing vars: %w")
|
||||||
|
}
|
||||||
|
|
||||||
|
// process template
|
||||||
|
description := TBD()
|
||||||
|
|
||||||
|
jiraClient, err := jira.NewClient(username, token)
|
||||||
|
if err != nil {
|
||||||
|
ErrorAndExit(cmd, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ticketKey, err := jiraClient.CreateTicket(summary, description)
|
||||||
|
if err != nil {
|
||||||
|
ErrorAndExit(cmd, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.Printf("Ticket %s successfully created in JIRA")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue