jenkins:cli

Full name:

org.kuali.maven.plugins:jenkins-maven-plugin:1.1.13-SNAPSHOT:cli

Description:

Connect to a Jenkins server and execute one or more Jenkins CLI commands.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: test.
  • The goal is thread-safe and supports parallel builds.

Required Parameters

Name Type Since Description
cmd String - Jenkins CLI command to issue eg "help", "version", "who-ami-i", "build my-job -c -s" etc
Default value is: version.
failOnError boolean - If set to true, the Maven build will fail if Jenkins CLI returns a non-zero exit value, otherwise the Maven build will continue
Default value is: true.
jobTypes String - Comma separated list of known job types. When specifying a job name these can be used as shorthand for the fully qualified job name. eg "publish" gets expanded to "jenkins-maven-plugin-1.1-publish". To turn off expansion set 'jobTypes' to the empty string, null, or 'NONE'
Default value is: publish,unit,license,release.
stopOnError boolean - If set to true, the build will fail the first time Jenkins CLI encounters an issue. When false, mojo's that issue multiple CLI requests, will proceed through their list of requests and then fail at the end if an issue was encountered along the way.
Default value is: false.
successCodes String - Comma separated list of integers that represent a Jenkins CLI command completing successfully
Default value is: 0.
template String - The location of the jenkins job config template
Default value is: classpath:org/kuali/jenkins/jobs/template.xml.
timestampFormat String - The format for timestamp displays
Default value is: yyyy-MM-dd HH:mm:ss z.
url String - The Jenkins instance to connect to.
Default value is: ${project.ciManagement.url}.
workingDir File - The working directory for the plugin
Default value is: ${project.build.directory}/jenkins.

Optional Parameters

Name Type Since Description
commands List - List of commands to issue to Jenkins CLI eg "help", "version", "who-ami-i" etc If 'cmds' is provided 'cmd' is ignored
majorVersion String - This is the "major version" for the project. For a project with the version "1.1.0" the major version is "1.1". If not provided, this value is filled in automatically based on information from the POM.
scmType String - This is the type of SCM for the project eg "svn" or "git". If not provided, this value is filled in automatically based on information in the POM.
scmUrl String - This is the SCM url for the project eg "http://svn.kuali.org/repos/foundation/trunk/jenkins-maven-plugin". If not provided, this value is filled in automatically based on information in the POM.
stdin String - Anything supplied here is provided as input to the standard input stream of Jenkins CLI
stdinUrl String - This can be a file on the file system, a classpath resource using Spring's "classpath:" notation, or any other url Spring 3.0 resource loading can understand. If supplied, the content of the url is provided as input to the standard input stream of Jenkins CLI. If 'stdinUrl' is supplied 'stdin' is ignored.

Parameter Details

cmd:

Jenkins CLI command to issue eg "help", "version", "who-ami-i", "build my-job -c -s" etc
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.cmd}
  • Default: version

commands:

List of commands to issue to Jenkins CLI eg "help", "version", "who-ami-i" etc If 'cmds' is provided 'cmd' is ignored
  • Type: java.util.List
  • Required: No

failOnError:

If set to true, the Maven build will fail if Jenkins CLI returns a non-zero exit value, otherwise the Maven build will continue
  • Type: boolean
  • Required: Yes
  • Expression: ${jenkins.failOnError}
  • Default: true

jobTypes:

Comma separated list of known job types. When specifying a job name these can be used as shorthand for the fully qualified job name. eg "publish" gets expanded to "jenkins-maven-plugin-1.1-publish". To turn off expansion set 'jobTypes' to the empty string, null, or 'NONE'
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.jobTypes}
  • Default: publish,unit,license,release

majorVersion:

This is the "major version" for the project. For a project with the version "1.1.0" the major version is "1.1". If not provided, this value is filled in automatically based on information from the POM.
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.majorVersion}

scmType:

This is the type of SCM for the project eg "svn" or "git". If not provided, this value is filled in automatically based on information in the POM.
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.scmType}

scmUrl:

This is the SCM url for the project eg "http://svn.kuali.org/repos/foundation/trunk/jenkins-maven-plugin". If not provided, this value is filled in automatically based on information in the POM.
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.scmUrl}

stdin:

Anything supplied here is provided as input to the standard input stream of Jenkins CLI
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.stdin}

stdinUrl:

This can be a file on the file system, a classpath resource using Spring's "classpath:" notation, or any other url Spring 3.0 resource loading can understand. If supplied, the content of the url is provided as input to the standard input stream of Jenkins CLI. If 'stdinUrl' is supplied 'stdin' is ignored.
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.stdinUrl}

stopOnError:

If set to true, the build will fail the first time Jenkins CLI encounters an issue. When false, mojo's that issue multiple CLI requests, will proceed through their list of requests and then fail at the end if an issue was encountered along the way.
  • Type: boolean
  • Required: Yes
  • Expression: ${jenkins.stopOnError}
  • Default: false

successCodes:

Comma separated list of integers that represent a Jenkins CLI command completing successfully
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.successCodes}
  • Default: 0

template:

The location of the jenkins job config template
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.template}
  • Default: classpath:org/kuali/jenkins/jobs/template.xml

timestampFormat:

The format for timestamp displays
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.timestampFormat}
  • Default: yyyy-MM-dd HH:mm:ss z

url:

The Jenkins instance to connect to.
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.url}
  • Default: ${project.ciManagement.url}

workingDir:

The working directory for the plugin
  • Type: java.io.File
  • Required: Yes
  • Expression: ${jenkins.workingDir}
  • Default: ${project.build.directory}/jenkins