diff options
author | Shinya Maeda <shinya@gitlab.com> | 2019-05-27 13:44:39 +0700 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2019-05-28 09:29:59 +0700 |
commit | 7e05f3b78b6e2e892bc309105711316dc17a109d (patch) | |
tree | f72d134b613ba1815f89b1cd7dec754cbe77a8c0 | |
parent | 2b8d597f2f60243008f58ee63b2264fc72f12215 (diff) | |
download | gitlab-ce-use-source-ref-name-in-webhook.tar.gz |
Use source ref for pipeline webhookuse-source-ref-name-in-webhook
When user uses Pipelines for merge requests, the pipeline is a run on
a merge request ref instead of branch ref. However, we should send
source ref as a webhook in order to respect the original behavior.
-rw-r--r-- | changelogs/unreleased/use-source-ref-name-in-webhook.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/data_builder/pipeline.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/data_builder/pipeline_spec.rb | 9 |
3 files changed, 15 insertions, 1 deletions
diff --git a/changelogs/unreleased/use-source-ref-name-in-webhook.yml b/changelogs/unreleased/use-source-ref-name-in-webhook.yml new file mode 100644 index 00000000000..1a5c56d79ca --- /dev/null +++ b/changelogs/unreleased/use-source-ref-name-in-webhook.yml @@ -0,0 +1,5 @@ +--- +title: Use source ref in pipeline webhook +merge_request: 28772 +author: +type: fixed diff --git a/lib/gitlab/data_builder/pipeline.rb b/lib/gitlab/data_builder/pipeline.rb index fa06fb935f7..e1e813849bf 100644 --- a/lib/gitlab/data_builder/pipeline.rb +++ b/lib/gitlab/data_builder/pipeline.rb @@ -19,7 +19,7 @@ module Gitlab def hook_attrs(pipeline) { id: pipeline.id, - ref: pipeline.ref, + ref: pipeline.source_ref, tag: pipeline.tag, sha: pipeline.sha, before_sha: pipeline.before_sha, diff --git a/spec/lib/gitlab/data_builder/pipeline_spec.rb b/spec/lib/gitlab/data_builder/pipeline_spec.rb index 9ef987a0826..1f36fd5c6ef 100644 --- a/spec/lib/gitlab/data_builder/pipeline_spec.rb +++ b/spec/lib/gitlab/data_builder/pipeline_spec.rb @@ -50,5 +50,14 @@ describe Gitlab::DataBuilder::Pipeline do it { expect(attributes[:variables]).to be_a(Array) } it { expect(attributes[:variables]).to contain_exactly({ key: 'TRIGGER_KEY_1', value: 'TRIGGER_VALUE_1' }) } end + + context 'when pipeline is a detached merge request pipeline' do + let(:merge_request) { create(:merge_request, :with_detached_merge_request_pipeline) } + let(:pipeline) { merge_request.all_pipelines.first } + + it 'returns a source ref' do + expect(attributes[:ref]).to eq(merge_request.source_branch) + end + end end end |