summaryrefslogtreecommitdiff
path: root/cmd/generate
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2024-04-15 10:28:38 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2024-04-15 10:28:38 -0600
commit2eecb63488f04eb8faf2e94c9aa7fad0d7ce9623 (patch)
treeae2c3656de09fe0cad3939bfd9bba423a6c64f0b /cmd/generate
parentc6c919e31626495f94bab03951bda350ff4533bc (diff)
imworkingon: Fix merged status
Diffstat (limited to 'cmd/generate')
-rw-r--r--cmd/generate/src_contribs.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/cmd/generate/src_contribs.go b/cmd/generate/src_contribs.go
index 4cbaa4f..46683d3 100644
--- a/cmd/generate/src_contribs.go
+++ b/cmd/generate/src_contribs.go
@@ -73,12 +73,18 @@ func (c Contribution) fetchStatus() (string, error) {
urlStr := "https://api.github.com/repos/" + user + "/" + repo + "/pulls/" + prnum
var obj struct {
- State string `json:"state"`
+ // State values are "open" and "closed".
+ State string `json:"state"`
+ Merged bool `json:"merged"`
}
if err := httpGetJSON(urlStr, &obj); err != nil {
return "", err
}
- return obj.State, nil
+ ret := obj.State
+ if obj.Merged {
+ ret = "merged"
+ }
+ return ret, nil
}
if m := reGitLabMR.FindStringSubmatch(c.URLs[0]); m != nil {
authority := m[1]
@@ -88,12 +94,18 @@ func (c Contribution) fetchStatus() (string, error) {
urlStr := "https://" + authority + "/api/v4/projects/" + url.QueryEscape(projectID) + "/merge_requests/" + mrnum
var obj struct {
+ // State values are "opened", "closed", "locked", and "merged".
State string `json:"state"`
}
if err := httpGetJSON(urlStr, &obj); err != nil {
return "", err
}
- return obj.State, nil
+
+ ret := obj.State
+ if ret == "opened" {
+ ret = "open"
+ }
+ return ret, nil
}
if len(c.URLs) > 1 {
for _, u := range c.URLs[1:] {