diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2016-10-12 12:15:55 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2016-10-12 12:15:55 +0200 |
commit | 6d433d732a271c56b897d9c91711f32e076c0200 (patch) | |
tree | ab5f3605595a121a9415600635fa05c8e39c9a09 | |
parent | 7ca77debf39f5990440bf29c162969895f21b54b (diff) | |
download | gitlab-ce-6d433d732a271c56b897d9c91711f32e076c0200.tar.gz |
Access variables through Ci::Build
-rw-r--r-- | app/controllers/projects/deployments_controller.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/app/controllers/projects/deployments_controller.rb b/app/controllers/projects/deployments_controller.rb index edbe624a31a..2adc9568618 100644 --- a/app/controllers/projects/deployments_controller.rb +++ b/app/controllers/projects/deployments_controller.rb @@ -1,6 +1,8 @@ class Projects::DeploymentsController < Projects::ApplicationController layout 'project' + before_action :deployment + def terminal end @@ -14,14 +16,22 @@ class Projects::DeploymentsController < Projects::ApplicationController openshift_app APP openshift_server OPENSHIFT_SERVER openshift_token OPENSHIFT_TOKEN - ]].map { |json_key, variable_key| [json_key, project.variables.find_by(key: variable_key)] }.to_h + ]].map do |json_key, variable_key| + [json_key, deployment.deployable.variables.find { |v| v[:key] == variable_key }] + end.to_h # TODO: restrict access: this allows even 'guests' to have terminal access if variables.values.all?(&:present?) set_workhorse_internal_api_content_type - render json: variables.map { |k, v| [k, v.value] }.to_h + render json: variables.map { |k, v| [k, v[:value]] }.to_h else render text: 'Not found', status: 404 end end + + protected + + def deployment + @deployment = project.deployments.find(params[:id].to_i) + end end |