Skip to content

Commit f65324b

Browse files
committed
Move release function to own file
1 parent fc2f61a commit f65324b

File tree

2 files changed

+51
-41
lines changed

2 files changed

+51
-41
lines changed

pkg/gh/issues.go

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -111,44 +111,3 @@ type Comment struct {
111111
// The username of the user who made the comment. This is optional.
112112
Username string `json:"username,omitempty"`
113113
}
114-
115-
func CreateDraftRelease(owner, repo, title, body, tag string, conf *config.Config) error {
116-
if conf.GHToken == "" {
117-
return fmt.Errorf("no GitHub token found")
118-
}
119-
120-
releaseURL := fmt.Sprintf("https://api.github.com/repos/%s/%s/releases", owner, repo)
121-
data := map[string]interface{}{
122-
"title": title,
123-
"body": body,
124-
"tag_name": tag,
125-
"draft": true,
126-
"prerelease": false,
127-
}
128-
129-
payload, err := json.Marshal(data)
130-
if err != nil {
131-
return err
132-
}
133-
134-
releaseReq, err := http.NewRequest("POST", releaseURL, strings.NewReader(string(payload)))
135-
if err != nil {
136-
return err
137-
}
138-
139-
releaseReq.Header.Set("Authorization", fmt.Sprintf("Bearer %s", conf.GHToken))
140-
releaseReq.Header.Set("Content-Type", "application/json")
141-
142-
client := &http.Client{}
143-
releaseResp, err := client.Do(releaseReq)
144-
if err != nil {
145-
return err
146-
}
147-
defer releaseResp.Body.Close()
148-
149-
if releaseResp.StatusCode != http.StatusCreated {
150-
return fmt.Errorf("failed to create release draft: %s", releaseResp.Status)
151-
}
152-
153-
return nil
154-
}

pkg/gh/release.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package gh
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"net/http"
7+
"strings"
8+
9+
"github.com/chand1012/ottodocs/pkg/config"
10+
)
11+
12+
func CreateDraftRelease(owner, repo, title, body, tag string, conf *config.Config) error {
13+
if conf.GHToken == "" {
14+
return fmt.Errorf("no GitHub token found")
15+
}
16+
17+
releaseURL := fmt.Sprintf("https://api.github.com/repos/%s/%s/releases", owner, repo)
18+
data := map[string]interface{}{
19+
"title": title,
20+
"body": body,
21+
"tag_name": tag,
22+
"draft": true,
23+
"prerelease": false,
24+
}
25+
26+
payload, err := json.Marshal(data)
27+
if err != nil {
28+
return err
29+
}
30+
31+
releaseReq, err := http.NewRequest("POST", releaseURL, strings.NewReader(string(payload)))
32+
if err != nil {
33+
return err
34+
}
35+
36+
releaseReq.Header.Set("Authorization", fmt.Sprintf("Bearer %s", conf.GHToken))
37+
releaseReq.Header.Set("Content-Type", "application/json")
38+
39+
client := &http.Client{}
40+
releaseResp, err := client.Do(releaseReq)
41+
if err != nil {
42+
return err
43+
}
44+
defer releaseResp.Body.Close()
45+
46+
if releaseResp.StatusCode != http.StatusCreated {
47+
return fmt.Errorf("failed to create release draft: %s", releaseResp.Status)
48+
}
49+
50+
return nil
51+
}

0 commit comments

Comments
 (0)