@@ -185,22 +185,10 @@ func (t *LocalJob) getShellArgs(username string, incomingVersion *string) (args
185
185
return
186
186
}
187
187
188
- var templateExtraArgs []string
189
- if t .Template .Arguments != nil {
190
- err = json .Unmarshal ([]byte (* t .Template .Arguments ), & templateExtraArgs )
191
- if err != nil {
192
- t .Log ("Invalid format of the template extra arguments, must be valid JSON" )
193
- return
194
- }
195
- }
196
-
197
- var taskExtraArgs []string
198
- if t .Template .AllowOverrideArgsInTask && t .Task .Arguments != nil {
199
- err = json .Unmarshal ([]byte (* t .Task .Arguments ), & taskExtraArgs )
200
- if err != nil {
201
- t .Log ("Invalid format of the TaskRunner extra arguments, must be valid JSON" )
202
- return
203
- }
188
+ templateArgs , taskArgs , err := t .getCLIArgs ()
189
+ if err != nil {
190
+ t .Log (err .Error ())
191
+ return
204
192
}
205
193
206
194
// Script to run
@@ -214,7 +202,7 @@ func (t *LocalJob) getShellArgs(username string, incomingVersion *string) (args
214
202
}
215
203
216
204
// Include extra args from template
217
- args = append (args , templateExtraArgs ... )
205
+ args = append (args , templateArgs ... )
218
206
219
207
// Include ExtraVars and Survey Vars
220
208
for name , value := range extraVars {
@@ -224,7 +212,7 @@ func (t *LocalJob) getShellArgs(username string, incomingVersion *string) (args
224
212
}
225
213
226
214
// Include extra args from task
227
- args = append (args , taskExtraArgs ... )
215
+ args = append (args , taskArgs ... )
228
216
229
217
return
230
218
}
@@ -259,6 +247,15 @@ func (t *LocalJob) getTerraformArgs(username string, incomingVersion *string) (a
259
247
args = append (args , "-var" , fmt .Sprintf ("%s=%s" , name , value ))
260
248
}
261
249
250
+ templateArgs , taskArgs , err := t .getCLIArgs ()
251
+ if err != nil {
252
+ t .Log (err .Error ())
253
+ return
254
+ }
255
+
256
+ args = append (args , templateArgs ... )
257
+ args = append (args , taskArgs ... )
258
+
262
259
for _ , secret := range t .Environment .Secrets {
263
260
if secret .Type != db .EnvironmentSecretVar {
264
261
continue
@@ -381,31 +378,19 @@ func (t *LocalJob) getPlaybookArgs(username string, incomingVersion *string) (ar
381
378
args = append (args , "--extra-vars" , fmt .Sprintf ("%s=%s" , secret .Name , secret .Secret ))
382
379
}
383
380
384
- var templateExtraArgs []string
385
- if t .Template .Arguments != nil {
386
- err = json .Unmarshal ([]byte (* t .Template .Arguments ), & templateExtraArgs )
387
- if err != nil {
388
- t .Log ("Invalid format of the template extra arguments, must be valid JSON" )
389
- return
390
- }
391
- }
392
-
393
- var taskExtraArgs []string
394
- if t .Template .AllowOverrideArgsInTask && t .Task .Arguments != nil {
395
- err = json .Unmarshal ([]byte (* t .Task .Arguments ), & taskExtraArgs )
396
- if err != nil {
397
- t .Log ("Invalid format of the TaskRunner extra arguments, must be valid JSON" )
398
- return
399
- }
381
+ templateArgs , taskArgs , err := t .getCLIArgs ()
382
+ if err != nil {
383
+ t .Log (err .Error ())
384
+ return
400
385
}
401
386
402
387
if t .Task .Limit != "" {
403
388
t .Log ("--limit=" + t .Task .Limit )
404
- taskExtraArgs = append (taskExtraArgs , "--limit=" + t .Task .Limit )
389
+ templateArgs = append (templateArgs , "--limit=" + t .Task .Limit )
405
390
}
406
391
407
- args = append (args , templateExtraArgs ... )
408
- args = append (args , taskExtraArgs ... )
392
+ args = append (args , templateArgs ... )
393
+ args = append (args , taskArgs ... )
409
394
args = append (args , playbookName )
410
395
411
396
if line , ok := inputMap [db .AccessKeyRoleAnsibleUser ]; ok {
@@ -419,6 +404,27 @@ func (t *LocalJob) getPlaybookArgs(username string, incomingVersion *string) (ar
419
404
return
420
405
}
421
406
407
+ func (t * LocalJob ) getCLIArgs () (templateArgs []string , taskArgs []string , err error ) {
408
+
409
+ if t .Template .Arguments != nil {
410
+ err = json .Unmarshal ([]byte (* t .Template .Arguments ), & templateArgs )
411
+ if err != nil {
412
+ err = fmt .Errorf ("invalid format of the template extra arguments, must be valid JSON" )
413
+ return
414
+ }
415
+ }
416
+
417
+ if t .Template .AllowOverrideArgsInTask && t .Task .Arguments != nil {
418
+ err = json .Unmarshal ([]byte (* t .Task .Arguments ), & taskArgs )
419
+ if err != nil {
420
+ err = fmt .Errorf ("invalid format of the TaskRunner extra arguments, must be valid JSON" )
421
+ return
422
+ }
423
+ }
424
+
425
+ return
426
+ }
427
+
422
428
func (t * LocalJob ) getParams () (params interface {}, err error ) {
423
429
switch t .Template .App {
424
430
case db .AppAnsible :
@@ -641,7 +647,7 @@ func (t *LocalJob) checkoutRepository() error {
641
647
func (t * LocalJob ) installVaultKeyFiles () (err error ) {
642
648
t .vaultFileInstallations = make (map [string ]db.AccessKeyInstallation )
643
649
644
- if t . Template . Vaults == nil || len (t .Template .Vaults ) == 0 {
650
+ if len (t .Template .Vaults ) == 0 {
645
651
return nil
646
652
}
647
653
0 commit comments