From e068d19ac1bbb692cebb628767c7ab33ff2fc1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 28 Dec 2020 17:33:51 +0100 Subject: [PATCH] issue_create: Add --milestone option Like labels, milestones are useful for both merge requests and issues, so add a corresponding option to the issue_create command. --- cmd/issue_create.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmd/issue_create.go b/cmd/issue_create.go index 31376246..029a3d8a 100644 --- a/cmd/issue_create.go +++ b/cmd/issue_create.go @@ -38,6 +38,10 @@ var issueCreateCmd = &cobra.Command{ if err != nil { log.Fatal(err) } + milestoneName, err := cmd.Flags().GetString("milestone") + if err != nil { + log.Fatal(err) + } templateName, err := cmd.Flags().GetString("template") if err != nil { log.Fatal(err) @@ -62,6 +66,15 @@ var issueCreateCmd = &cobra.Command{ log.Fatal(err) } + var milestoneID *int + if milestoneName != "" { + milestone, err := lab.MilestoneGet(rn, milestoneName) + if err != nil { + log.Fatal(err) + } + milestoneID = &milestone.ID + } + title, body, err := issueMsg(templateName, msgs) if err != nil { _, f, l, _ := runtime.Caller(0) @@ -86,6 +99,7 @@ var issueCreateCmd = &cobra.Command{ Description: &body, Labels: labels, AssigneeIDs: assigneeIDs, + MilestoneID: milestoneID, }) if err != nil { log.Fatal(err) @@ -148,6 +162,7 @@ func init() { issueCreateCmd.Flags().StringArrayP("message", "m", []string{}, "use the given ; multiple -m are concatenated as separate paragraphs") issueCreateCmd.Flags().StringSliceP("label", "l", []string{}, "set the given label(s) on the created issue") issueCreateCmd.Flags().StringSliceP("assignees", "a", []string{}, "set assignees by username") + issueCreateCmd.Flags().String("milestone", "", "set milestone by title") issueCreateCmd.Flags().StringP("template", "t", "default", "use the given issue template") issueCreateCmd.Flags().Bool("force-linebreak", false, "append 2 spaces to the end of each line to force markdown linebreaks")