From 015b9f7fea68cbbeb324556f2101d57f73a544db Mon Sep 17 00:00:00 2001 From: keijun-kumagai Date: Tue, 11 Jan 2022 01:49:19 +0900 Subject: [PATCH] fix(release): discussion category with assets --- pkg/cmd/release/create/create.go | 7 ++++++- pkg/cmd/release/create/http.go | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/cmd/release/create/create.go b/pkg/cmd/release/create/create.go index 1b834373f..bdfdf1460 100644 --- a/pkg/cmd/release/create/create.go +++ b/pkg/cmd/release/create/create.go @@ -418,7 +418,12 @@ func createRun(opts *CreateOptions) error { } if !opts.Draft { - rel, err := publishRelease(httpClient, newRelease.APIURL) + params := map[string]interface{}{} + params["draft"] = false + if opts.DiscussionCategory != "" { + params["discussion_category_name"] = opts.DiscussionCategory + } + rel, err := publishRelease(httpClient, newRelease.APIURL, params) if err != nil { return err } diff --git a/pkg/cmd/release/create/http.go b/pkg/cmd/release/create/http.go index fb082cd79..058b38c5b 100644 --- a/pkg/cmd/release/create/http.go +++ b/pkg/cmd/release/create/http.go @@ -134,8 +134,9 @@ func createRelease(httpClient *http.Client, repo ghrepo.Interface, params map[st return &newRelease, err } -func publishRelease(httpClient *http.Client, releaseURL string) (*shared.Release, error) { - req, err := http.NewRequest("PATCH", releaseURL, bytes.NewBufferString(`{"draft":false}`)) +func publishRelease(httpClient *http.Client, releaseURL string, params map[string]interface{}) (*shared.Release, error) { + bodyBytes, err := json.Marshal(params) + req, err := http.NewRequest("PATCH", releaseURL, bytes.NewBuffer(bodyBytes)) if err != nil { return nil, err }