7
7
"strconv"
8
8
9
9
"github.com/ghodss/yaml"
10
+ "github.com/jenkins-x/go-scm/scm"
10
11
"github.com/pkg/errors"
11
12
12
13
"github.com/jenkins-x/go-scm/scm/factory"
@@ -15,27 +16,46 @@ import (
15
16
16
17
func main () {
17
18
args := os .Args
18
- if len (args ) < 3 {
19
+ if len (args ) < 2 {
19
20
fmt .Printf ("usage: org/repo prNumber" )
20
21
return
21
22
}
22
23
repo := args [1 ]
23
- prText := args [ 2 ]
24
- number , err := strconv . Atoi ( prText )
24
+
25
+ client , err := factory . NewClientFromEnvironment ( )
25
26
if err != nil {
26
- helpers .Fail (errors . Wrapf ( err , "failed to parse PR number: %s" , prText ) )
27
+ helpers .Fail (err )
27
28
return
28
29
}
30
+ ctx := context .Background ()
29
31
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 )
31
52
if err != nil {
32
- helpers .Fail (err )
53
+ helpers .Fail (errors . Wrapf ( err , "failed to parse PR number: %s" , prText ) )
33
54
return
34
55
}
35
56
36
- fmt .Printf ("Getting PRs \n " )
57
+ fmt .Printf ("Getting PR \n " )
37
58
38
- ctx := context .Background ()
39
59
pr , _ , err := client .PullRequests .Find (ctx , repo , number )
40
60
if err != nil {
41
61
helpers .Fail (err )
0 commit comments