Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
bda2c44a
Commit
bda2c44a
authored
Apr 27, 2016
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Project variables UI
Closes #14091
parent
78a67fc4
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
94 additions
and
38 deletions
+94
-38
app/controllers/projects/variables_controller.rb
app/controllers/projects/variables_controller.rb
+27
-3
app/views/projects/variables/_content.html.haml
app/views/projects/variables/_content.html.haml
+8
-0
app/views/projects/variables/_form.html.haml
app/views/projects/variables/_form.html.haml
+10
-0
app/views/projects/variables/_table.html.haml
app/views/projects/variables/_table.html.haml
+24
-0
app/views/projects/variables/index.html.haml
app/views/projects/variables/index.html.haml
+17
-0
app/views/projects/variables/show.html.haml
app/views/projects/variables/show.html.haml
+7
-34
config/routes.rb
config/routes.rb
+1
-1
No files found.
app/controllers/projects/variables_controller.rb
View file @
bda2c44a
...
...
@@ -3,20 +3,44 @@ class Projects::VariablesController < Projects::ApplicationController
layout
'project_settings'
def
index
@variable
=
Ci
::
Variable
.
new
end
def
show
@variable
=
@project
.
variables
.
find
(
params
[
:id
])
end
def
update
if
project
.
update_attributes
(
project_params
)
@variable
=
@project
.
variables
.
find
(
params
[
:id
])
if
@variable
.
update_attributes
(
project_params
)
redirect_to
namespace_project_variables_path
(
project
.
namespace
,
project
),
notice:
'Variable was successfully updated.'
else
render
action:
"show"
end
end
def
create
@variable
=
Ci
::
Variable
.
new
(
project_params
)
if
@variable
.
valid?
&&
@project
.
variables
<<
@variable
redirect_to
namespace_project_variables_path
(
project
.
namespace
,
project
),
notice:
'Variables were successfully updated.'
else
render
action:
'show'
render
action:
"index"
end
end
def
destroy
@key
=
@project
.
variables
.
find
(
params
[
:id
])
@key
.
destroy
redirect_to
namespace_project_variables_path
(
project
.
namespace
,
project
),
notice:
'Variable was successfully removed.'
end
private
def
project_params
params
.
require
(
:
project
).
permit
({
variables_attributes:
[
:id
,
:key
,
:value
,
:_destroy
]
}
)
params
.
require
(
:
variable
).
permit
([
:id
,
:key
,
:value
,
:_destroy
]
)
end
end
app/views/projects/variables/_content.html.haml
0 → 100644
View file @
bda2c44a
%h4
.prepend-top-0
Secret Variables
%p
These variables will be set to environment by the runner.
%p
So you can use them for passwords, secret keys or whatever you want.
%p
The value of the variable can be visible in build log if explicitly asked to do so.
app/views/projects/variables/_form.html.haml
0 → 100644
View file @
bda2c44a
=
form_for
[
@project
.
namespace
.
becomes
(
Namespace
),
@project
,
@variable
]
do
|
f
|
=
form_errors
(
@variable
)
.form-group
=
f
.
label
:key
,
"Key"
,
class:
"label-light"
=
f
.
text_field
:key
,
class:
"form-control"
,
placeholder:
"PROJECT_VARIABLE"
,
required:
true
.form-group
=
f
.
label
:value
,
"Value"
,
class:
"label-light"
=
f
.
text_area
:value
,
class:
"form-control"
,
placeholder:
"PROJECT_VARIABLE"
,
required:
true
=
f
.
submit
btn_text
,
class:
"btn btn-save"
app/views/projects/variables/_table.html.haml
0 → 100644
View file @
bda2c44a
.table-responsive
%table
.table
%colgroup
%col
%col
%col
{
width:
100
}
%thead
%th
Key
%th
Value
%th
%tbody
-
@project
.
variables
.
each
do
|
variable
|
%tr
%td
=
variable
.
key
%td
=
variable
.
value
%td
=
link_to
namespace_project_variable_path
(
@project
.
namespace
,
@project
,
variable
),
class:
"btn btn-transparent"
do
%span
.sr-only
Update
=
icon
(
"pencil"
)
=
link_to
namespace_project_variable_path
(
@project
.
namespace
,
@project
,
variable
),
class:
"btn btn-transparent"
,
method: :delete
,
data:
{
confirm:
"Are you sure?"
}
do
%span
.sr-only
Remove
=
icon
(
"trash"
)
app/views/projects/variables/index.html.haml
0 → 100644
View file @
bda2c44a
-
page_title
"Variables"
.row.prepend-top-default.append-bottom-default
.col-lg-3
=
render
"content"
.col-lg-9
%h5
.prepend-top-0
Add a variable
=
render
"form"
,
btn_text:
"Add new variable"
%hr
%h5
.prepend-top-0
Your variables (
#{
@project
.
variables
.
size
}
)
-
if
@project
.
variables
.
empty?
%p
.profile-settings-message.text-center.append-bottom-0
No variables found, add one with the form above.
-
else
=
render
"table"
app/views/projects/variables/show.html.haml
View file @
bda2c44a
-
page_title
"Variables"
%h3
.page-title
Secret Variables
%p
.light
These variables will be set to environment by the runner.
%br
So you can use them for passwords, secret keys or whatever you want.
%br
The value of the variable can be visible in build log if explicitly asked to do so.
%hr
=
nested_form_for
@project
,
url:
url_for
(
controller:
'projects/variables'
,
action:
'update'
),
html:
{
class:
'form-horizontal'
}
do
|
f
|
=
form_errors
(
@project
)
=
f
.
fields_for
:variables
do
|
variable_form
|
.form-group
=
variable_form
.
label
:key
,
'Key'
,
class:
'control-label'
.col-sm-10
=
variable_form
.
text_field
:key
,
class:
'form-control'
,
placeholder:
"PROJECT_VARIABLE"
.form-group
=
variable_form
.
label
:value
,
'Value'
,
class:
'control-label'
.col-sm-10
=
variable_form
.
text_area
:value
,
class:
'form-control'
,
rows:
2
,
placeholder:
""
=
variable_form
.
link_to_remove
"Remove this variable"
,
class:
'btn btn-danger pull-right prepend-top-10'
%hr
%p
.clearfix
=
f
.
link_to_add
"Add a variable"
,
:variables
,
class:
'btn btn-success pull-right'
.form-actions
=
f
.
submit
'Save changes'
,
class:
'btn btn-save'
,
return_to:
request
.
original_url
.row.prepend-top-default.append-bottom-default
.col-lg-3
=
render
"content"
.col-lg-9
%h5
.prepend-top-0
Update variable
=
render
"form"
,
btn_text:
"Save variable"
config/routes.rb
View file @
bda2c44a
...
...
@@ -660,7 +660,7 @@ Rails.application.routes.draw do
end
resources
:protected_branches
,
only:
[
:index
,
:create
,
:update
,
:destroy
],
constraints:
{
id:
Gitlab
::
Regex
.
git_reference_regex
}
resource
:variables
,
only:
[
:show
,
:update
]
resource
s
:variables
,
only:
[
:index
,
:show
,
:update
,
:create
,
:destroy
]
resources
:triggers
,
only:
[
:index
,
:create
,
:destroy
]
resources
:builds
,
only:
[
:index
,
:show
],
constraints:
{
id:
/\d+/
}
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment