Use source ref for pipeline 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.
This commit is contained in:
Shinya Maeda 2019-05-27 13:44:39 +07:00
parent 2b8d597f2f
commit 7e05f3b78b
3 changed files with 15 additions and 1 deletions

View file

@ -0,0 +1,5 @@
---
title: Use source ref in pipeline webhook
merge_request: 28772
author:
type: fixed

View file

@ -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,

View file

@ -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