From ad1f14726dc0db1dfdc841b553cf5e864b56a4bd Mon Sep 17 00:00:00 2001 From: Robert Hunt Date: Thu, 23 Jul 2020 15:36:46 +0100 Subject: [PATCH] Add target and source branch data to entity --- .../serializers/merge_request_compliance_entity.rb | 14 +++++++++++++- ...estination-branch-data-to-compliance-entity.yml | 5 +++++ .../merge_request_compliance_entity_spec.rb | 14 +++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 ee/changelogs/unreleased/216279-add-source-and-destination-branch-data-to-compliance-entity.yml diff --git a/ee/app/serializers/merge_request_compliance_entity.rb b/ee/app/serializers/merge_request_compliance_entity.rb index dc38b3b97f9aef..da28e1f123e7ce 100644 --- a/ee/app/serializers/merge_request_compliance_entity.rb +++ b/ee/app/serializers/merge_request_compliance_entity.rb @@ -24,9 +24,13 @@ class MergeRequestComplianceEntity < Grape::Entity expose :approved_by_users, using: API::Entities::UserBasic expose :pipeline_status, if: -> (*) { can_read_pipeline? }, with: DetailedStatusEntity - expose :approval_status + expose :target_branch + expose :target_branch_uri, if: -> (merge_request) { merge_request.target_branch_exists? } + expose :source_branch + expose :source_branch_uri, if: -> (merge_request) { merge_request.source_branch_exists? } + private alias_method :merge_request, :object @@ -53,4 +57,12 @@ def approval_status SUCCESS_APPROVAL_STATUS end + + def target_branch_uri + project_ref_path(merge_request.project, merge_request.target_branch) + end + + def source_branch_uri + project_ref_path(merge_request.project, merge_request.source_branch) + end end diff --git a/ee/changelogs/unreleased/216279-add-source-and-destination-branch-data-to-compliance-entity.yml b/ee/changelogs/unreleased/216279-add-source-and-destination-branch-data-to-compliance-entity.yml new file mode 100644 index 00000000000000..61a514b5cc2088 --- /dev/null +++ b/ee/changelogs/unreleased/216279-add-source-and-destination-branch-data-to-compliance-entity.yml @@ -0,0 +1,5 @@ +--- +title: Add source and destination branch data to compliance entity +merge_request: 37630 +author: +type: added diff --git a/ee/spec/serializers/merge_request_compliance_entity_spec.rb b/ee/spec/serializers/merge_request_compliance_entity_spec.rb index e9a6f4ac9eedf8..5426ed828e1c0f 100644 --- a/ee/spec/serializers/merge_request_compliance_entity_spec.rb +++ b/ee/spec/serializers/merge_request_compliance_entity_spec.rb @@ -17,7 +17,19 @@ it 'includes merge request attributes for compliance' do expect(subject).to include( - :id, :title, :merged_at, :milestone, :path, :issuable_reference, :author, :approved_by_users, :approval_status + :id, + :title, + :merged_at, + :milestone, + :path, + :issuable_reference, + :author, + :approved_by_users, + :approval_status, + :target_branch, + :target_branch_uri, + :source_branch, + :source_branch_uri ) end -- GitLab