jenkins:genjob

Full name:

org.kuali.maven.plugins:jenkins-maven-plugin:1.2.3:genjob

Description:

Generate an XML config file in the format required for a Jenkins job

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
excludeVersion boolean - If true, the version of the Maven project is not included in the job name
Default value is: true.
failOnError boolean - If 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-publish". To turn off expansion set jobTypes to the empty string, null, or NONE
Default value is: publish,unit,license,release.
stopOnError boolean - If 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.
style String - The style of Jenkins job. Default styles are freestyle and maven. This parameter must be one of the default styles or match the name of a custom style supplied to the plugin
Default value is: freestyle.
successCodes String - Comma separated list of integers that represent a Jenkins CLI command completing successfully
Default value is: 0.
timestampFormat String - The format for timestamp displays
Default value is: yyyy-MM-dd HH:mm:ss z.
type String - The type of job to generate. Maven GAV info is combined with 'type' to derive the complete job name eg 'jenkins-maven-plugin-1.0-publish'
Default value is: publish.
workingDir File - The working directory for the plugin
Default value is: ${project.build.directory}/jenkins.

Optional Parameters

Name Type Since Description
hostname String - The DNS name of a Jenkins instance to connect to (used when ssh is enabled)
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.
sshEnabled boolean - If true, Maven will issue Jenkins CLI commands over ssh instead of via java -jar jenkins-cli.jar
Default value is: true.
sshPort int - For ssh enabled calls, this is the port the Jenkins server has been configured to listen on for SSH connections.
Default value is: 45358.
sshVerbose boolean - If true, ssh is executed with -v. Useful for troubleshooting ssh issues
Default value is: false.
styles List - Optional List of custom Style xml templates. Custom style templates are supplied to the plugin like this:
<configuration>
  <styles>
    <style>
      <name>my-custom-style</name>
      <template>classpath:org/foo/bar/my-custom-style.xml</template>
    </style>
  </styles>
</configuration>

url String - The fully qualified url of a Jenkins instance to connect to. This is required if sshEnabled is false.
Default value is: ${project.ciManagement.url}.
username String - Username for an account on the Jenkins instance (used when ssh is enabled)
Default value is: ${user.name}.

Parameter Details

excludeVersion:

If true, the version of the Maven project is not included in the job name
  • Type: boolean
  • Required: Yes
  • Expression: ${jenkins.excludeVersion}
  • Default: true

failOnError:

If 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

hostname:

The DNS name of a Jenkins instance to connect to (used when ssh is enabled)
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.hostname}

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-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}

sshEnabled:

If true, Maven will issue Jenkins CLI commands over ssh instead of via java -jar jenkins-cli.jar
  • Type: boolean
  • Required: No
  • Expression: ${jenkins.sshEnabled}
  • Default: true

sshPort:

For ssh enabled calls, this is the port the Jenkins server has been configured to listen on for SSH connections.
  • Type: int
  • Required: No
  • Expression: ${jenkins.sshPort}
  • Default: 45358

sshVerbose:

If true, ssh is executed with -v. Useful for troubleshooting ssh issues
  • Type: boolean
  • Required: No
  • Expression: ${jenkins.sshVerbose}
  • Default: false

stopOnError:

If 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

style:

The style of Jenkins job. Default styles are freestyle and maven. This parameter must be one of the default styles or match the name of a custom style supplied to the plugin
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.style}
  • Default: freestyle

styles:

Optional List of custom Style xml templates. Custom style templates are supplied to the plugin like this:
<configuration>
  <styles>
    <style>
      <name>my-custom-style</name>
      <template>classpath:org/foo/bar/my-custom-style.xml</template>
    </style>
  </styles>
</configuration>
  • Type: java.util.List
  • Required: No
  • Expression: ${jenkins.styles}

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

timestampFormat:

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

type:

The type of job to generate. Maven GAV info is combined with 'type' to derive the complete job name eg 'jenkins-maven-plugin-1.0-publish'
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${jenkins.type}
  • Default: publish

url:

The fully qualified url of a Jenkins instance to connect to. This is required if sshEnabled is false.
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.url}
  • Default: ${project.ciManagement.url}

username:

Username for an account on the Jenkins instance (used when ssh is enabled)
  • Type: java.lang.String
  • Required: No
  • Expression: ${jenkins.username}
  • Default: ${user.name}

workingDir:

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