Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
佳 邓
Gitlab4j Api
Commits
fdc2644b
Commit
fdc2644b
authored
Jul 19, 2018
by
Greg Messner
Browse files
Added ability to filter merge requests by project and IID (#212).
parent
d0464379
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/gitlab4j/api/MergeRequestApi.java
View file @
fdc2644b
...
@@ -47,9 +47,22 @@ public class MergeRequestApi extends AbstractApi {
...
@@ -47,9 +47,22 @@ public class MergeRequestApi extends AbstractApi {
* @throws GitLabApiException if any exception occurs
* @throws GitLabApiException if any exception occurs
*/
*/
public
List
<
MergeRequest
>
getMergeRequests
(
MergeRequestFilter
filter
,
int
page
,
int
perPage
)
throws
GitLabApiException
{
public
List
<
MergeRequest
>
getMergeRequests
(
MergeRequestFilter
filter
,
int
page
,
int
perPage
)
throws
GitLabApiException
{
MultivaluedMap
<
String
,
String
>
queryParams
=
(
filter
!=
null
?
MultivaluedMap
<
String
,
String
>
queryParams
=
(
filter
!=
null
?
filter
.
getQueryParams
(
page
,
perPage
).
asMap
()
:
getPageQueryParams
(
page
,
perPage
));
filter
.
getQueryParams
(
page
,
perPage
).
asMap
()
:
getPageQueryParams
(
page
,
perPage
));
Response
response
=
get
(
Response
.
Status
.
OK
,
queryParams
,
"merge_requests"
);
Response
response
;
if
(
filter
!=
null
&&
(
filter
.
getProjectId
()
!=
null
&&
filter
.
getProjectId
().
intValue
()
>
0
)
||
(
filter
.
getIids
()
!=
null
&&
filter
.
getIids
().
size
()
>
0
))
{
if
(
filter
.
getProjectId
()
==
null
||
filter
.
getProjectId
().
intValue
()
==
0
)
{
throw
new
RuntimeException
(
"project ID cannot be null or 0"
);
}
response
=
get
(
Response
.
Status
.
OK
,
queryParams
,
"projects"
,
filter
.
getProjectId
(),
"merge_requests"
);
}
else
{
response
=
get
(
Response
.
Status
.
OK
,
queryParams
,
"merge_requests"
);
}
return
(
response
.
readEntity
(
new
GenericType
<
List
<
MergeRequest
>>()
{}));
return
(
response
.
readEntity
(
new
GenericType
<
List
<
MergeRequest
>>()
{}));
}
}
...
@@ -64,8 +77,19 @@ public class MergeRequestApi extends AbstractApi {
...
@@ -64,8 +77,19 @@ public class MergeRequestApi extends AbstractApi {
* @throws GitLabApiException if any exception occurs
* @throws GitLabApiException if any exception occurs
*/
*/
public
Pager
<
MergeRequest
>
getMergeRequests
(
MergeRequestFilter
filter
,
int
itemsPerPage
)
throws
GitLabApiException
{
public
Pager
<
MergeRequest
>
getMergeRequests
(
MergeRequestFilter
filter
,
int
itemsPerPage
)
throws
GitLabApiException
{
MultivaluedMap
<
String
,
String
>
queryParams
=
(
filter
!=
null
?
filter
.
getQueryParams
().
asMap
()
:
null
);
MultivaluedMap
<
String
,
String
>
queryParams
=
(
filter
!=
null
?
filter
.
getQueryParams
().
asMap
()
:
null
);
return
(
new
Pager
<
MergeRequest
>(
this
,
MergeRequest
.
class
,
itemsPerPage
,
queryParams
,
"merge_requests"
));
if
(
filter
!=
null
&&
(
filter
.
getProjectId
()
!=
null
&&
filter
.
getProjectId
().
intValue
()
>
0
)
||
(
filter
.
getIids
()
!=
null
&&
filter
.
getIids
().
size
()
>
0
))
{
if
(
filter
.
getProjectId
()
==
null
||
filter
.
getProjectId
().
intValue
()
==
0
)
{
throw
new
RuntimeException
(
"project ID cannot be null or 0"
);
}
return
(
new
Pager
<
MergeRequest
>(
this
,
MergeRequest
.
class
,
itemsPerPage
,
queryParams
,
"projects"
,
filter
.
getProjectId
(),
"merge_requests"
));
}
else
{
return
(
new
Pager
<
MergeRequest
>(
this
,
MergeRequest
.
class
,
itemsPerPage
,
queryParams
,
"merge_requests"
));
}
}
}
/**
/**
...
...
src/main/java/org/gitlab4j/api/models/MergeRequestFilter.java
View file @
fdc2644b
...
@@ -17,6 +17,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
...
@@ -17,6 +17,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
*/
*/
public
class
MergeRequestFilter
{
public
class
MergeRequestFilter
{
private
Integer
projectId
;
private
List
<
Integer
>
iids
;
private
MergeRequestState
state
;
private
MergeRequestState
state
;
private
MergeRequestOrderBy
orderBy
;
private
MergeRequestOrderBy
orderBy
;
private
SortOrder
sort
;
private
SortOrder
sort
;
...
@@ -35,6 +37,32 @@ public class MergeRequestFilter {
...
@@ -35,6 +37,32 @@ public class MergeRequestFilter {
private
String
targetBranch
;
private
String
targetBranch
;
private
String
search
;
private
String
search
;
public
Integer
getProjectId
()
{
return
projectId
;
}
public
void
setProjectId
(
Integer
projectId
)
{
this
.
projectId
=
projectId
;
}
public
MergeRequestFilter
withProjectId
(
Integer
projectId
)
{
this
.
projectId
=
projectId
;
return
(
this
);
}
public
List
<
Integer
>
getIids
()
{
return
iids
;
}
public
void
setIids
(
List
<
Integer
>
iids
)
{
this
.
iids
=
iids
;
}
public
MergeRequestFilter
withIids
(
List
<
Integer
>
iids
)
{
this
.
iids
=
iids
;
return
(
this
);
}
public
MergeRequestState
getState
()
{
public
MergeRequestState
getState
()
{
return
state
;
return
state
;
}
}
...
@@ -266,6 +294,7 @@ public class MergeRequestFilter {
...
@@ -266,6 +294,7 @@ public class MergeRequestFilter {
@JsonIgnore
@JsonIgnore
public
GitLabApiForm
getQueryParams
()
{
public
GitLabApiForm
getQueryParams
()
{
return
(
new
GitLabApiForm
()
return
(
new
GitLabApiForm
()
.
withParam
(
"iids"
,
iids
)
.
withParam
(
"state"
,
state
)
.
withParam
(
"state"
,
state
)
.
withParam
(
"order_by"
,
orderBy
)
.
withParam
(
"order_by"
,
orderBy
)
.
withParam
(
"sort"
,
sort
)
.
withParam
(
"sort"
,
sort
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment