mirror of
https://gitea.com/gitea/tea.git
synced 2025-01-10 10:10:58 +01:00
release create: Add --note-file flag to read release notes from a file (#678)
Add a `--note-file` argument to pass a file with multi-line release notes instead of trying to pass as an argument using `--note`. Co-authored-by: Lunny Xiao <lunny@noreply.gitea.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-on: https://gitea.com/gitea/tea/pulls/678 Reviewed-by: Lunny Xiao <lunny@noreply.gitea.com> Co-authored-by: Nithin Philips <nithin@nithinphilips.com> Co-committed-by: Nithin Philips <nithin@nithinphilips.com>
This commit is contained in:
parent
54b3f8e5b2
commit
f3fe2a0532
@ -43,6 +43,11 @@ var CmdReleaseCreate = cli.Command{
|
|||||||
Aliases: []string{"n"},
|
Aliases: []string{"n"},
|
||||||
Usage: "Release notes",
|
Usage: "Release notes",
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "note-file",
|
||||||
|
Aliases: []string{"f"},
|
||||||
|
Usage: "Release notes file name. If set, --note is ignored.",
|
||||||
|
},
|
||||||
&cli.BoolFlag{
|
&cli.BoolFlag{
|
||||||
Name: "draft",
|
Name: "draft",
|
||||||
Aliases: []string{"d"},
|
Aliases: []string{"d"},
|
||||||
@ -73,15 +78,24 @@ func runReleaseCreate(cmd *cli.Context) error {
|
|||||||
tag = cmd.Args().First()
|
tag = cmd.Args().First()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notestring := ctx.String("note")
|
||||||
|
notefile := ctx.String("note-file")
|
||||||
|
if notefile != "" {
|
||||||
|
notebytes, err := os.ReadFile(notefile)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("unable to read the note file")
|
||||||
|
}
|
||||||
|
notestring = string(notebytes)
|
||||||
|
}
|
||||||
|
|
||||||
release, resp, err := ctx.Login.Client().CreateRelease(ctx.Owner, ctx.Repo, gitea.CreateReleaseOption{
|
release, resp, err := ctx.Login.Client().CreateRelease(ctx.Owner, ctx.Repo, gitea.CreateReleaseOption{
|
||||||
TagName: tag,
|
TagName: tag,
|
||||||
Target: ctx.String("target"),
|
Target: ctx.String("target"),
|
||||||
Title: ctx.String("title"),
|
Title: ctx.String("title"),
|
||||||
Note: ctx.String("note"),
|
Note: notestring,
|
||||||
IsDraft: ctx.Bool("draft"),
|
IsDraft: ctx.Bool("draft"),
|
||||||
IsPrerelease: ctx.Bool("prerelease"),
|
IsPrerelease: ctx.Bool("prerelease"),
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if resp != nil && resp.StatusCode == http.StatusConflict {
|
if resp != nil && resp.StatusCode == http.StatusConflict {
|
||||||
return fmt.Errorf("There already is a release for this tag")
|
return fmt.Errorf("There already is a release for this tag")
|
||||||
|
@ -737,6 +737,8 @@ Create a release
|
|||||||
|
|
||||||
**--note, -n**="": Release notes
|
**--note, -n**="": Release notes
|
||||||
|
|
||||||
|
**--note-file, -f**="": Release notes file name. If set, --note is ignored.
|
||||||
|
|
||||||
**--output, -o**="": Output format. (simple, table, csv, tsv, yaml, json)
|
**--output, -o**="": Output format. (simple, table, csv, tsv, yaml, json)
|
||||||
|
|
||||||
**--prerelease, -p**: Is a pre-release
|
**--prerelease, -p**: Is a pre-release
|
||||||
|
Loading…
Reference in New Issue
Block a user