feature: pass ot_ args to shellAfterCompleted (#420)
* feature: pass ot_ args to shellAfterCompleted * refactor: Implement this the right way --------- Co-authored-by: James Read <contact@jread.com>
This commit is contained in:
parent
d1c67a9dd8
commit
00856f15a7
|
|
@ -454,10 +454,10 @@ func (ost *OutputStreamer) String() string {
|
|||
return ost.output.String()
|
||||
}
|
||||
|
||||
func buildEnv(req *ExecutionRequest) []string {
|
||||
func buildEnv(args map[string]string) []string {
|
||||
ret := append(os.Environ(), "OLIVETIN=1")
|
||||
|
||||
for k, v := range req.Arguments {
|
||||
for k, v := range args {
|
||||
varName := fmt.Sprintf("%v", strings.TrimSpace(strings.ToUpper(k)))
|
||||
|
||||
// Skip arguments that might not have a name (eg, confirmation), as this causes weird bugs on Windows.
|
||||
|
|
@ -480,7 +480,7 @@ func stepExec(req *ExecutionRequest) bool {
|
|||
cmd := wrapCommandInShell(ctx, req.finalParsedCommand)
|
||||
cmd.Stdout = streamer
|
||||
cmd.Stderr = streamer
|
||||
cmd.Env = buildEnv(req)
|
||||
cmd.Env = buildEnv(req.Arguments)
|
||||
|
||||
req.logEntry.ExecutionStarted = true
|
||||
|
||||
|
|
@ -524,8 +524,10 @@ func stepExecAfter(req *ExecutionRequest) bool {
|
|||
var stderr bytes.Buffer
|
||||
|
||||
args := map[string]string{
|
||||
"output": req.logEntry.Output,
|
||||
"exitCode": fmt.Sprintf("%v", req.logEntry.ExitCode),
|
||||
"output": req.logEntry.Output,
|
||||
"exitCode": fmt.Sprintf("%v", req.logEntry.ExitCode),
|
||||
"ot_executionTrackingId": req.TrackingID,
|
||||
"ot_username": req.AuthenticatedUser.Username,
|
||||
}
|
||||
|
||||
finalParsedCommand, _, err := parseCommandForReplacements(req.Action.ShellAfterCompleted, args)
|
||||
|
|
@ -541,6 +543,8 @@ func stepExecAfter(req *ExecutionRequest) bool {
|
|||
cmd.Stdout = &stdout
|
||||
cmd.Stderr = &stderr
|
||||
|
||||
cmd.Env = buildEnv(args)
|
||||
|
||||
runerr := cmd.Start()
|
||||
|
||||
waiterr := cmd.Wait()
|
||||
|
|
|
|||
Loading…
Reference in New Issue