diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 13:34:06 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 13:34:06 +0300 |
commit | 859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch) | |
tree | d7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /app/services/ci/pipeline_trigger_service.rb | |
parent | 446d496a6d000c73a304be52587cd9bbc7493136 (diff) |
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to 'app/services/ci/pipeline_trigger_service.rb')
-rw-r--r-- | app/services/ci/pipeline_trigger_service.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/services/ci/pipeline_trigger_service.rb b/app/services/ci/pipeline_trigger_service.rb index a31f5e9056e..dbbaefb2b2f 100644 --- a/app/services/ci/pipeline_trigger_service.rb +++ b/app/services/ci/pipeline_trigger_service.rb @@ -17,6 +17,9 @@ module Ci private + PAYLOAD_VARIABLE_KEY = 'TRIGGER_PAYLOAD' + PAYLOAD_VARIABLE_HIDDEN_PARAMS = %i(token).freeze + def create_pipeline_from_trigger(trigger) # this check is to not leak the presence of the project if user cannot read it return unless trigger.project == project @@ -70,9 +73,23 @@ module Ci end def variables + if ::Feature.enabled?(:ci_trigger_payload_into_pipeline, project, default_enabled: :yaml) + param_variables + [payload_variable] + else + param_variables + end + end + + def param_variables params[:variables].to_h.map do |key, value| { key: key, value: value } end end + + def payload_variable + { key: PAYLOAD_VARIABLE_KEY, + value: params.except(*PAYLOAD_VARIABLE_HIDDEN_PARAMS).to_json, + variable_type: :file } + end end end |