@@ -35,14 +35,24 @@ func main() {
3535 var method string
3636 flag .StringVar (& method , "m" , "" , "Specify method to retrieve projects infos, available methods:\n " +
3737 " > -m projects\n " +
38- " > -m project -id PROJECT_ID\n " +
39- " > -m hooks -id PROJECT_ID\n " +
40- " > -m branches -id PROJECT_ID\n " +
41- " > -m team -id PROJECT_ID" )
38+ " > -m project -id PROJECT_ID\n " +
39+ " > -m hooks -id PROJECT_ID\n " +
40+ " > -m branches -id PROJECT_ID\n " +
41+ " > -m team -id PROJECT_ID\n " +
42+ " > -m merge_requests -id PROJECT_ID [-state <all|merged|opened|closed>] [-order <created_at|updated_at>] [-sort <asc|desc>]" )
4243
4344 var id string
4445 flag .StringVar (& id , "id" , "" , "Specify repository id" )
4546
47+ var state string
48+ flag .StringVar (& state , "state" , "" , "Specify merge request state" )
49+
50+ var order string
51+ flag .StringVar (& order , "order" , "" , "Specify merge request order" )
52+
53+ var sort string
54+ flag .StringVar (& sort , "sort" , "" , "Specify merge request sort" )
55+
4656 flag .Usage = func () {
4757 fmt .Printf ("Usage:\n " )
4858 flag .PrintDefaults ()
@@ -158,5 +168,35 @@ func main() {
158168 for _ , member := range members {
159169 fmt .Printf ("> [%d] %s (%s) since %s\n " , member .Id , member .Username , member .Name , member .CreatedAt )
160170 }
171+
172+ case "merge_requests" :
173+ fmt .Println ("Fetching project merge requests..." )
174+
175+ if id == "" {
176+ flag .Usage ()
177+ return
178+ }
179+
180+ var params map [string ]string = make (map [string ]string )
181+ if state != "" {
182+ params ["state" ] = state
183+ }
184+ if order != "" {
185+ params ["order_by" ] = order
186+ }
187+ if sort != "" {
188+ params ["sort" ] = sort
189+ }
190+
191+ mrs , err := gitlab .ProjectMergeRequests (id , params )
192+ if err != nil {
193+ fmt .Println (err .Error ())
194+ return
195+ }
196+
197+ for _ , mr := range mrs {
198+ fmt .Printf ("> [%d] %s (+%d) by %s on %s.\n " , mr .Id , mr .Title , mr .Upvotes , mr .Author .Name , mr .CreatedAt )
199+ }
200+
161201 }
162202}
0 commit comments