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
63d7192b
Commit
63d7192b
authored
May 02, 2020
by
Greg Messner
Browse files
Added support for merge request diff versions (#562)
parent
76900ce0
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/gitlab4j/api/MergeRequestApi.java
View file @
63d7192b
...
...
@@ -17,6 +17,7 @@ import org.gitlab4j.api.models.ApprovalState;
import
org.gitlab4j.api.models.Commit
;
import
org.gitlab4j.api.models.Issue
;
import
org.gitlab4j.api.models.MergeRequest
;
import
org.gitlab4j.api.models.MergeRequestDiff
;
import
org.gitlab4j.api.models.MergeRequestFilter
;
import
org.gitlab4j.api.models.MergeRequestParams
;
import
org.gitlab4j.api.models.Participant
;
...
...
@@ -388,6 +389,50 @@ public class MergeRequestApi extends AbstractApi {
return
(
getCommits
(
projectIdOrPath
,
mergeRequestIid
,
getDefaultPerPage
()).
stream
());
}
/**
* Get a list of merge request diff versions.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/versions</code></pre>
*
* @param projectIdOrPath the project in the form of an Integer(ID), String(path), or Project instance
* @param mergeRequestIid the internal ID of the merge request
* @return a List of merge request diff versions for the specified merge request
* @throws GitLabApiException if any exception occurs
*/
public
List
<
MergeRequestDiff
>
getMergeRequestDiffs
(
Object
projectIdOrPath
,
Integer
mergeRequestIid
)
throws
GitLabApiException
{
return
(
getMergeRequestDiffs
(
projectIdOrPath
,
mergeRequestIid
,
getDefaultPerPage
()).
all
());
}
/**
* Get a Pager of merge request diff versions.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/versions</code></pre>
*
* @param projectIdOrPath the project in the form of an Integer(ID), String(path), or Project instance
* @param mergeRequestIid the internal ID of the merge request
* @param itemsPerPage the number of MergeRequest instances that will be fetched per page
* @return a Pager of merge request diff versions for the specified merge request
* @throws GitLabApiException if any exception occurs
*/
public
Pager
<
MergeRequestDiff
>
getMergeRequestDiffs
(
Object
projectIdOrPath
,
Integer
mergeRequestIid
,
int
itemsPerPage
)
throws
GitLabApiException
{
return
(
new
Pager
<
MergeRequestDiff
>(
this
,
MergeRequestDiff
.
class
,
itemsPerPage
,
null
,
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"merge_requests"
,
mergeRequestIid
,
"versions"
));
}
/**
* Get a Stream of merge request diff versions.
*
* <pre><code>GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/versions</code></pre>
*
* @param projectIdOrPath the project in the form of an Integer(ID), String(path), or Project instance
* @param mergeRequestIid the internal ID of the merge request
* @return a Stream of merge request diff versions for the specified merge request
* @throws GitLabApiException if any exception occurs
*/
public
Stream
<
MergeRequestDiff
>
getMergeRequestDiffsStream
(
Object
projectIdOrPath
,
Integer
mergeRequestIid
)
throws
GitLabApiException
{
return
(
getMergeRequestDiffs
(
projectIdOrPath
,
mergeRequestIid
,
getDefaultPerPage
()).
stream
());
}
/**
* Creates a merge request.
*
...
...
src/main/java/org/gitlab4j/api/models/MergeRequestDiff.java
View file @
63d7192b
...
...
@@ -2,7 +2,6 @@ package org.gitlab4j.api.models;
import
java.util.Date
;
import
org.gitlab4j.api.Constants.MergeRequestState
;
import
org.gitlab4j.api.utils.JacksonJson
;
public
class
MergeRequestDiff
{
...
...
@@ -13,7 +12,7 @@ public class MergeRequestDiff {
private
String
startCommitSha
;
private
Date
createdAt
;
private
Integer
mergeRequestId
;
private
MergeRequestState
state
;
private
String
state
;
private
String
realSize
;
public
Integer
getId
()
{
...
...
@@ -64,11 +63,11 @@ public class MergeRequestDiff {
this
.
mergeRequestId
=
mergeRequestId
;
}
public
MergeRequestState
getState
()
{
public
String
getState
()
{
return
state
;
}
public
void
setState
(
MergeRequestState
state
)
{
public
void
setState
(
String
state
)
{
this
.
state
=
state
;
}
...
...
src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java
View file @
63d7192b
...
...
@@ -74,6 +74,7 @@ import org.gitlab4j.api.models.Label;
import
org.gitlab4j.api.models.LabelEvent
;
import
org.gitlab4j.api.models.Member
;
import
org.gitlab4j.api.models.MergeRequest
;
import
org.gitlab4j.api.models.MergeRequestDiff
;
import
org.gitlab4j.api.models.Milestone
;
import
org.gitlab4j.api.models.Note
;
import
org.gitlab4j.api.models.NotificationSettings
;
...
...
@@ -538,6 +539,12 @@ public class TestGitLabApiBeans {
assertTrue
(
compareJson
(
mergeRequest
,
"merge-request.json"
));
}
@Test
public
void
testMergeRequestDiffs
()
throws
Exception
{
List
<
MergeRequestDiff
>
diffs
=
unmarshalResourceList
(
MergeRequestDiff
.
class
,
"merge-request-diffs.json"
);
assertTrue
(
compareJson
(
diffs
,
"merge-request-diffs.json"
));
}
@Test
public
void
testMilestone
()
throws
Exception
{
Milestone
milestone
=
unmarshalResource
(
Milestone
.
class
,
"milestone.json"
);
...
...
src/test/resources/org/gitlab4j/api/merge-request-diffs.json
0 → 100644
View file @
63d7192b
[{
"id"
:
110
,
"head_commit_sha"
:
"33e2ee8579fda5bc36accc9c6fbd0b4fefda9e30"
,
"base_commit_sha"
:
"eeb57dffe83deb686a60a71c16c32f71046868fd"
,
"start_commit_sha"
:
"eeb57dffe83deb686a60a71c16c32f71046868fd"
,
"created_at"
:
"2016-07-26T14:44:48.926Z"
,
"merge_request_id"
:
105
,
"state"
:
"collected"
,
"real_size"
:
"1"
},
{
"id"
:
108
,
"head_commit_sha"
:
"3eed087b29835c48015768f839d76e5ea8f07a24"
,
"base_commit_sha"
:
"eeb57dffe83deb686a60a71c16c32f71046868fd"
,
"start_commit_sha"
:
"eeb57dffe83deb686a60a71c16c32f71046868fd"
,
"created_at"
:
"2016-07-25T14:21:33.028Z"
,
"merge_request_id"
:
105
,
"state"
:
"collected"
,
"real_size"
:
"1"
}]
\ No newline at end of file
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