Skip to content

Commit 8f2f6f1

Browse files
author
Raphaël Benitte
committed
Add ability to create notes
1 parent 552d80e commit 8f2f6f1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+473
-1479
lines changed

README.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,13 +301,17 @@ for more info.
301301
- [glc add](#glc-add) *Add resource*
302302
- [glc add alias](#glc-add-alias) *Create resource alias*
303303
- [glc add group](#glc-add-group) *Create a new group*
304+
- [glc add group-epic-note](#glc-add-group-epic-note) *Add group epic note*
304305
- [glc add group-var](#glc-add-group-var) *Create a new group variable*
305306
- [glc add project](#glc-add-project) *Create a new project*
306307
- [glc add project-badge](#glc-add-project-badge) *Create project badge*
307308
- [glc add project-branch](#glc-add-project-branch) *Create project branch*
308309
- [glc add project-environment](#glc-add-project-environment) *Create project environment*
309310
- [glc add project-hook](#glc-add-project-hook) *Create a new hook for given project*
311+
- [glc add project-issue-note](#glc-add-project-issue-note) *Add project issue note*
312+
- [glc add project-merge-request-note](#glc-add-project-merge-request-note) *Add project issue note*
310313
- [glc add project-protected-branch](#glc-add-project-protected-branch) *Protect project branch*
314+
- [glc add project-snippet-note](#glc-add-project-snippet-note) *Add project snippet note*
311315
- [glc add project-star](#glc-add-project-star) *Stars a given project*
312316
- [glc add project-var](#glc-add-project-var) *Create a new project variable*
313317
- [glc ci-info](#glc-ci-info) *Print information about CI environment*
@@ -415,13 +419,17 @@ Add resource
415419

416420
- [glc add alias](#glc-add-alias) *Create resource alias*
417421
- [glc add group](#glc-add-group) *Create a new group*
422+
- [glc add group-epic-note](#glc-add-group-epic-note) *Add group epic note*
418423
- [glc add group-var](#glc-add-group-var) *Create a new group variable*
419424
- [glc add project](#glc-add-project) *Create a new project*
420425
- [glc add project-badge](#glc-add-project-badge) *Create project badge*
421426
- [glc add project-branch](#glc-add-project-branch) *Create project branch*
422427
- [glc add project-environment](#glc-add-project-environment) *Create project environment*
423428
- [glc add project-hook](#glc-add-project-hook) *Create a new hook for given project*
429+
- [glc add project-issue-note](#glc-add-project-issue-note) *Add project issue note*
430+
- [glc add project-merge-request-note](#glc-add-project-merge-request-note) *Add project issue note*
424431
- [glc add project-protected-branch](#glc-add-project-protected-branch) *Protect project branch*
432+
- [glc add project-snippet-note](#glc-add-project-snippet-note) *Add project snippet note*
425433
- [glc add project-star](#glc-add-project-star) *Stars a given project*
426434
- [glc add project-var](#glc-add-project-var) *Create a new project variable*
427435

@@ -503,6 +511,44 @@ glc add group [flags]
503511

504512

505513

514+
#### glc add group-epic-note
515+
516+
Add group epic note
517+
518+
##### Synopsis
519+
520+
Add group epic note
521+
522+
```
523+
glc add group-epic-note GROUP_ID EPIC_ID [flags]
524+
```
525+
526+
##### Options
527+
528+
```
529+
-h, --help help for group-epic-note
530+
```
531+
532+
##### Options inherited from parent commands
533+
534+
```
535+
-a, --alias string Use resource alias
536+
-c, --config string Path to configuration file (default ".glc.yml")
537+
--host string GitLab host
538+
-i, --interactive enable interactive mode when applicable (eg. creation, pagination)
539+
--no-color disable color output
540+
-o, --output-destination string Output result to file if specified
541+
-f, --output-format string Output format, must be one of 'text', 'json', 'yaml'
542+
--silent silent mode
543+
-v, --verbose verbose output
544+
```
545+
546+
##### See also
547+
548+
- [glc add](#glc-add) *Add resource*
549+
550+
551+
506552
#### glc add group-var
507553

508554
Create a new group variable
@@ -733,6 +779,82 @@ glc add project-hook PROJECT_ID [flags]
733779

734780

735781

782+
#### glc add project-issue-note
783+
784+
Add project issue note
785+
786+
##### Synopsis
787+
788+
Add project issue note
789+
790+
```
791+
glc add project-issue-note PROJECT_ID ISSUE_IID [flags]
792+
```
793+
794+
##### Options
795+
796+
```
797+
-h, --help help for project-issue-note
798+
```
799+
800+
##### Options inherited from parent commands
801+
802+
```
803+
-a, --alias string Use resource alias
804+
-c, --config string Path to configuration file (default ".glc.yml")
805+
--host string GitLab host
806+
-i, --interactive enable interactive mode when applicable (eg. creation, pagination)
807+
--no-color disable color output
808+
-o, --output-destination string Output result to file if specified
809+
-f, --output-format string Output format, must be one of 'text', 'json', 'yaml'
810+
--silent silent mode
811+
-v, --verbose verbose output
812+
```
813+
814+
##### See also
815+
816+
- [glc add](#glc-add) *Add resource*
817+
818+
819+
820+
#### glc add project-merge-request-note
821+
822+
Add project issue note
823+
824+
##### Synopsis
825+
826+
Add project issue note
827+
828+
```
829+
glc add project-merge-request-note PROJECT_ID MERGE_REQUEST_IID [flags]
830+
```
831+
832+
##### Options
833+
834+
```
835+
-h, --help help for project-merge-request-note
836+
```
837+
838+
##### Options inherited from parent commands
839+
840+
```
841+
-a, --alias string Use resource alias
842+
-c, --config string Path to configuration file (default ".glc.yml")
843+
--host string GitLab host
844+
-i, --interactive enable interactive mode when applicable (eg. creation, pagination)
845+
--no-color disable color output
846+
-o, --output-destination string Output result to file if specified
847+
-f, --output-format string Output format, must be one of 'text', 'json', 'yaml'
848+
--silent silent mode
849+
-v, --verbose verbose output
850+
```
851+
852+
##### See also
853+
854+
- [glc add](#glc-add) *Add resource*
855+
856+
857+
736858
#### glc add project-protected-branch
737859

738860
Protect project branch
@@ -771,6 +893,44 @@ glc add project-protected-branch PROJECT_ID BRANCH_NAME [flags]
771893

772894

773895

896+
#### glc add project-snippet-note
897+
898+
Add project snippet note
899+
900+
##### Synopsis
901+
902+
Add project snippet note
903+
904+
```
905+
glc add project-snippet-note PROJECT_ID SNIPPET_ID [flags]
906+
```
907+
908+
##### Options
909+
910+
```
911+
-h, --help help for project-snippet-note
912+
```
913+
914+
##### Options inherited from parent commands
915+
916+
```
917+
-a, --alias string Use resource alias
918+
-c, --config string Path to configuration file (default ".glc.yml")
919+
--host string GitLab host
920+
-i, --interactive enable interactive mode when applicable (eg. creation, pagination)
921+
--no-color disable color output
922+
-o, --output-destination string Output result to file if specified
923+
-f, --output-format string Output format, must be one of 'text', 'json', 'yaml'
924+
--silent silent mode
925+
-v, --verbose verbose output
926+
```
927+
928+
##### See also
929+
930+
- [glc add](#glc-add) *Add resource*
931+
932+
933+
774934
#### glc add project-star
775935

776936
Stars a given project

cli/cmd/add_group_epic_note_cmd.go

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package cmd
2+
3+
import (
4+
"strconv"
5+
6+
"github.com/fatih/color"
7+
"github.com/manifoldco/promptui"
8+
out "github.com/plouc/go-gitlab-client/cli/output"
9+
"github.com/plouc/go-gitlab-client/gitlab"
10+
"github.com/spf13/cobra"
11+
)
12+
13+
func init() {
14+
addCmd.AddCommand(addGroupEpicNoteCmd)
15+
}
16+
17+
var addGroupEpicNoteCmd = &cobra.Command{
18+
Use: resourceCmd("group-epic-note", "group-epic"),
19+
Aliases: []string{"epic-note"},
20+
Short: "Add group epic note",
21+
RunE: func(cmd *cobra.Command, args []string) error {
22+
ids, err := config.aliasIdsOrArgs(currentAlias, "group-epic", args)
23+
if err != nil {
24+
return err
25+
}
26+
27+
epicId, err := strconv.Atoi(ids["epic_id"])
28+
if err != nil {
29+
return err
30+
}
31+
32+
color.Yellow("Creating note for group epic (group id: %s, epic id: %d)…", ids["project_id"], epicId)
33+
34+
note := new(gitlab.NoteAddPayload)
35+
36+
prompt := promptui.Prompt{
37+
Label: "Body",
38+
}
39+
body, err := prompt.Run()
40+
if err != nil {
41+
return err
42+
}
43+
note.Body = body
44+
45+
loader.Start()
46+
createdNote, meta, err := client.AddGroupEpicNote(ids["project_id"], epicId, note)
47+
loader.Stop()
48+
if err != nil {
49+
return err
50+
}
51+
52+
out.Note(output, outputFormat, createdNote)
53+
54+
printMeta(meta, false)
55+
56+
return nil
57+
},
58+
}

cli/cmd/add_project_issue_note_cmd.go

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package cmd
2+
3+
import (
4+
"strconv"
5+
6+
"github.com/fatih/color"
7+
"github.com/manifoldco/promptui"
8+
out "github.com/plouc/go-gitlab-client/cli/output"
9+
"github.com/plouc/go-gitlab-client/gitlab"
10+
"github.com/spf13/cobra"
11+
)
12+
13+
func init() {
14+
addCmd.AddCommand(addProjectIssueNoteCmd)
15+
}
16+
17+
var addProjectIssueNoteCmd = &cobra.Command{
18+
Use: resourceCmd("project-issue-note", "project-issue"),
19+
Aliases: []string{"issue-note"},
20+
Short: "Add project issue note",
21+
RunE: func(cmd *cobra.Command, args []string) error {
22+
ids, err := config.aliasIdsOrArgs(currentAlias, "project-issue", args)
23+
if err != nil {
24+
return err
25+
}
26+
27+
issueIid, err := strconv.Atoi(ids["issue_iid"])
28+
if err != nil {
29+
return err
30+
}
31+
32+
color.Yellow("Creating note for project issue (project id: %s, issue iid: %d)…", ids["project_id"], issueIid)
33+
34+
note := new(gitlab.NoteAddPayload)
35+
36+
prompt := promptui.Prompt{
37+
Label: "Body",
38+
}
39+
body, err := prompt.Run()
40+
if err != nil {
41+
return err
42+
}
43+
note.Body = body
44+
45+
loader.Start()
46+
createdNote, meta, err := client.AddProjectIssueNote(ids["project_id"], issueIid, note)
47+
loader.Stop()
48+
if err != nil {
49+
return err
50+
}
51+
52+
out.Note(output, outputFormat, createdNote)
53+
54+
printMeta(meta, false)
55+
56+
return nil
57+
},
58+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package cmd
2+
3+
import (
4+
"strconv"
5+
6+
"github.com/fatih/color"
7+
"github.com/manifoldco/promptui"
8+
out "github.com/plouc/go-gitlab-client/cli/output"
9+
"github.com/plouc/go-gitlab-client/gitlab"
10+
"github.com/spf13/cobra"
11+
)
12+
13+
func init() {
14+
addCmd.AddCommand(addProjectMergeRequestNoteCmd)
15+
}
16+
17+
var addProjectMergeRequestNoteCmd = &cobra.Command{
18+
Use: resourceCmd("project-merge-request-note", "project-merge-request"),
19+
Aliases: []string{"merge-request-note", "mr-note"},
20+
Short: "Add project issue note",
21+
RunE: func(cmd *cobra.Command, args []string) error {
22+
ids, err := config.aliasIdsOrArgs(currentAlias, "project-merge-request", args)
23+
if err != nil {
24+
return err
25+
}
26+
27+
mergeRequestIid, err := strconv.Atoi(ids["merge_request_iid"])
28+
if err != nil {
29+
return err
30+
}
31+
32+
color.Yellow("Creating note for project merge request (project id: %s, merge request iid: %d)…", ids["project_id"], mergeRequestIid)
33+
34+
note := new(gitlab.NoteAddPayload)
35+
36+
prompt := promptui.Prompt{
37+
Label: "Body",
38+
}
39+
body, err := prompt.Run()
40+
if err != nil {
41+
return err
42+
}
43+
note.Body = body
44+
45+
loader.Start()
46+
createdNote, meta, err := client.AddProjectMergeRequestNote(ids["project_id"], mergeRequestIid, note)
47+
loader.Stop()
48+
if err != nil {
49+
return err
50+
}
51+
52+
out.Note(output, outputFormat, createdNote)
53+
54+
printMeta(meta, false)
55+
56+
return nil
57+
},
58+
}

0 commit comments

Comments
 (0)