Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
Example usage:
"standard": {
node {
xwikiBuild {
goals = "clean install"
"test": {
node {
xwikiBuild {
goals = "clean deploy"
The following options are available:
* `goals` = `'clean install'` (default is `'clean deploy'` for ``'master'` and ``'stable-*'` branches
and ``'clean install'` for the rest)
* `profiles` = `'quality'` (default is `'quality,legacy,integration-tests,jetty,hsqldb,firefox'`)
* `mavenOpts` = `'-Xmx1024m'` (default is `'-Xmx1536m -Xms256m' for java8 and '-Xmx1536m -Xms256m -XX:MaxPermSize=512m'`
for java7)
* `mavenTool` = `'Maven'` (default to empty which means using the Maven version installed locally on the host)
* `properties` = `'-Dparam1=value1 -Dparam2value2'` (default is empty)
* `javaTool` = `'java7'` (default is `'official'`)
* `timeout` = `60` (default is `240` minutes)
* `disabled` = `true` (allows disabling a build, defaults to `false`)
* `xvnc` = `false` (disable running xvnc, useful when running on a local Jenkins, defaults to `true`)
* `pom` = `'some/other/pom.xml'` (defaults to `'pom.xml'`)
* `archiveArtifacts` = `true` (defaults to `false` since we don't need that as we push to a maven repo)
* `fingerprintDependencies` = `true` (default to `false` since it's time consuming and is not required for the Maven
plugin's ability to trigger downstream jobs)
* `skipCheckout` = `true` (default is `false`). If true then don't perform a SCM checkout by default. This is useful to
be able to use this library for simple pipeline jobs (without a `Jenkinsfile`). In this case the pipeline
would do the checkout.
* `mavenFlags` = `'--projects ... -amd -U -e'` (default is `'-U -e'`)
* `jobProperties` = `[parameters([string(defaultValue: 'standard', description: 'Job type', name: 'type')])]`. Sets
properties that will be merged (and take precedence when on the same content) with the default ones. This allows
adding some crons, parameters, etc.
* `skipMail` = true (default is `false`). If true then don't send emails when the job or tests fail.
* `sonar` = `true` (by default it's `false`). If `true` then deploy the result of sonar:sonar to the defined `'sonar'`
configuration in Jenkins.
* `skipChangeLog` = true (by default it's `false`). If true then don't add changelog to display in the UI when checking
out code. This can be used when calling xwikiBuild several times in a job to avoid duplicate change logs.
* `daysToKeepStr` = if specified, build records are only kept up to this number of days. The value must be a String.
* `javadoc` = false (`true` by default). If true build and validate the javadoc.
* `dockerHubSecretId` = `secretId` (by default it's `xwikici`). Id of the text secret defined in Jenkins that contains
the Personal Access Token (PAT) for the `dockerHubUserId` user id on DockerHub. This is used to log into DockerHub
to increase the docker image pull rate limit. Use an empty string to not log in against DockerHub.
* `dockerHubUserId` = `userId` (by default it's `xwikici`). Id of the DockerHub user. See `dockerHubSecretId` above.