From a5aa40c5fe93dc3daba8a578f4c09c4e443fcbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 29 Jul 2019 07:43:10 +0000 Subject: [PATCH] Add Job specific variables Adds Job specific variables to facilitate specifying variables when running manual jobs. --- .../jobs/components/empty_state.vue | 39 +++- .../javascripts/jobs/components/job_app.vue | 8 + .../jobs/components/manual_variables_form.vue | 179 ++++++++++++++++++ app/assets/javascripts/jobs/index.js | 1 + app/assets/javascripts/jobs/store/actions.js | 14 ++ app/controllers/projects/jobs_controller.rb | 6 +- app/models/ci/build.rb | 7 +- app/models/ci/job_variable.rb | 14 ++ app/models/concerns/new_has_variable.rb | 14 ++ app/services/ci/play_build_service.rb | 4 +- app/views/projects/jobs/show.html.haml | 1 + .../projects/settings/ci_cd/show.html.haml | 2 +- .../mc-feature-manual-job-variables.yml | 5 + .../20190711124721_create_job_variables.rb | 23 +++ db/schema.rb | 11 ++ doc/ci/img/manual_job_variables.png | Bin 0 -> 429891 bytes doc/ci/pipelines.md | 14 ++ lib/gitlab/ci/status/build/manual.rb | 2 +- locale/gitlab.pot | 21 +- .../projects/jobs_controller_spec.rb | 13 +- spec/factories/ci/job_variables.rb | 10 + spec/features/projects/jobs_spec.rb | 10 +- .../jobs/components/empty_state_spec.js | 42 ++++ .../jobs/components/job_app_spec.js | 1 + .../components/manual_variables_form_spec.js | 88 +++++++++ spec/models/ci/build_spec.rb | 13 +- spec/models/ci/job_variable_spec.rb | 12 ++ spec/services/ci/play_build_service_spec.rb | 13 ++ spec/services/ci/retry_build_service_spec.rb | 5 +- 29 files changed, 549 insertions(+), 23 deletions(-) create mode 100644 app/assets/javascripts/jobs/components/manual_variables_form.vue create mode 100644 app/models/ci/job_variable.rb create mode 100644 app/models/concerns/new_has_variable.rb create mode 100644 changelogs/unreleased/mc-feature-manual-job-variables.yml create mode 100644 db/migrate/20190711124721_create_job_variables.rb create mode 100644 doc/ci/img/manual_job_variables.png create mode 100644 spec/factories/ci/job_variables.rb create mode 100644 spec/javascripts/jobs/components/manual_variables_form_spec.js create mode 100644 spec/models/ci/job_variable_spec.rb diff --git a/app/assets/javascripts/jobs/components/empty_state.vue b/app/assets/javascripts/jobs/components/empty_state.vue index 04f910b6b80..275ed80146e 100644 --- a/app/assets/javascripts/jobs/components/empty_state.vue +++ b/app/assets/javascripts/jobs/components/empty_state.vue @@ -1,9 +1,11 @@