# HG changeset patch # User Martin Bornhold # Date 2016-10-23 14:48:32 # Node ID 122c7b1346fcf2e49f5749721de3f88e5a3e630f # Parent a4bf20df2db6e6e044910e16a4d859cea16a42c7 api: Include merge reference into API data of a PR. diff --git a/rhodecode/api/views/pull_request_api.py b/rhodecode/api/views/pull_request_api.py --- a/rhodecode/api/views/pull_request_api.py +++ b/rhodecode/api/views/pull_request_api.py @@ -96,8 +96,14 @@ def get_pull_request(request, apiuser, r "commit_id": "", } }, - "shadow": { + "merge": { "clone_url": "", + "reference": + { + "name": "", + "type": "", + "commit_id": "", + } }, "author": , "reviewers": [ @@ -181,8 +187,14 @@ def get_pull_requests(request, apiuser, "commit_id": "", } }, - "shadow": { + "merge": { "clone_url": "", + "reference": + { + "name": "", + "type": "", + "commit_id": "", + } }, "author": , "reviewers": [ diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -3137,9 +3137,18 @@ class PullRequest(Base, _PullRequestBase from rhodecode.model.pull_request import PullRequestModel pull_request = self merge_status = PullRequestModel().merge_status(pull_request) + pull_request_url = url( 'pullrequest_show', repo_name=self.target_repo.repo_name, pull_request_id=self.pull_request_id, qualified=True) + + merge_data = { + 'clone_url': PullRequestModel().get_shadow_clone_url(pull_request), + 'reference': ( + pull_request.shadow_merge_ref._asdict() + if pull_request.shadow_merge_ref else None), + } + data = { 'pull_request_id': pull_request.pull_request_id, 'url': pull_request_url, @@ -3172,10 +3181,7 @@ class PullRequest(Base, _PullRequestBase 'commit_id': pull_request.target_ref_parts.commit_id, }, }, - 'shadow': { - 'clone_url': PullRequestModel().get_shadow_clone_url( - pull_request), - }, + 'merge': merge_data, 'author': pull_request.author.get_api_data(include_secrets=False, details='basic'), 'reviewers': [