diff --git a/gitlab/__init__.py b/gitlab/__init__.py index f81bc93e3..1fca715f6 100644 --- a/gitlab/__init__.py +++ b/gitlab/__init__.py @@ -90,6 +90,8 @@ class Gitlab(object): project_tags (ProjectTagManager): Manager for GitLab projects tags project_mergerequest_notes (ProjectMergeRequestNoteManager): Manager for GitLab notes on merge requests + project_mergerequest_commits (ProjectMergeRequestCommitManager): Manager + for GitLab commit list of merge requests project_mergerequests (ProjectMergeRequestManager): Manager for GitLab projects merge requests project_milestones (ProjectMilestoneManager): Manager for GitLab @@ -147,6 +149,7 @@ def __init__(self, url, private_token=None, self.project_notes = ProjectNoteManager(self) self.project_tags = ProjectTagManager(self) self.project_mergerequest_notes = ProjectMergeRequestNoteManager(self) + self.project_mergerequest_commits = ProjectMergeRequestCommitManager(self) self.project_mergerequests = ProjectMergeRequestManager(self) self.project_milestones = ProjectMilestoneManager(self) self.project_labels = ProjectLabelManager(self) diff --git a/gitlab/objects.py b/gitlab/objects.py index 9c6197c0c..ac651f2c4 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -1093,6 +1093,18 @@ class ProjectMergeRequestNoteManager(BaseManager): obj_cls = ProjectMergeRequestNote +class ProjectMergeRequestCommit(GitlabObject): + _url = '/projects/%(project_id)s/merge_requests/%(merge_request_id)s/commits' + canCreate = False + canUpdate = False + canDelete = False + requiredUrlAttrs = ['project_id', 'merge_request_id'] + + +class ProjectMergeRequestCommitManager(BaseManager): + obj_cls = ProjectMergeRequestCommit + + class ProjectMergeRequest(GitlabObject): _url = '/projects/%(project_id)s/merge_request' _urlPlural = '/projects/%(project_id)s/merge_requests' @@ -1102,6 +1114,8 @@ class ProjectMergeRequest(GitlabObject): optionalCreateAttrs = ['assignee_id', 'description', 'target_project_id', 'labels', 'milestone_id'] managers = [('notes', ProjectMergeRequestNoteManager, + [('project_id', 'project_id'), ('merge_request_id', 'id')]), + ('commits', ProjectMergeRequestCommitManager, [('project_id', 'project_id'), ('merge_request_id', 'id')])] def Note(self, id=None, **kwargs):