@@ -47,9 +47,22 @@ public List<MergeRequest> getMergeRequests(MergeRequestFilter filter) throws Git
4747 * @throws GitLabApiException if any exception occurs
4848 */
4949 public List <MergeRequest > getMergeRequests (MergeRequestFilter filter , int page , int perPage ) throws GitLabApiException {
50+
5051 MultivaluedMap <String , String > queryParams = (filter != null ?
5152 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+
5366 return (response .readEntity (new GenericType <List <MergeRequest >>() {}));
5467 }
5568
@@ -64,8 +77,19 @@ public List<MergeRequest> getMergeRequests(MergeRequestFilter filter, int page,
6477 * @throws GitLabApiException if any exception occurs
6578 */
6679 public Pager <MergeRequest > getMergeRequests (MergeRequestFilter filter , int itemsPerPage ) throws GitLabApiException {
80+
6781 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+ }
6993 }
7094
7195 /**
0 commit comments