From 5d3f5b57ed65d01910152d854e9d5c44c416151e Mon Sep 17 00:00:00 2001 From: Ben Crocker Date: Mon, 14 Jun 2021 11:35:19 -0400 Subject: [PATCH] Add merge_commit_sha and mergeable @properties to pull_request.py:GitlabPullRequest. 'merge_commit_sha' maps exactly; however, in GitLab, the closest thing to 'mergeable' appears to be 'merge_status', which is a string that can take on values - "unchecked" - "checking" - "can_be_merged" - "cannot_be_merged" - "cannot_be_merged_recheck" For now, at least, we'll map "can_be_merged" to mergeable = True, and everything else to False. Signed-off-by: Ben Crocker --- ogr/services/gitlab/pull_request.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ogr/services/gitlab/pull_request.py b/ogr/services/gitlab/pull_request.py index 78ede8005..54dadad19 100644 --- a/ogr/services/gitlab/pull_request.py +++ b/ogr/services/gitlab/pull_request.py @@ -103,6 +103,16 @@ def commits_url(self) -> str: def head_commit(self) -> str: return self._raw_pr.sha + @property + def merge_commit_sha(self) -> str: + return self._raw_pr.merge_commit_sha + + @property + def mergeable(self) -> bool: + if self._raw_pr.merge_status == "can_be_merged": + return True + return False + @property def source_project(self) -> "ogr_gitlab.GitlabProject": if self._source_project is None: