diff --git a/ee/app/serializers/merge_request_compliance_entity.rb b/ee/app/serializers/merge_request_compliance_entity.rb index dc38b3b97f9aef700e12a4f8b145340128e5b1df..da28e1f123e7ce88fd81bb58b328f419c8e890c9 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 0000000000000000000000000000000000000000..61a514b5cc208842d47f7605ef25777d431b9486 --- /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 e9a6f4ac9eedf8fe1befbc860872d59a628e664a..5426ed828e1c0f8d170eec57eed6936885e62bbd 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