You've already forked jenkins-lib
forked from jenkins/jenkins-lib
Возврат значения из шага cmd
This commit is contained in:
@@ -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)
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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))
|
||||
}
|
||||
}
|
@@ -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()
|
||||
}
|
||||
|
Reference in New Issue
Block a user