diff options
author | Luke Duncalfe <lduncalfe@eml.cc> | 2019-04-05 07:19:30 +0300 |
---|---|---|
committer | Luke Duncalfe <lduncalfe@eml.cc> | 2019-04-09 01:03:26 +0300 |
commit | 1883e320eafa02b332a16eec658f65c4a28def83 (patch) | |
tree | 6e231cba20ae8fda69f328e0ede27452fca9cf14 /lib/gitlab/push_options.rb | |
parent | 867ac4d1f733254de1b4c44f314e585e6b2720e8 (diff) |
Use Gitlab::PushOptions for `ci.skip` push option
Previously the raw push option Array was sent to Pipeline::Chain::Skip.
This commit updates this class (and the chain of classes that pass the
push option parameters from the API internal `post_receive` endpoint to
that class) to treat push options as a Hash of options parsed by
GitLab::PushOptions.
The GitLab::PushOptions class takes options like this:
-o ci.skip -o merge_request.create -o merge_request.target=branch
and turns them into a Hash like this:
{
ci: {
skip: true
},
merge_request: {
create: true,
target: 'branch'
}
}
This now how Pipeline::Chain::Skip is determining if the `ci.skip` push
option was used.
Diffstat (limited to 'lib/gitlab/push_options.rb')
-rw-r--r-- | lib/gitlab/push_options.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/gitlab/push_options.rb b/lib/gitlab/push_options.rb index 923aa09527d..7c655c12995 100644 --- a/lib/gitlab/push_options.rb +++ b/lib/gitlab/push_options.rb @@ -27,6 +27,11 @@ module Gitlab options.dig(*args) end + # Allow #to_json serialization + def as_json(*_args) + options + end + private def parse_options(raw_options) |