Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
 into develop
  • Loading branch information
strangeman committed Oct 22, 2018
2 parents 4450534 + 2b13fe6 commit 2f85b29
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 5 deletions.
18 changes: 14 additions & 4 deletions api/tasks/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -444,19 +444,29 @@ func (t *task) getPlaybookArgs() ([]string, error) {
args = append(args, "--extra-vars", extraVar)
}

var extraArgs []string
var templateExtraArgs []string
if t.template.Arguments != nil {
err := json.Unmarshal([]byte(*t.template.Arguments), &extraArgs)
err := json.Unmarshal([]byte(*t.template.Arguments), &templateExtraArgs)
if err != nil {
t.log("Could not unmarshal arguments to []string")
return nil, err
}
}

var taskExtraArgs []string
if t.task.Arguments != nil {
err := json.Unmarshal([]byte(*t.task.Arguments), &taskExtraArgs)
if err != nil {
t.log("Could not unmarshal arguments to []string")
return nil, err
}
}

if t.template.OverrideArguments {
args = extraArgs
args = templateExtraArgs
} else {
args = append(args, extraArgs...)
args = append(args, templateExtraArgs...)
args = append(args, taskExtraArgs...)
args = append(args, playbookName)
}
return args, nil
Expand Down
3 changes: 2 additions & 1 deletion db/Task.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package db

import "time"


//Task is a model of a task which will be executed by the runner
type Task struct {
ID int `db:"id" json:"id"`
Expand All @@ -16,6 +15,8 @@ type Task struct {
// override variables
Playbook string `db:"playbook" json:"playbook"`
Environment string `db:"environment" json:"environment"`
// to fit into []string
Arguments *string `db:"arguments" json:"arguments"`

UserID *int `db:"user_id" json:"user_id"`

Expand Down
1 change: 1 addition & 0 deletions db/migrations/v2.5.2.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alter table task add `arguments` text null;
1 change: 1 addition & 0 deletions db/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,5 +82,6 @@ func init() {
{Major: 2, Minor: 3, Patch: 2},
{Major: 2, Minor: 4},
{Major: 2, Minor: 5},
{Major: 2, Minor: 5, Patch: 2},
}
}
4 changes: 4 additions & 0 deletions web/resources/pug/projects/createTaskModal.pug
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
label.control-label.col-sm-4 Environment Override (*MUST* be valid JSON)
.col-sm-6
div(ui-ace="{mode: 'json', workerPath: '/public/js/ace/'}" class="form-control" style="height: 100px" ng-model="task.environment")
.form-group
label.control-label.col-sm-4(uib-tooltip='*MUST* be a JSON array! Each argument must be an element of the array, for example: ["-i", "@myinventory.sh", "--private-key=/there/id_rsa", "-vvvv"]') Extra CLI Arguments
.col-sm-6
div(ui-ace="{mode: 'json', workerPath: '/public/js/ace/'}" style="height: 100px" class="form-control" ng-model="task.arguments")
.form-group
.col-sm-6.col-sm-offset-4: .checkbox: label
input(type="checkbox" ng-model="task.debug")
Expand Down

0 comments on commit 2f85b29

Please sign in to comment.