@@ -47,9 +47,22 @@ public List<MergeRequest> getMergeRequests(MergeRequestFilter filter) throws Git
47
47
* @throws GitLabApiException if any exception occurs
48
48
*/
49
49
public List <MergeRequest > getMergeRequests (MergeRequestFilter filter , int page , int perPage ) throws GitLabApiException {
50
+
50
51
MultivaluedMap <String , String > queryParams = (filter != null ?
51
52
filter .getQueryParams (page , perPage ).asMap () : getPageQueryParams (page , perPage ));
52
- Response response = get (Response .Status .OK , queryParams , "merge_requests" );
53
+ Response response ;
54
+ if (filter != null && (filter .getProjectId () != null && filter .getProjectId ().intValue () > 0 ) ||
55
+ (filter .getIids () != null && filter .getIids ().size () > 0 )) {
56
+
57
+ if (filter .getProjectId () == null || filter .getProjectId ().intValue () == 0 ) {
58
+ throw new RuntimeException ("project ID cannot be null or 0" );
59
+ }
60
+
61
+ response = get (Response .Status .OK , queryParams , "projects" , filter .getProjectId (), "merge_requests" );
62
+ } else {
63
+ response = get (Response .Status .OK , queryParams , "merge_requests" );
64
+ }
65
+
53
66
return (response .readEntity (new GenericType <List <MergeRequest >>() {}));
54
67
}
55
68
@@ -64,8 +77,19 @@ public List<MergeRequest> getMergeRequests(MergeRequestFilter filter, int page,
64
77
* @throws GitLabApiException if any exception occurs
65
78
*/
66
79
public Pager <MergeRequest > getMergeRequests (MergeRequestFilter filter , int itemsPerPage ) throws GitLabApiException {
80
+
67
81
MultivaluedMap <String , String > queryParams = (filter != null ? filter .getQueryParams ().asMap () : null );
68
- return (new Pager <MergeRequest >(this , MergeRequest .class , itemsPerPage , queryParams , "merge_requests" ));
82
+ if (filter != null && (filter .getProjectId () != null && filter .getProjectId ().intValue () > 0 ) ||
83
+ (filter .getIids () != null && filter .getIids ().size () > 0 )) {
84
+
85
+ if (filter .getProjectId () == null || filter .getProjectId ().intValue () == 0 ) {
86
+ throw new RuntimeException ("project ID cannot be null or 0" );
87
+ }
88
+
89
+ return (new Pager <MergeRequest >(this , MergeRequest .class , itemsPerPage , queryParams , "projects" , filter .getProjectId (), "merge_requests" ));
90
+ } else {
91
+ return (new Pager <MergeRequest >(this , MergeRequest .class , itemsPerPage , queryParams , "merge_requests" ));
92
+ }
69
93
}
70
94
71
95
/**
0 commit comments