Skip to content

Commit 446da4b

Browse files
committed
fix: better example for listing a PR or PRs
1 parent f4dbd5f commit 446da4b

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

scm/factory/examples/pr/main.go

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"strconv"
88

99
"github.com/ghodss/yaml"
10+
"github.com/jenkins-x/go-scm/scm"
1011
"github.com/pkg/errors"
1112

1213
"github.com/jenkins-x/go-scm/scm/factory"
@@ -15,27 +16,46 @@ import (
1516

1617
func main() {
1718
args := os.Args
18-
if len(args) < 3 {
19+
if len(args) < 2 {
1920
fmt.Printf("usage: org/repo prNumber")
2021
return
2122
}
2223
repo := args[1]
23-
prText := args[2]
24-
number, err := strconv.Atoi(prText)
24+
25+
client, err := factory.NewClientFromEnvironment()
2526
if err != nil {
26-
helpers.Fail(errors.Wrapf(err, "failed to parse PR number: %s", prText))
27+
helpers.Fail(err)
2728
return
2829
}
30+
ctx := context.Background()
2931

30-
client, err := factory.NewClientFromEnvironment()
32+
if len(args) < 3 {
33+
fmt.Printf("Getting PRs\n")
34+
35+
prs, _, err := client.PullRequests.List(ctx, repo, scm.PullRequestListOptions{})
36+
if err != nil {
37+
helpers.Fail(err)
38+
return
39+
}
40+
for _, pr := range prs {
41+
fmt.Printf("Found PullRequest:\n")
42+
data, err := yaml.Marshal(pr)
43+
if err != nil {
44+
helpers.Fail(errors.Wrap(err, "failed to marshal PR as YAML"))
45+
return
46+
}
47+
fmt.Printf("%s:\n", string(data))
48+
}
49+
}
50+
prText := args[2]
51+
number, err := strconv.Atoi(prText)
3152
if err != nil {
32-
helpers.Fail(err)
53+
helpers.Fail(errors.Wrapf(err, "failed to parse PR number: %s", prText))
3354
return
3455
}
3556

36-
fmt.Printf("Getting PRs\n")
57+
fmt.Printf("Getting PR\n")
3758

38-
ctx := context.Background()
3959
pr, _, err := client.PullRequests.Find(ctx, repo, number)
4060
if err != nil {
4161
helpers.Fail(err)

0 commit comments

Comments
 (0)