1
0

Возврат значения из шага cmd

This commit is contained in:
Nikita Gryzlov
2020-04-29 17:04:49 +03:00
parent 515a91dcc1
commit 540b90fceb
4 changed files with 29 additions and 5 deletions

View File

@@ -16,9 +16,9 @@ interface IStepExecutor {
void echo(message)
void cmd(String script, boolean returnStatus)
int cmd(String script, boolean returnStatus)
void cmd(String script)
int cmd(String script)
void tool(String toolName)

View File

@@ -41,8 +41,8 @@ class StepExecutor implements IStepExecutor {
}
@Override
void cmd(String script, boolean returnStatus = false) {
steps.cmd(script, returnStatus)
int cmd(String script, boolean returnStatus = false) {
return steps.cmd(script, returnStatus)
}
@Override

View File

@@ -35,4 +35,28 @@ class cmdTest {
rule.assertLogContains('helloWorld', rule.buildAndAssertSuccess(workflowJob))
}
@Test
void "cmd should return status"() {
def pipeline = '''
pipeline {
agent any
stages {
stage('test') {
steps {
script {
def status = cmd("false", true)
echo "status = $status"
}
}
}
}
}
'''.stripIndent()
final CpsFlowDefinition flow = new CpsFlowDefinition(pipeline, true)
final WorkflowJob workflowJob = rule.createProject(WorkflowJob, 'project')
workflowJob.definition = flow
rule.assertLogContains('status = 1', rule.buildAndAssertSuccess(workflowJob))
}
}

View File

@@ -5,5 +5,5 @@ int call(String script, boolean returnStatus = false) {
ContextRegistry.registerDefaultContext(this)
def cmd = new Cmd(script, returnStatus)
cmd.run()
return cmd.run()
}