Class MergeRequestApi
- java.lang.Object
-
- org.gitlab4j.api.AbstractApi
-
- org.gitlab4j.api.MergeRequestApi
-
- All Implemented Interfaces:
Constants
public class MergeRequestApi extends AbstractApi
This class implements the client side API for the GitLab merge request calls.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.gitlab4j.api.Constants
Constants.ActionType, Constants.ApplicationScope, Constants.ArchiveFormat, Constants.CommitBuildState, Constants.Encoding, Constants.EpicOrderBy, Constants.GroupOrderBy, Constants.ImpersonationState, Constants.IssueOrderBy, Constants.IssueScope, Constants.IssueState, Constants.JobScope, Constants.LineType, Constants.MergeRequestOrderBy, Constants.MergeRequestScope, Constants.MergeRequestState, Constants.MilestoneState, Constants.PipelineOrderBy, Constants.PipelineScope, Constants.ProjectOrderBy, Constants.SortOrder, Constants.StateEvent, Constants.TargetType, Constants.TokenType
-
-
Field Summary
-
Fields inherited from interface org.gitlab4j.api.Constants
NEXT_PAGE_HEADER, PAGE_HEADER, PAGE_PARAM, PER_PAGE, PER_PAGE_PARAM, PREV_PAGE_HEADER, TOTAL_HEADER, TOTAL_PAGES_HEADER
-
-
Constructor Summary
Constructors Constructor Description MergeRequestApi(GitLabApi gitLabApi)
-
Method Summary
Modifier and Type Method Description MergeRequest
acceptMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Merge changes to the merge request.MergeRequest
acceptMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String mergeCommitMessage, Boolean shouldRemoveSourceBranch, Boolean mergeWhenPipelineSucceeds)
Merge changes to the merge request.MergeRequest
acceptMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String mergeCommitMessage, Boolean shouldRemoveSourceBranch, Boolean mergeWhenPipelineSucceeds, String sha)
Merge changes to the merge request.MergeRequest
approveMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String sha)
Approve a merge request.MergeRequest
cancelMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Cancel merge when pipeline succeeds.MergeRequest
createMergeRequest(Object projectIdOrPath, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId)
Creates a merge request and optionally assigns a reviewer to it.MergeRequest
createMergeRequest(Object projectIdOrPath, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId, Integer targetProjectId, String[] labels, Integer milestoneId, Boolean removeSourceBranch)
Creates a merge request and optionally assigns a reviewer to it.MergeRequest
createMergeRequest(Object projectIdOrPath, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId, Integer targetProjectId, String[] labels, Integer milestoneId, Boolean removeSourceBranch, Boolean squash)
Creates a merge request and optionally assigns a reviewer to it.void
deleteMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Only for admins and project owners.List<Issue>
getClosesIssues(Object projectIdOrPath, Integer mergeRequestIid)
Get list containing all the issues that would be closed by merging the provided merge request.Pager<Issue>
getClosesIssues(Object projectIdOrPath, Integer mergeRequestIid, int itemsPerPage)
Get a Pager containing all the issues that would be closed by merging the provided merge request.List<Issue>
getClosesIssues(Object projectIdOrPath, Integer mergeRequestIid, int page, int perPage)
Get list containing all the issues that would be closed by merging the provided merge request.Stream<Issue>
getClosesIssuesStream(Object projectIdOrPath, Integer mergeRequestIid)
Get Stream containing all the issues that would be closed by merging the provided merge request.List<Commit>
getCommits(Object projectIdOrPath, int mergeRequestIid)
Get a list of merge request commits.Pager<Commit>
getCommits(Object projectIdOrPath, int mergeRequestIid, int itemsPerPage)
Get a Pager of merge request commits.List<Commit>
getCommits(Object projectIdOrPath, int mergeRequestIid, int page, int perPage)
Get a list of merge request commits.Stream<Commit>
getCommitsStream(Object projectIdOrPath, int mergeRequestIid)
Get a Stream of merge request commits.MergeRequest
getMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Get information about a single merge request.MergeRequest
getMergeRequestApprovals(Object projectIdOrPath, Integer mergeRequestIid)
Get the merge request with approval information.MergeRequest
getMergeRequestChanges(Object projectIdOrPath, Integer mergeRequestIid)
Get merge request with changes information.List<MergeRequest>
getMergeRequests(Object projectIdOrPath)
Get all merge requests for the specified project.Pager<MergeRequest>
getMergeRequests(Object projectIdOrPath, int itemsPerPage)
Get all merge requests for the specified project.List<MergeRequest>
getMergeRequests(Object projectIdOrPath, int page, int perPage)
Get all merge requests for the specified project.List<MergeRequest>
getMergeRequests(Object projectIdOrPath, Constants.MergeRequestState state)
Get all merge requests with a specific state for the specified project.Pager<MergeRequest>
getMergeRequests(Object projectIdOrPath, Constants.MergeRequestState state, int itemsPerPage)
Get all merge requests for the specified project.List<MergeRequest>
getMergeRequests(Object projectIdOrPath, Constants.MergeRequestState state, int page, int perPage)
Get all merge requests for the specified project.List<MergeRequest>
getMergeRequests(MergeRequestFilter filter)
Get all merge requests matching the filter.Pager<MergeRequest>
getMergeRequests(MergeRequestFilter filter, int itemsPerPage)
Get all merge requests matching the filter.List<MergeRequest>
getMergeRequests(MergeRequestFilter filter, int page, int perPage)
Get all merge requests matching the filter.Stream<MergeRequest>
getMergeRequestsStream(Object projectIdOrPath)
Get all merge requests for the specified project as a StreamStream<MergeRequest>
getMergeRequestsStream(Object projectIdOrPath, Constants.MergeRequestState state)
Get all merge requests with a specific state for the specified project as a Stream.Stream<MergeRequest>
getMergeRequestsStream(MergeRequestFilter filter)
Get all merge requests matching the filter as a Stream.Optional<MergeRequest>
getOptionalMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Get information about a single merge request as an Optional instance.List<Participant>
getParticipants(Object projectIdOrPath, Integer mergeRequestIid)
Get list of participants of merge request.Pager<Participant>
getParticipants(Object projectIdOrPath, Integer mergeRequestIid, int itemsPerPage)
Get a Pager of the participants of merge request.List<Participant>
getParticipants(Object projectIdOrPath, Integer mergeRequestIid, int page, int perPage)
Get list of participants of merge request and in the specified page range.Stream<Participant>
getParticipantsStream(Object projectIdOrPath, Integer mergeRequestIid)
Get Stream of participants of merge request.MergeRequest
unapproveMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Unapprove a merge request.MergeRequest
updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String targetBranch, String title, Integer assigneeId, String description, Constants.StateEvent stateEvent, String labels, Integer milestoneId)
Deprecated.MergeRequest
updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String targetBranch, String title, Integer assigneeId, String description, Constants.StateEvent stateEvent, String labels, Integer milestoneId, Boolean removeSourceBranch, Boolean squash, Boolean discussionLocked, Boolean allowCollaboration)
Updates an existing merge request.MergeRequest
updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId)
Deprecated.as of release 4.4.3protected MergeRequest
updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, javax.ws.rs.core.Form formData)
-
Methods inherited from class org.gitlab4j.api.AbstractApi
addFormParam, addFormParam, delete, delete, get, get, getApiClient, getApiVersion, getDefaultPerPage, getDefaultPerPageParam, getDefaultPerPageParam, getGroupIdOrPath, getPageQueryParams, getPageQueryParams, getPerPageQueryParam, getProjectIdOrPath, getUserIdOrUsername, getWithAccepts, handle, head, isApiVersion, post, post, post, post, post, put, put, putUpload, putUpload, putWithFormData, upload, upload, upload, urlEncode, validate
-
-
-
-
Constructor Detail
-
MergeRequestApi
public MergeRequestApi(GitLabApi gitLabApi)
-
-
Method Detail
-
getMergeRequests
public List<MergeRequest> getMergeRequests(MergeRequestFilter filter) throws GitLabApiException
Get all merge requests matching the filter.GitLab Endpoint: GET /merge_requests
- Parameters:
filter
- a MergeRequestFilter instance with the filter settings- Returns:
- all merge requests for the specified project matching the filter
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public List<MergeRequest> getMergeRequests(MergeRequestFilter filter, int page, int perPage) throws GitLabApiException
Get all merge requests matching the filter.GitLab Endpoint: GET /merge_requests
- Parameters:
filter
- a MergeRequestFilter instance with the filter settingspage
- the page to getperPage
- the number of MergeRequest instances per page- Returns:
- all merge requests for the specified project matching the filter
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public Pager<MergeRequest> getMergeRequests(MergeRequestFilter filter, int itemsPerPage) throws GitLabApiException
Get all merge requests matching the filter.GitLab Endpoint: GET /merge_requests
- Parameters:
filter
- a MergeRequestFilter instance with the filter settingsitemsPerPage
- the number of MergeRequest instances that will be fetched per page- Returns:
- all merge requests for the specified project matching the filter
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequestsStream
public Stream<MergeRequest> getMergeRequestsStream(MergeRequestFilter filter) throws GitLabApiException
Get all merge requests matching the filter as a Stream.GitLab Endpoint: GET /merge_requests
- Parameters:
filter
- a MergeRequestFilter instance with the filter settings- Returns:
- a Stream containing all the merge requests for the specified project matching the filter
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public List<MergeRequest> getMergeRequests(Object projectIdOrPath) throws GitLabApiException
Get all merge requests for the specified project.GitLab Endpoint: GET /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instance- Returns:
- all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public List<MergeRequest> getMergeRequests(Object projectIdOrPath, int page, int perPage) throws GitLabApiException
Get all merge requests for the specified project.GitLab Endpoint: GET /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancepage
- the page to getperPage
- the number of MergeRequest instances per page- Returns:
- all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public Pager<MergeRequest> getMergeRequests(Object projectIdOrPath, int itemsPerPage) throws GitLabApiException
Get all merge requests for the specified project.GitLab Endpoint: GET /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instanceitemsPerPage
- the number of MergeRequest instances that will be fetched per page- Returns:
- all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequestsStream
public Stream<MergeRequest> getMergeRequestsStream(Object projectIdOrPath) throws GitLabApiException
Get all merge requests for the specified project as a StreamGitLab Endpoint: GET /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instance- Returns:
- a Stream with all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public List<MergeRequest> getMergeRequests(Object projectIdOrPath, Constants.MergeRequestState state) throws GitLabApiException
Get all merge requests with a specific state for the specified project.GitLab Endpoint: GET /projects/:id/merge_requests?state=:state
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancestate
- the state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all).- Returns:
- all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public List<MergeRequest> getMergeRequests(Object projectIdOrPath, Constants.MergeRequestState state, int page, int perPage) throws GitLabApiException
Get all merge requests for the specified project.GitLab Endpoint: GET /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancestate
- the state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all).page
- the page to getperPage
- the number of MergeRequest instances per page- Returns:
- all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequests
public Pager<MergeRequest> getMergeRequests(Object projectIdOrPath, Constants.MergeRequestState state, int itemsPerPage) throws GitLabApiException
Get all merge requests for the specified project.GitLab Endpoint: GET /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancestate
- the state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all).itemsPerPage
- the number of MergeRequest instances that will be fetched per page- Returns:
- all merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequestsStream
public Stream<MergeRequest> getMergeRequestsStream(Object projectIdOrPath, Constants.MergeRequestState state) throws GitLabApiException
Get all merge requests with a specific state for the specified project as a Stream.GitLab Endpoint: GET /projects/:id/merge_requests?state=:state
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancestate
- the state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all).- Returns:
- a Stream with all the merge requests for the specified project
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequest
public MergeRequest getMergeRequest(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get information about a single merge request.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_id
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- the specified MergeRequest instance
- Throws:
GitLabApiException
- if any exception occurs
-
getOptionalMergeRequest
public Optional<MergeRequest> getOptionalMergeRequest(Object projectIdOrPath, Integer mergeRequestIid)
Get information about a single merge request as an Optional instance.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_id
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- the specified MergeRequest as an Optional instance instance
-
getCommits
public List<Commit> getCommits(Object projectIdOrPath, int mergeRequestIid) throws GitLabApiException
Get a list of merge request commits.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/commits
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- a list containing the commits for the specified merge request
- Throws:
GitLabApiException
- GitLabApiException if any exception occurs during execution
-
getCommits
public List<Commit> getCommits(Object projectIdOrPath, int mergeRequestIid, int page, int perPage) throws GitLabApiException
Get a list of merge request commits.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/commits
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge requestpage
- the page to getperPage
- the number of commits per page- Returns:
- a list containing the commits for the specified merge request
- Throws:
GitLabApiException
- GitLabApiException if any exception occurs during execution
-
getCommits
public Pager<Commit> getCommits(Object projectIdOrPath, int mergeRequestIid, int itemsPerPage) throws GitLabApiException
Get a Pager of merge request commits.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/commits
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge requestitemsPerPage
- the number of Commit instances that will be fetched per page- Returns:
- a Pager containing the commits for the specified merge request
- Throws:
GitLabApiException
- GitLabApiException if any exception occurs during execution
-
getCommitsStream
public Stream<Commit> getCommitsStream(Object projectIdOrPath, int mergeRequestIid) throws GitLabApiException
Get a Stream of merge request commits.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/commits
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- a Stream containing the commits for the specified merge request
- Throws:
GitLabApiException
- GitLabApiException if any exception occurs during execution
-
createMergeRequest
public MergeRequest createMergeRequest(Object projectIdOrPath, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId, Integer targetProjectId, String[] labels, Integer milestoneId, Boolean removeSourceBranch, Boolean squash) throws GitLabApiException
Creates a merge request and optionally assigns a reviewer to it.GitLab Endpoint: POST /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancesourceBranch
- the source branch, requiredtargetBranch
- the target branch, requiredtitle
- the title for the merge request, requireddescription
- the description of the merge requestassigneeId
- the Assignee user ID, optionaltargetProjectId
- the ID of a target project, optionallabels
- labels for MR, optionalmilestoneId
- the ID of a milestone, optionalremoveSourceBranch
- Flag indicating if a merge request should remove the source branch when merging, optionalsquash
- Squash commits into a single commit when merging, optional- Returns:
- the created MergeRequest instance
- Throws:
GitLabApiException
- if any exception occurs- Since:
- GitLab Starter 8.17, GitLab CE 11.0.
-
createMergeRequest
public MergeRequest createMergeRequest(Object projectIdOrPath, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId, Integer targetProjectId, String[] labels, Integer milestoneId, Boolean removeSourceBranch) throws GitLabApiException
Creates a merge request and optionally assigns a reviewer to it.GitLab Endpoint: POST /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancesourceBranch
- the source branch, requiredtargetBranch
- the target branch, requiredtitle
- the title for the merge request, requireddescription
- the description of the merge requestassigneeId
- the Assignee user ID, optionaltargetProjectId
- the ID of a target project, optionallabels
- labels for MR, optionalmilestoneId
- the ID of a milestone, optionalremoveSourceBranch
- Flag indicating if a merge request should remove the source branch when merging, optional- Returns:
- the created MergeRequest instance
- Throws:
GitLabApiException
- if any exception occurs
-
createMergeRequest
public MergeRequest createMergeRequest(Object projectIdOrPath, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId) throws GitLabApiException
Creates a merge request and optionally assigns a reviewer to it.GitLab Endpoint: POST /projects/:id/merge_requests
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancesourceBranch
- the source branch, requiredtargetBranch
- the target branch, requiredtitle
- the title for the merge request, requireddescription
- the description of the merge requestassigneeId
- the Assignee user ID, optional- Returns:
- the created MergeRequest instance
- Throws:
GitLabApiException
- if any exception occurs
-
updateMergeRequest
public MergeRequest updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String targetBranch, String title, Integer assigneeId, String description, Constants.StateEvent stateEvent, String labels, Integer milestoneId, Boolean removeSourceBranch, Boolean squash, Boolean discussionLocked, Boolean allowCollaboration) throws GitLabApiException
Updates an existing merge request. You can change branches, title, or even close the MR.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request to updatetargetBranch
- the target branch, optionaltitle
- the title for the merge requestassigneeId
- the Assignee user ID, optionaldescription
- the description of the merge request, optionalstateEvent
- new state for the merge request, optionallabels
- comma separated list of labels, optionalmilestoneId
- the ID of a milestone, optionalremoveSourceBranch
- Flag indicating if a merge request should remove the source branch when merging, optionalsquash
- Squash commits into a single commit when merging, optionaldiscussionLocked
- Flag indicating if the merge request's discussion is locked, optionalallowCollaboration
- Allow commits from members who can merge to the target branch, optional- Returns:
- the updated merge request
- Throws:
GitLabApiException
- if any exception occurs
-
updateMergeRequest
@Deprecated public MergeRequest updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String targetBranch, String title, Integer assigneeId, String description, Constants.StateEvent stateEvent, String labels, Integer milestoneId) throws GitLabApiException
Deprecated.Updates an existing merge request. You can change branches, title, or even close the MR.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request to updatetargetBranch
- the target branch, optionaltitle
- the title for the merge requestassigneeId
- the Assignee user ID, optionaldescription
- the description of the merge request, optionalstateEvent
- new state for the merge request, optionallabels
- comma separated list of labels, optionalmilestoneId
- the ID of a milestone, optional- Returns:
- the updated merge request
- Throws:
GitLabApiException
- if any exception occurs
-
updateMergeRequest
@Deprecated public MergeRequest updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String sourceBranch, String targetBranch, String title, String description, Integer assigneeId) throws GitLabApiException
Deprecated.as of release 4.4.3Updates an existing merge request. You can change branches, title, or even close the MR.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request to updatesourceBranch
- the source branchtargetBranch
- the target branchtitle
- the title for the merge requestdescription
- the description of the merge requestassigneeId
- the Assignee user ID, optional- Returns:
- the updated merge request
- Throws:
GitLabApiException
- if any exception occurs
-
updateMergeRequest
protected MergeRequest updateMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, javax.ws.rs.core.Form formData) throws GitLabApiException
- Throws:
GitLabApiException
-
deleteMergeRequest
public void deleteMergeRequest(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Only for admins and project owners. Soft deletes the specified merge.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: DELETE /projects/:id/merge_requests/:merge_request_iid
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Throws:
GitLabApiException
- if any exception occurs
-
acceptMergeRequest
public MergeRequest acceptMergeRequest(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Merge changes to the merge request. If the MR has any conflicts and can not be merged, you'll get a 405 and the error message 'Branch cannot be merged'. If merge request is already merged or closed, you'll get a 406 and the error message 'Method Not Allowed'. If the sha parameter is passed and does not match the HEAD of the source, you'll get a 409 and the error message 'SHA does not match HEAD of source branch'. If you don't have permissions to accept this merge request, you'll get a 401.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid/merge
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- the merged merge request
- Throws:
GitLabApiException
- if any exception occurs
-
acceptMergeRequest
public MergeRequest acceptMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String mergeCommitMessage, Boolean shouldRemoveSourceBranch, Boolean mergeWhenPipelineSucceeds) throws GitLabApiException
Merge changes to the merge request. If the MR has any conflicts and can not be merged, you'll get a 405 and the error message 'Branch cannot be merged'. If merge request is already merged or closed, you'll get a 406 and the error message 'Method Not Allowed'. If the sha parameter is passed and does not match the HEAD of the source, you'll get a 409 and the error message 'SHA does not match HEAD of source branch'. If you don't have permissions to accept this merge request, you'll get a 401.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request. Additionally, mergeWhenPipelineSucceeds sets the merge_when_build_succeeds flag for GitLab API V3.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid/merge
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge requestmergeCommitMessage
- , custom merge commit message, optionalshouldRemoveSourceBranch
- , if true removes the source branch, optionalmergeWhenPipelineSucceeds
- , if true the MR is merged when the pipeline, optional- Returns:
- the merged merge request
- Throws:
GitLabApiException
- if any exception occurs
-
acceptMergeRequest
public MergeRequest acceptMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String mergeCommitMessage, Boolean shouldRemoveSourceBranch, Boolean mergeWhenPipelineSucceeds, String sha) throws GitLabApiException
Merge changes to the merge request. If the MR has any conflicts and can not be merged, you'll get a 405 and the error message 'Branch cannot be merged'. If merge request is already merged or closed, you'll get a 406 and the error message 'Method Not Allowed'. If the sha parameter is passed and does not match the HEAD of the source, you'll get a 409 and the error message 'SHA does not match HEAD of source branch'. If you don't have permissions to accept this merge request, you'll get a 401.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request. Additionally, mergeWhenPipelineSucceeds sets the merge_when_build_succeeds flag for GitLab API V3.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid/merge
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge requestmergeCommitMessage
- , custom merge commit message, optionalshouldRemoveSourceBranch
- , if true removes the source branch, optionalmergeWhenPipelineSucceeds
- , if true the MR is merged when the pipeline, optionalsha
- if present, then this SHA must match the HEAD of the source branch, otherwise the merge will fail, optional- Returns:
- the merged merge request
- Throws:
GitLabApiException
- if any exception occurs
-
cancelMergeRequest
public MergeRequest cancelMergeRequest(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Cancel merge when pipeline succeeds. If you don't have permissions to accept this merge request, you'll get a 401. If the merge request is already merged or closed, you get 405 and error message 'Method Not Allowed'. In case the merge request is not set to be merged when the pipeline succeeds, you'll also get a 406 error.NOTE: GitLab API V4 uses IID (internal ID), V3 uses ID to identify the merge request.
GitLab Endpoint: PUT /projects/:id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- the updated merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequestApprovals
public MergeRequest getMergeRequestApprovals(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get the merge request with approval information. Note: This API endpoint is only available on 8.9 EE and above.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/approvals
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- a MergeRequest instance with approval information included
- Throws:
GitLabApiException
- if any exception occurs
-
approveMergeRequest
public MergeRequest approveMergeRequest(Object projectIdOrPath, Integer mergeRequestIid, String sha) throws GitLabApiException
Approve a merge request. Note: This API endpoint is only available on 8.9 EE and above.GitLab Endpoint: POST /projects/:id/merge_requests/:merge_request_iid/approve
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge requestsha
- the HEAD of the merge request, optional- Returns:
- a MergeRequest instance with approval information included
- Throws:
GitLabApiException
- if any exception occurs
-
unapproveMergeRequest
public MergeRequest unapproveMergeRequest(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Unapprove a merge request. Note: This API endpoint is only available on 8.9 EE and above.GitLab Endpoint: POST /projects/:id/merge_requests/:merge_request_iid/unapprove
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the internal ID of the merge request- Returns:
- a MergeRequest instance with approval information included
- Throws:
GitLabApiException
- if any exception occurs
-
getMergeRequestChanges
public MergeRequest getMergeRequestChanges(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get merge request with changes information.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/changes
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the IID of the merge request to get- Returns:
- a merge request including its changes
- Throws:
GitLabApiException
- if any exception occurs
-
getParticipants
public List<Participant> getParticipants(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get list of participants of merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/participants
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the IID of the merge request to get- Returns:
- a List containing all participants for the specified merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getParticipants
public List<Participant> getParticipants(Object projectIdOrPath, Integer mergeRequestIid, int page, int perPage) throws GitLabApiException
Get list of participants of merge request and in the specified page range.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/participants
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the IID of the merge request to getpage
- the page to getperPage
- the number of projects per page- Returns:
- a List containing all participants for the specified merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getParticipants
public Pager<Participant> getParticipants(Object projectIdOrPath, Integer mergeRequestIid, int itemsPerPage) throws GitLabApiException
Get a Pager of the participants of merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/participants
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the IID of the merge request to getitemsPerPage
- the number of Participant instances that will be fetched per page- Returns:
- a Pager containing all participants for the specified merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getParticipantsStream
public Stream<Participant> getParticipantsStream(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get Stream of participants of merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/participants
- Parameters:
projectIdOrPath
- the project in the form of an Integer(ID), String(path), or Project instancemergeRequestIid
- the IID of the merge request to get- Returns:
- a Stream containing all participants for the specified merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getClosesIssues
public List<Issue> getClosesIssues(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get list containing all the issues that would be closed by merging the provided merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/closes_issues
- Parameters:
projectIdOrPath
- id, path of the project, or a Project instance holding the project ID or pathmergeRequestIid
- the IID of the merge request to get the closes issues for- Returns:
- a List containing all the issues that would be closed by merging the provided merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getClosesIssues
public List<Issue> getClosesIssues(Object projectIdOrPath, Integer mergeRequestIid, int page, int perPage) throws GitLabApiException
Get list containing all the issues that would be closed by merging the provided merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/closes_issues
- Parameters:
projectIdOrPath
- id, path of the project, or a Project instance holding the project ID or pathmergeRequestIid
- the IID of the merge request to get the closes issues forpage
- the page to getperPage
- the number of issues per page- Returns:
- a List containing all the issues that would be closed by merging the provided merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getClosesIssues
public Pager<Issue> getClosesIssues(Object projectIdOrPath, Integer mergeRequestIid, int itemsPerPage) throws GitLabApiException
Get a Pager containing all the issues that would be closed by merging the provided merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/closes_issues
- Parameters:
projectIdOrPath
- id, path of the project, or a Project instance holding the project ID or pathmergeRequestIid
- the IID of the merge request to get the closes issues foritemsPerPage
- the number of Issue instances that will be fetched per page- Returns:
- a Pager containing all the issues that would be closed by merging the provided merge request
- Throws:
GitLabApiException
- if any exception occurs
-
getClosesIssuesStream
public Stream<Issue> getClosesIssuesStream(Object projectIdOrPath, Integer mergeRequestIid) throws GitLabApiException
Get Stream containing all the issues that would be closed by merging the provided merge request.GitLab Endpoint: GET /projects/:id/merge_requests/:merge_request_iid/closes_issues
- Parameters:
projectIdOrPath
- id, path of the project, or a Project instance holding the project ID or pathmergeRequestIid
- the IID of the merge request to get the closes issues for- Returns:
- a Stream containing all the issues that would be closed by merging the provided merge request
- Throws:
GitLabApiException
- if any exception occurs
-
-