Overview

A quick example:

node {
    sh 'echo hello world'
}

You can write any Groovy code you need, using Java API calls plus the GDK. You can also call Jenkins APIs and APIs in Jenkins plugins. (If Use Groovy Sandbox is checked, or you are not an administrator, not all APIs will be available.)

There are many special build steps available, like node and sh in the example. Below is a reference listing all steps available with your current set of plugins; other plugins offering Pipeline integration may be available on the update center.

Step parameters are given as key-value pairs; if there is just one mandatory parameter the name may be omitted, so

readFile 'build.properties'

is a shortcut for

readFile file: 'build.properties'

but if you specify multiple parameters they must all be named:

readFile file: 'build.properties', encoding: 'ISO-8859-1'

Many steps require complex nested configuration for a parameter. (And some nested configuration objects in turn have object-typed parameters.) There are three ways these nested objects may be specified, in decreasing order of preference:

  1. Some configuration objects define custom symbols. These are used with a notation looking like a step call, or other function call taking a map of named parameters:

    splitTests count(3)

    or to spell out the mandatory parameter names:

    splitTests parallelism: count(size: 3)

    Compare to the equivalent using the older second syntax option:

    splitTests parallelism: [$class: 'CountDrivenParallelism', size: 3]

    Some Pipeline steps delegating to a single object allow the actual step name to be omitted where unambiguous, so you can write simply:

    archiveArtifacts '**.txt'

    rather than:

    step([$class: 'ArtifactArchiver', artifacts: '**.txt'])

    The nested configuration is an actual value which can be saved into variables etc.:

    def parallelism(deterministic) {
        deterministic ? count(3) : time(15)
    }
    splitTests parallelism(true)
  2. As maps of parameters. Default values may be omitted. (Note that [1, 2, 3] is a list in Groovy whereas [a: 1, b: 2, c: 3] is a map.)

    The special map key $class is used to represent the simple or (where necessary) fully-qualified class name of the object being requested. $class may be omitted where the containing parameter allows only a single kind of nested object (or list of them):

    checkout([$class: 'GitSCM', userRemoteConfigs: [[url: 'git://…'], extensions: [[$class: 'CleanBeforeCheckout']]])

    In this example, GitSCM must be specified to distinguish the kind of SCM used by the delegate of checkout (the single mandatory parameter name delegate can be omitted), and CleanBeforeCheckout must be specified to distinguish the kind of GitSCMExtension used by the extensions of GitSCM—a “heterogeneous” list; but $class: 'UserRemoteConfig' may be omitted since the userRemoteConfigs of GitSCM are defined to contain only UserRemoteConfigs—it is a “homogeneous” list. (No such omission is permitted for homogeneous lists in the first syntax.)

    Note that in cases where a single parameter is given, with the name omitted, and that parameter is a map, it must be enclosed in parentheses to avoid a syntactic ambiguity.

  3. As actual Java objects:

    import hudson.plugins.git.*
    import hudson.plugins.git.extensions.impl.*
    checkout(new GitSCM([new UserRemoteConfig('git://…', null, null, null)], null, false, [], null, null, [new CleanBeforeCheckout()]))

    Besides the verbosity, such scripts cannot generally run in the Groovy sandbox without numerous signature approvals, making this mode unusable in typical secured Jenkins installations.

The Snippet Generator tool will produce the first syntax when possible, falling back to the second syntax using $class where necessary. Symbols are available in Jenkins core 2.2 and later, and some plugins.

DSL Reference

Steps

archiveArtifacts: Archive the artifacts
Archives the build artifacts (for example, distribution zip files or jar files) so that they can be downloaded later. Archived files will be accessible from the Jenkins webpage.
Normally, Jenkins keeps artifacts for a build as long as a build log itself is kept, but if you don't need old artifacts and would rather save disk space, you can do so.

Note that the Maven job type automatically archives any produced Maven artifacts. Any artifacts configured here will be archived on top of that. Automatic artifact archiving can be disabled under the advanced Maven options.
artifacts
You can use wildcards like 'module/dist/**/*.zip'. See the includes attribute of Ant fileset for the exact format. The base directory is the workspace. You can only archive files that are located in your workspace.
Type:String
allowEmptyArchive (optional)
Normally, a build fails if archiving returns zero artifacts. This option allows the archiving process to return nothing without failing the build. Instead, the build will simply throw a warning.
Type:boolean
caseSensitive (optional)
Artifact archiver uses Ant org.apache.tools.ant.DirectoryScanner which by default is case sensitive. For instance, if the job produces *.hpi files, pattern "**/*.HPI" will fail to find them.

This option can be used to disable case sensitivity. When it's unchecked, pattern "**/*.HPI" will match any *.hpi files, or pattern "**/cAsEsEnSiTiVe.jar" will match a file called caseSensitive.jar.
Type:boolean
defaultExcludes (optional)
Type:boolean
excludes (optional)
Optionally specify the 'excludes' pattern, such as "foo/bar/**/*". A file that matches this mask will not be archived even if it matches the mask specified in 'files to archive' section.
Type:String
fingerprint (optional)
Type:boolean
onlyIfSuccessful (optional)
Type:boolean
bat: Windows Batch Script
script
Executes a Batch script. Multiple lines allowed. When using the returnStdout flag, you probably wish to prefix this with @, lest the command itself be included in the output.
Type:String
encoding (optional)
Encoding of process output. In the case of returnStdout, applies to the return value of this step; otherwise, or always for standard error, controls how text is copied to the build log. If unspecified, uses the system default encoding of the node on which the step is run. If there is any expectation that process output might include non-ASCII characters, it is best to specify the encoding explicitly. For example, if you have specific knowledge that a given process is going to be producing UTF-8 yet will be running on a node with a different system encoding (typically Windows, since every Linux distribution has defaulted to UTF-8 for a long time), you can ensure correct output by specifying: encoding: 'UTF-8'
Type:String
returnStatus (optional)
Normally, a script which exits with a nonzero status code will cause the step to fail with an exception. If this option is checked, the return value of the step will instead be the status code. You may then compare it to zero, for example.
Type:boolean
returnStdout (optional)
If checked, standard output from the task is returned as the step value as a String, rather than being printed to the build log. (Standard error, if any, will still be printed to the log.) You will often want to call .trim() on the result to strip off a trailing newline.
Type:boolean
build: Build a job
Triggers a new build for a given job.
job
Name of a downstream job to build. May be another Pipeline job, but more commonly a freestyle or other project. Use a simple name if the job is in the same folder as this upstream Pipeline job; otherwise can use relative paths like ../sister-folder/downstream or absolute paths like /top-level-folder/nested-folder/downstream.
Type:String
parameters (optional)
Array/List:
Nested choice of objects
booleanParam
name
Type:String
value
Type:boolean
credentials
name
Type:String
value
Type:String
description
Type:String
file
name
Type:String
file
Nested choice of objects
$class: 'JiraIssueParameterValue'
name
Type:String
value
Type:String
$class: 'JiraVersionParameterValue'
name
Type:String
version
Type:String
password
name
Type:String
value
Type:String
description
Type:String
$class: 'PromotedBuildParameterValue'
name
Type:String
runId
Type:String
description
Type:String
run
name
Type:String
runId
Type:String
description
Type:String
string
name
Type:String
value
Type:String
text
name
Type:String
value
Type:String
propagate (optional)

If set, then if the downstream build is anything but successful (blue ball), this step fails. If disabled, then this step succeeds even if the downstream build is unstable, failed, etc.; use the result property of the return value as needed.

Type:boolean
quietPeriod (optional)
Optional alternate quiet period (in seconds) before building. If unset, defaults to the quiet period defined by the downstream project (or finally to the system-wide default quiet period).
Type:int
wait (optional)
Type:boolean
checkout: Check out from version control
scm
Nested choice of objects
$class: 'GitSCM'
userRemoteConfigs
Specify the repository to track. This can be a URL or a local file path. Note that for super-projects (repositories with submodules), only a local file path or a complete URL is valid. The following are examples of valid git URLs.
  • ssh://git@github.com/github/git.git
  • git@github.com:github/git.git (short notation for ssh protocol)
  • ssh://user@other.host.com/~/repos/R.git (to access the repos/R.git repository in the user's home directory)
  • https://github.com/github/git.git
  • git://github.com/github/git.git

If the repository is a super-project, the location from which to clone submodules is dependent on whether the repository is bare or non-bare (i.e. has a working directory).
  • If the super-project is bare, the location of the submodules will be taken from .gitmodules.
  • If the super-project is not bare, it is assumed that the repository has each of its submodules cloned and checked out appropriately. Thus, the submodules will be taken directly from a path like ${SUPER_PROJECT_URL}/${SUBMODULE}, rather than relying on information from .gitmodules.
For a local URL/path to a super-project, git rev-parse --is-bare-repository is used to detect whether the super-project is bare or not.
For a remote URL to a super-project, the ending of the URL determines whether a bare or non-bare repository is assumed:
  • If the remote URL ends with /.git, a non-bare repository is assumed.
  • If the remote URL does NOT end with /.git, a bare repository is assumed.
Array/List:
Nested object
url
Specify the URL of this remote repository. This uses the same syntax as your git clone command.
Type:String
name
ID of the repository, such as origin, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote command. If left empty, Jenkins will generate unique names for you.

You normally want to specify this when you have multiple remote repositories.

Type:String
refspec
A refspec controls the remote refs to be retrieved and how they map to local refs. If left blank, it will default to the normal behaviour of git fetch, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME. This default behaviour is OK for most cases.

In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME is the value you specify in the above "name of repository" textbox.

When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master would only retrieve the master branch and nothing else.

The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.

Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop retrieves the master branch and the develop branch and nothing else.

See the term definition in Git user manual for more details.

Type:String
credentialsId
Type:String
branches
Array/List:
Nested object
name

Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.

The safest way is to use the refs/heads/<branchName> syntax. This way the expected branch is unambiguous.

If your branch name has a / in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar will actually match bar

.

If you use a wildcard branch specifier, with a slash (e.g. release/), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/

Possible options:

  • <branchName>
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one. Better use refs/heads/<branchName>.
    E.g. master, feature1,...
  • refs/heads/<branchName>
    Tracks/checks out the specified branch.
    E.g. refs/heads/master, refs/heads/feature1/master,...
  • <remoteRepoName>/<branchName>
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one.
    Better use refs/heads/<branchName>.
    E.g. origin/master
  • remotes/<remoteRepoName>/<branchName>
    Tracks/checks out the specified branch.
    E.g. remotes/origin/master
  • refs/remotes/<remoteRepoName>/<branchName>
    Tracks/checks out the specified branch.
    E.g. refs/remotes/origin/master
  • <tagName>
    This does not work since the tag will not be recognized as tag.
    Use refs/tags/<tagName> instead.
    E.g. git-2.3.0
  • refs/tags/<tagName>
    Tracks/checks out the specified tag.
    E.g. refs/tags/git-2.3.0
  • <commitId>
    Checks out the specified commit.
    E.g. 5062ac843f2b947733e6a3b105977056821bd352, 5062ac84, ...
  • ${ENV_VARIABLE}
    It is also possible to use environment variables. In this case the variables are evaluated and the result is used as described above.
    E.g. ${TREEISH}, refs/tags/${TAGNAME},...
  • <Wildcards>
    The syntax is of the form: REPOSITORYNAME/BRANCH. In addition, BRANCH is recognized as a shorthand of */BRANCH, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches* would match origin/branches-foo but not origin/branches/foo, while origin/branches** would match both origin/branches-foo and origin/branches/foo.
  • :<regular expression>
    The syntax is of the form: :regexp. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.
    Examples:
    • :^(?!(origin/prefix)).*
      • matches: origin or origin/master or origin/feature
      • does not match: origin/prefix or origin/prefix_123 or origin/prefix-abc
    • :origin/release-\d{8}
      • matches: origin/release-20150101
      • does not match: origin/release-2015010 or origin/release-201501011 or origin/release-20150101-something
    • :^(?!origin/master$|origin/develop$).*
      • matches: origin/branch1 or origin/branch-2 or origin/master123 or origin/develop-123
      • does not match: origin/master or origin/develop

Type:String
doGenerateSubmoduleConfigurations
Type:boolean
submoduleCfg
Array/List:
org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.plugins.git.SubmoduleConfig
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
gitTool
Type:String
extensions
Array/List:
Nested choice of objects
$class: 'AuthorInChangelog'
The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

$class: 'BuildChooserSetting'
When you are interested in using a job to build multiple heads (most typically multiple branches), you can choose how Jenkins choose what branches to build in what order.

This extension point in Jenkins is used by many other plugins to control the job to build specific commits. When you activate those plugins, you may see them installing a custom strategy here.

buildChooser
Nested choice of objects
$class: 'AncestryBuildChooser'
maximumAgeInDays
Type:int
ancestorCommitSha1
Type:String
$class: 'DefaultBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
This method calculates the changelog against the specified branch.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

options
Nested object
compareRemote
Name of the repository, such as origin, that contains the branch you specify below.
Type:String
compareTarget
The name of the branch within the named repository to compare against.
Type:String
$class: 'CheckoutOption'
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanBeforeCheckout'
Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CleanCheckout'
Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CloneOption'
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DisableRemotePoll'
Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

If you don't want to / can't use this.

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).
$class: 'GitLFSPull'
$class: 'IgnoreNotifyCommit'
If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.
$class: 'LocalBranch'
If given, checkout the revision to build as HEAD on this branch.

If selected, and its value is an empty string or "**", then the branch name is computed from the remote branch without the origin. In that case, a remote branch origin/master will be checked out to a local branch named master, and a remote branch origin/develop/new-feature will be checked out to a local branch named develop/newfeature.

Please note that this has not been tested with submodules.

localBranch
Type:String
$class: 'MessageExclusion'
excludedMessage
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed with message matched to Pattern when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct message.

Exclusion uses Pattern matching

.*\[maven-release-plugin\].*
The example above illustrates that if only revisions with "[maven-release-plugin]" message in first comment line have been committed to the SCM a build will not occur.

You can create more complex patterns using embedded flag expressions.

(?s).*FOO.*
This example will search FOO message in all comment lines.
Type:String
$class: 'PathRestriction'
If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

includedRegions
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.
Type:String
excludedRegions
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
Type:String
$class: 'PerBuildTag'
Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
$class: 'PreBuildMerge'
These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options
Nested object
mergeTarget
The name of the branch within the named repository to merge to, such as master.
Type:String
fastForwardMode (optional)
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation
Values:
FF
FF_ONLY
NO_FF
mergeRemote (optional)
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
Type:String
mergeStrategy (optional)
Merge strategy selection. This feature is not fully implemented in JGIT.
Values:
DEFAULT
RESOLVE
RECURSIVE
OCTOPUS
OURS
SUBTREE
RECURSIVE_THEIRS
$class: 'PruneStaleBranch'
Run "git remote prune" for each remote, to prune obsolete local branches.
$class: 'RelativeTargetDirectory'
relativeTargetDir
Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.
Type:String
$class: 'ScmName'

Unique name for this SCM. Needed when using Git within the Multi SCM plugin.

name
Type:String
$class: 'SparseCheckoutPaths'

Specify the paths that you'd like to sparse checkout. This may be used for saving space (Think about a reference repository). Be sure to use a recent version of Git, at least above 1.7.10

sparseCheckoutPaths
Array/List:
Nested object
path
Type:String
$class: 'SubmoduleOption'
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserExclusion'
excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

Each exclusion uses literal pattern matching, and must be separated by a new line.

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
Type:String
$class: 'UserIdentity'
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WipeWorkspace'
Delete the contents of the workspace before building, ensuring a fully fresh workspace.
$class: 'MercurialSCM'
source
Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.
Type:String
browser (optional)
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
clean (optional)
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
Type:boolean
credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.
Type:String
disableChangeLog (optional)
When checked, Hudson will not calculate the Mercurial changelog for each build. Disabling the changelog can decrease the amount of time needed to update a very large repository.
Type:boolean
installation (optional)
Type:String
modules (optional)
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)
Type:String
revision (optional)
Specify the branch or tag name you would like to track. (If you do not type anything, the default value is the default branch.)
Type:String
revisionType (optional)
Specify the kind of revision you expect Jenkins to update your working copy to.
Values:
BRANCH
TAG
CHANGESET
REVSET
subdir (optional)
If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.
Type:String
none
changelog (optional)
Type:boolean
poll (optional)
Type:boolean
containerLog: Get container log from Kubernetes
name
Name of the container, as specified in containerTemplate.
Type:String
limitBytes (optional)
If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.
Type:int
returnLog (optional)
Return the container log. If not checked, the log will be printed to the build log.
Type:boolean
sinceSeconds (optional)
A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned.
Type:int
tailingLines (optional)
If set, the number of lines from the end of the log to show. If not specified, log is shown from the creation of the container or limited by "sinceSeconds".
Type:int
deleteDir: Recursively delete the current directory from the workspace
Recursively deletes the current directory and its contents. Symbolic links and junctions will not be followed but will be removed. To delete a specific directory of a workspace wrap the deleteDir step in a dir step.
dependencyCheckAnalyzer: Invoke Dependency-Check analysis
scanpath
Type:String
outdir
Type:String
datadir
Type:String
suppressionFile
Type:String
hintsFile
Type:String
zipExtensions
Type:String
isAutoupdateDisabled
Type:boolean
includeHtmlReports
Type:boolean
includeVulnReports
Type:boolean
includeJsonReports
Type:boolean
includeCsvReports
Type:boolean
skipOnScmChange
Type:boolean
skipOnUpstreamChange
Type:boolean
dependencyCheckPublisher: Publish Dependency-Check results
canComputeNew (optional)
Type:boolean
canResolveRelativePaths (optional)
Type:boolean
canRunOnFailed (optional)
Type:boolean
defaultEncoding (optional)
Type:String
failedNewAll (optional)
Type:String
failedNewHigh (optional)
Type:String
failedNewLow (optional)
Type:String
failedNewNormal (optional)
Type:String
failedTotalAll (optional)
Type:String
failedTotalHigh (optional)
Type:String
failedTotalLow (optional)
Type:String
failedTotalNormal (optional)
Type:String
healthy (optional)
Type:String
pattern (optional)
Type:String
shouldDetectModules (optional)
Type:boolean
thresholdLimit (optional)
Type:String
unHealthy (optional)
Type:String
unstableNewAll (optional)
Type:String
unstableNewHigh (optional)
Type:String
unstableNewLow (optional)
Type:String
unstableNewNormal (optional)
Type:String
unstableTotalAll (optional)
Type:String
unstableTotalHigh (optional)
Type:String
unstableTotalLow (optional)
Type:String
unstableTotalNormal (optional)
Type:String
useDeltaValues (optional)
Type:boolean
usePreviousBuildAsReference (optional)
Type:boolean
useStableBuildAsReference (optional)
Type:boolean
dependencyCheckUpdateOnly: Invoke Dependency-Check update only
datadir
Type:String
dependencyTrackPublisher: Publish BoM to Dependency-Track
artifact
Type:String
artifactType
Type:String
synchronous
Type:boolean
projectId (optional)
Type:String
projectName (optional)
Type:String
projectVersion (optional)
Type:String
dir: Change current directory
Change current directory. Any step inside the dir block will use this directory as current and any relative path will use it as base path.
path
Type:String
echo: Print Message
message
Type:String
error: Error signal
Signals an error. Useful if you want to conditionally abort some part of your program. You can also just throw new Exception(), but this step will avoid printing a stack trace.
message
Type:String
fileExists: Verify if file exists in workspace
Checks if the given file (as relative path to current directory) exists. Returns true | false.
file
Relative (/-separated) path to file within a workspace to verify its existence.
Type:String
fingerprint: Record fingerprints of files to track usage
Jenkins can record the 'fingerprint' of files (most often jar files) to keep track of where/when those files are produced and used. When you have inter-dependent projects on Jenkins, this allows you to quickly find out answers to questions like:
  • I have foo.jar on my HDD but which build number of FOO did it come from?
  • My BAR project depends on foo.jar from the FOO project.
    • Which build of foo.jar is used in BAR #51?
    • Which build of BAR contains my bug fix to foo.jar #32?

To use this feature, all of the involved projects (not just the project in which a file is produced, but also the projects in which the file is used) need to use this and record fingerprints.

See this document for more details.

targets
Can use wildcards like module/dist/**/*.zip (see the @includes of Ant fileset for the exact format). The base directory is the workspace.
Type:String
git: Git

Git step. It performs a clone from the specified repository.

Note that this step is shorthand for the generic SCM step:

checkout([$class: 'GitSCM', branches: [[name: '*/master']], 
     userRemoteConfigs: [[url: 'http://git-server/user/repository.git']]])
    

url
Type:String
branch (optional)
Type:String
changelog (optional)
Type:boolean
credentialsId (optional)
Type:String
poll (optional)
Type:boolean
input: Wait for interactive input

This step pauses Pipeline execution and allows the user to interact and control the flow of the build. Only a basic "process" or "abort" option is provided in the stage view.

You can optionally request information back, hence the name of the step. The parameter entry screen can be accessed via a link at the bottom of the build console log or via link in the sidebar for a build.

message

This parameter gives a prompt which will be shown to a human:

    Ready to go?
    Proceed or Abort
    

If you click "Proceed" the build will proceed to the next step, if you click "Abort" the build will be aborted.

Type:String
id (optional)

Every input step has an unique ID. It is used in the generated URL to proceed or abort.

A specific ID could be used, for example, to mechanically respond to the input from some external process/tool.

Type:String
ok (optional)
Type:String
parameters (optional)

Request that the submitter specify one or more parameter values when approving. If just one parameter is listed, its value will become the value of the input step. If multiple parameters are listed, the return value will be a map keyed by the parameter names. If parameters are not requested, the step returns nothing if approved.

On the parameter entry screen you are able to enter values for parameters that are defined in this field.

Array/List:
Nested choice of objects
booleanParam
name
Type:String
defaultValue
Type:boolean
description
Type:String
choice
name
Type:String
description
Type:String
choices (optional)
Nested choice of objects
(not enumerable)
credentials
Defines a credentials parameter, which you can use during a build.

For security reasons, the credential is NOT directly exposed, the UUID of the credential is exposed.

However, the selected credential is available through variable substitution in some other parts of the configuration. The string value will be the UUID of the credential. A supporting plugin can thus use the UUID to retrieve the selected credential and expose it to the build in an appropriate way.
name
Type:String
description
Type:String
defaultValue
The default credentials to use.
Type:String
credentialType
Type:String
required
When this option is selected, the credentials selection drop down will not provide the empty selection as one of the options. This will not prevent a build without a value if there are no credentials available, for example if the job does not have access to any credentials of the correct type or there is no default value and the user starting the build either does not have any credentials of the correct type in their personal credentials store or they do not have permissions on the job to use credentials from their personal store.
Type:boolean
file
name
Type:String
description
Type:String
$class: 'JiraIssueParameterDefinition'
name
Type:String
description
Type:String
jiraIssueFilter
Specify the JQL search on JIRA instance. For a build, Jenkins will run this query, populate a drop-down list box, then ask the user to select one.
Type:String
$class: 'JiraVersionParameterDefinition'
name
Type:String
description
Type:String
jiraProjectKey

Specify the project key. A project key is the all capitals part before the issue number in JIRA.

(EXAMPLE-100)

Type:String
jiraReleasePattern

Specify a regular expression which release names have to match to be listed. Leave this blank to match all issues.

Example:

v[0-9]+([.][0-9]+)+ will match v1.0.1, v123, v12.0.1
Type:String
jiraShowReleased
Type:String
jiraShowArchived
Type:String
password
name
Type:String
defaultValue
Type:String
description
Type:String
$class: 'PromotedBuildParameterDefinition'
name
Type:String
jobName
Type:String
process
Type:String
description
Type:String
run
name
Type:String
projectName
Type:String
description
Type:String
filter
Values:
ALL
STABLE
SUCCESSFUL
COMPLETED
string
name
Type:String
defaultValue
Type:String
description
Type:String
trim
Type:boolean
text
name
Type:String
defaultValue
Type:String
description
Type:String
submitter (optional)
User IDs and/or external group names of person or people permitted to respond to the input, separated by ','. If you configure "alice, bob", will match with "alice" but not with "bob". You need to remove all the white spaces.
Type:String
submitterParameter (optional)
If specified, this is the name of the return value that will contain the ID of the user that approves this input. The return value will be handled in a fashion similar to the parameters value.
Type:String
isUnix: Checks if running on a Unix-like node
Returns true if enclosing node is running on a Unix-like system (such as Linux or Mac OS X), false if Windows.
jiraComment: JIRA: Add a comment to issue(s)
issueKey
Type:String
body
Type:String
jiraIssueSelector: JIRA: Issue selector
issueSelector (optional)
Nested choice of objects
$class: 'DefaultIssueSelector'
$class: 'ExplicitIssueSelector'
issueKeys
Type:String
$class: 'JqlIssueSelector'
jql
Type:String
$class: 'P4JobIssueSelector'
jiraSearch: JIRA: Search issues
jql
Type:String
junit: Archive JUnit-formatted test results
Jenkins understands the JUnit test report XML format (which is also used by TestNG). When this option is configured, Jenkins can provide useful information about test results, such as historical test result trends, a web UI for viewing test reports, tracking failures, and so on.

To use this feature, first set up your build to run tests, then specify the path to JUnit XML files in the Ant glob syntax, such as **/build/test-reports/*.xml. Be sure not to include any non-report files into this pattern. You can specify multiple patterns of files separated by commas.

Once there are a few builds running with test results, you should start seeing something like this.

testResults
Type:String
allowEmptyResults (optional)
If checked, the default behavior of failing a build on missing test result files or empty test results is changed to not affect the status of the build. Please note that this setting make it harder to spot misconfigured jobs or build failures where the test tool does not exit with an error code when not producing test report files.
Type:boolean
healthScaleFactor (optional)
The amplification factor to apply to test failures when computing the test result contribution to the build health score.
The default factor is 1.0
  • A factor of 0.0 will disable the test result contribution to build health score.
  • A factor of 0.1 means that 10% of tests failing will score 99% health
  • A factor of 0.5 means that 10% of tests failing will score 95% health
  • A factor of 1.0 means that 10% of tests failing will score 90% health
  • A factor of 2.0 means that 10% of tests failing will score 80% health
  • A factor of 2.5 means that 10% of tests failing will score 75% health
  • A factor of 5.0 means that 10% of tests failing will score 50% health
  • A factor of 10.0 means that 10% of tests failing will score 0% health
The factor is persisted with the build results, so changes will only be reflected in new builds.
Type:double
keepLongStdio (optional)
If checked, any standard output or error from a test suite will be retained in the test results after the build completes. (This refers only to additional messages printed to console, not to a failure stack trace.) Such output is always kept if the test failed, but by default lengthy output from passing tests is truncated to save space. Check this option if you need to see every log message from even passing tests, but beware that Jenkins's memory consumption can substantially increase as a result, even if you never look at the test results!
Type:boolean
testDataPublishers (optional)
Array/List:
Nested choice of objects
kubernetesDeploy: Deploy to Kubernetes
configs (optional)

The path patterns for the Kubernetes configurations you want to deploy, in the form of Ant glob syntax.

Type:String
credentialsType (optional)

Choose how to get the kubeconfig file to authenticate with the Kubernetes cluster management endpoint.

3 options are supported:

  1. Authenticate with Kube config file - Get the kubeconfig file from the workspace path.
  2. Fetch cluster details through SSH connection to the master node - Get the ~/.kube/config file through an SSH connection to the master node.
  3. Fill credentials details directly - Fill the contents in kubeconfig file directly.

See also: Configure kubectl

Type:String
dockerCredentials (optional)
Array/List:
Nested object
url
URL to the Docker registry you are using. May be left blank to use the public DockerHub registry (currently https://index.docker.io/v1/).
Type:String
credentialsId
Type:String
enableConfigSubstitution (optional)

Substitute variables (in the form $VARIABLE or ${VARIABLE}) in the configuration with values from Jenkins environment variables.

This allows you to use dynamic values produced during the build in your Kubernetes configurations, e.g., a dynamically generated Docker image tag which will be used later in the deployment.

Type:boolean
kubeConfig (optional)
Nested object
path (optional)
The kubeconfig file path relative to the current Jenkins workspace.
Type:String
kubeconfigId (optional)
Type:String
secretName (optional)
The secret name that you can use in the Kubernetes Deployment configuration for the imagePullSecrets entry. Environment variable substitution are supported for the name input, so you can use available environment variables to construct the name dynamically, e.g., some-secret-$BUILD_NUMBER. The name should be in the pattern [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*, i.e., dot (.) concatenated sequences of hyphen (-) separated alphanumeric words. (See Kubernetes Names)

If left blank, the plugin will generate a name based on the build name.

The secret name will be exposed with the environment variable $KUBERNETES_SECRET_NAME. You can use this in your Kubernetes configuration to reference the updated secret when the "Enable Variable Substitution in Config" option is enabled.


apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: some.private.registry.domain/nginx
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: $KUBERNETES_SECRET_NAME

Note that once the secret is created, it will only be updated by the plugin. You have to manually delete it when it is not used anymore. If this is a problem, you may use fixed name so every time the job runs, the secret gets updated and no new secret is created.

Type:String
secretNamespace (optional)
The Kubernetes namespace in which the secrets will be created with the credentials configured below.
Type:String
ssh (optional)
Nested object
sshCredentialsId (optional)
The SSH login credentials. Can be:
  • Username with password, or
  • SSH Username with private key
Type:String
sshServer (optional)
The SSH server address (<host>[:<port>]) of the Kubernetes master node. If port is omitted, the default SSH port 22 will be used.
Type:String
textCredentials (optional)
Nested object
certificateAuthorityData (optional)
The clusters.cluster.certificate-authority-data value in the kubeconfig file.
Type:String
clientCertificateData (optional)
The users.user.client-certificate-data value in the kubeconfig file.
Type:String
clientKeyData (optional)
The users.user.client-key-data value in the kubeconfig file.
Type:String
serverUrl (optional)
The clusters.cluster.server address in the kubeconfig. Generally, it should start with https://.
Type:String
library: Load a shared library on the fly

Load a library dynamically rather than using @Library syntax. You may use global variables defined in the library thereafter:


library 'mylib@master'
usefulFunction()

You may also load classes defined in the library by selecting their fully-qualified names like properties on the return value of this step, then call static methods or call constructors as if they were a method named new:


def utils = library('mylib').com.mycorp.jenkins.Utils.new(this)
utils.handyStuff()
identifier
A library name to load. Should normally match that of a predefined library. You can append a version after @. You may instead define a library inline here.
Type:String
changelog (optional)
Whether to include any changes in the shared library in the recent changes of jobs using the library. Defaults to including the changes.
Type:boolean
retriever (optional)
Nested choice of objects
legacySCM
Loads a library from any SCM plugin supported by Jenkins Pipeline, for example in the checkout step. Not all version expressions may be supported, no prevalidation of versions is available, and you must manually configure the SCM to refer to ${library.THISLIBNAME.version}.
scm
Nested choice of objects
$class: 'GitSCM'
userRemoteConfigs
Specify the repository to track. This can be a URL or a local file path. Note that for super-projects (repositories with submodules), only a local file path or a complete URL is valid. The following are examples of valid git URLs.
  • ssh://git@github.com/github/git.git
  • git@github.com:github/git.git (short notation for ssh protocol)
  • ssh://user@other.host.com/~/repos/R.git (to access the repos/R.git repository in the user's home directory)
  • https://github.com/github/git.git
  • git://github.com/github/git.git

If the repository is a super-project, the location from which to clone submodules is dependent on whether the repository is bare or non-bare (i.e. has a working directory).
  • If the super-project is bare, the location of the submodules will be taken from .gitmodules.
  • If the super-project is not bare, it is assumed that the repository has each of its submodules cloned and checked out appropriately. Thus, the submodules will be taken directly from a path like ${SUPER_PROJECT_URL}/${SUBMODULE}, rather than relying on information from .gitmodules.
For a local URL/path to a super-project, git rev-parse --is-bare-repository is used to detect whether the super-project is bare or not.
For a remote URL to a super-project, the ending of the URL determines whether a bare or non-bare repository is assumed:
  • If the remote URL ends with /.git, a non-bare repository is assumed.
  • If the remote URL does NOT end with /.git, a bare repository is assumed.
Array/List:
Nested object
url
Specify the URL of this remote repository. This uses the same syntax as your git clone command.
Type:String
name
ID of the repository, such as origin, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote command. If left empty, Jenkins will generate unique names for you.

You normally want to specify this when you have multiple remote repositories.

Type:String
refspec
A refspec controls the remote refs to be retrieved and how they map to local refs. If left blank, it will default to the normal behaviour of git fetch, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME. This default behaviour is OK for most cases.

In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME is the value you specify in the above "name of repository" textbox.

When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master would only retrieve the master branch and nothing else.

The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.

Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop retrieves the master branch and the develop branch and nothing else.

See the term definition in Git user manual for more details.

Type:String
credentialsId
Type:String
branches
Array/List:
Nested object
name

Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.

The safest way is to use the refs/heads/<branchName> syntax. This way the expected branch is unambiguous.

If your branch name has a / in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar will actually match bar

.

If you use a wildcard branch specifier, with a slash (e.g. release/), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/

Possible options:

  • <branchName>
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one. Better use refs/heads/<branchName>.
    E.g. master, feature1,...
  • refs/heads/<branchName>
    Tracks/checks out the specified branch.
    E.g. refs/heads/master, refs/heads/feature1/master,...
  • <remoteRepoName>/<branchName>
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one.
    Better use refs/heads/<branchName>.
    E.g. origin/master
  • remotes/<remoteRepoName>/<branchName>
    Tracks/checks out the specified branch.
    E.g. remotes/origin/master
  • refs/remotes/<remoteRepoName>/<branchName>
    Tracks/checks out the specified branch.
    E.g. refs/remotes/origin/master
  • <tagName>
    This does not work since the tag will not be recognized as tag.
    Use refs/tags/<tagName> instead.
    E.g. git-2.3.0
  • refs/tags/<tagName>
    Tracks/checks out the specified tag.
    E.g. refs/tags/git-2.3.0
  • <commitId>
    Checks out the specified commit.
    E.g. 5062ac843f2b947733e6a3b105977056821bd352, 5062ac84, ...
  • ${ENV_VARIABLE}
    It is also possible to use environment variables. In this case the variables are evaluated and the result is used as described above.
    E.g. ${TREEISH}, refs/tags/${TAGNAME},...
  • <Wildcards>
    The syntax is of the form: REPOSITORYNAME/BRANCH. In addition, BRANCH is recognized as a shorthand of */BRANCH, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches* would match origin/branches-foo but not origin/branches/foo, while origin/branches** would match both origin/branches-foo and origin/branches/foo.
  • :<regular expression>
    The syntax is of the form: :regexp. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.
    Examples:
    • :^(?!(origin/prefix)).*
      • matches: origin or origin/master or origin/feature
      • does not match: origin/prefix or origin/prefix_123 or origin/prefix-abc
    • :origin/release-\d{8}
      • matches: origin/release-20150101
      • does not match: origin/release-2015010 or origin/release-201501011 or origin/release-20150101-something
    • :^(?!origin/master$|origin/develop$).*
      • matches: origin/branch1 or origin/branch-2 or origin/master123 or origin/develop-123
      • does not match: origin/master or origin/develop

Type:String
doGenerateSubmoduleConfigurations
Type:boolean
submoduleCfg
Array/List:
org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.plugins.git.SubmoduleConfig
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
gitTool
Type:String
extensions
Array/List:
Nested choice of objects
$class: 'AuthorInChangelog'
The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

$class: 'BuildChooserSetting'
When you are interested in using a job to build multiple heads (most typically multiple branches), you can choose how Jenkins choose what branches to build in what order.

This extension point in Jenkins is used by many other plugins to control the job to build specific commits. When you activate those plugins, you may see them installing a custom strategy here.

buildChooser
Nested choice of objects
$class: 'AncestryBuildChooser'
maximumAgeInDays
Type:int
ancestorCommitSha1
Type:String
$class: 'DefaultBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
This method calculates the changelog against the specified branch.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

options
Nested object
compareRemote
Name of the repository, such as origin, that contains the branch you specify below.
Type:String
compareTarget
The name of the branch within the named repository to compare against.
Type:String
$class: 'CheckoutOption'
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanBeforeCheckout'
Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CleanCheckout'
Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CloneOption'
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DisableRemotePoll'
Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

If you don't want to / can't use this.

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).
$class: 'GitLFSPull'
$class: 'IgnoreNotifyCommit'
If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.
$class: 'LocalBranch'
If given, checkout the revision to build as HEAD on this branch.

If selected, and its value is an empty string or "**", then the branch name is computed from the remote branch without the origin. In that case, a remote branch origin/master will be checked out to a local branch named master, and a remote branch origin/develop/new-feature will be checked out to a local branch named develop/newfeature.

Please note that this has not been tested with submodules.

localBranch
Type:String
$class: 'MessageExclusion'
excludedMessage
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed with message matched to Pattern when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct message.

Exclusion uses Pattern matching

.*\[maven-release-plugin\].*
The example above illustrates that if only revisions with "[maven-release-plugin]" message in first comment line have been committed to the SCM a build will not occur.

You can create more complex patterns using embedded flag expressions.

(?s).*FOO.*
This example will search FOO message in all comment lines.
Type:String
$class: 'PathRestriction'
If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

includedRegions
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.
Type:String
excludedRegions
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
Type:String
$class: 'PerBuildTag'
Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
$class: 'PreBuildMerge'
These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options
Nested object
mergeTarget
The name of the branch within the named repository to merge to, such as master.
Type:String
fastForwardMode (optional)
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation
Values:
FF
FF_ONLY
NO_FF
mergeRemote (optional)
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
Type:String
mergeStrategy (optional)
Merge strategy selection. This feature is not fully implemented in JGIT.
Values:
DEFAULT
RESOLVE
RECURSIVE
OCTOPUS
OURS
SUBTREE
RECURSIVE_THEIRS
$class: 'PruneStaleBranch'
Run "git remote prune" for each remote, to prune obsolete local branches.
$class: 'RelativeTargetDirectory'
relativeTargetDir
Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.
Type:String
$class: 'ScmName'

Unique name for this SCM. Needed when using Git within the Multi SCM plugin.

name
Type:String
$class: 'SparseCheckoutPaths'

Specify the paths that you'd like to sparse checkout. This may be used for saving space (Think about a reference repository). Be sure to use a recent version of Git, at least above 1.7.10

sparseCheckoutPaths
Array/List:
Nested object
path
Type:String
$class: 'SubmoduleOption'
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserExclusion'
excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

Each exclusion uses literal pattern matching, and must be separated by a new line.

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
Type:String
$class: 'UserIdentity'
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WipeWorkspace'
Delete the contents of the workspace before building, ensuring a fully fresh workspace.
$class: 'MercurialSCM'
source
Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.
Type:String
browser (optional)
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
clean (optional)
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
Type:boolean
credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.
Type:String
disableChangeLog (optional)
When checked, Hudson will not calculate the Mercurial changelog for each build. Disabling the changelog can decrease the amount of time needed to update a very large repository.
Type:boolean
installation (optional)
Type:String
modules (optional)
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)
Type:String
revision (optional)
Specify the branch or tag name you would like to track. (If you do not type anything, the default value is the default branch.)
Type:String
revisionType (optional)
Specify the kind of revision you expect Jenkins to update your working copy to.
Values:
BRANCH
TAG
CHANGESET
REVSET
subdir (optional)
If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.
Type:String
none
modernSCM
Loads a library from an SCM plugin using newer interfaces optimized for this purpose. The recommended option when available.
scm
Nested choice of objects
bitbucket
Discovers branches and/or pull requests from a specific repository in either Bitbucket Cloud or a Bitbucket Server instance.
repoOwner

Specify the name of the Bitbucket Team or Bitbucket User Account.

It could be a Bitbucket Project also, if using Bitbucket Server. In this case (Bitbucket Server):

  • Use the project key, not the project name.
  • If using a user account instead of a project, add a "~" character before the username, i.e. "~joe".

Type:String
repository
The repository to scan.
Type:String
autoRegisterHook (optional)
Type:boolean
bitbucketServerUrl (optional)
Type:String
checkoutCredentialsId (optional)
Type:String
credentialsId (optional)
Credentials used to scan branches (also the default credentials to use when checking out sources)
Type:String
excludes (optional)
Type:String
id (optional)
Type:String
includes (optional)
Type:String
serverUrl (optional)
The server to connect to. The list of servers is configured in the Manage Jenkins » Configure Jenkins › Bitbucket Endpoints screen. The list of servers can include both Bitbucket Cloud as well as Bitbucket Server instances.
Type:String
traits (optional)
The behaviours control what is discovered from the Bitbucket repository. The behaviours are grouped into a number of categories:
Within repository
These behaviours determine what gets discovered. If you do not configure at least one discovery behaviour then nothing will be found!
General
These behaviours affect the configuration of each discovered branch / pull request. These behaviours are relevant to both Git and Mercurial based repositories
Git
These behaviours affect the configuration of each discovered branch / pull request if and only if the repository is a Git repository. If the repository is a Mercurial repository, these behaviours will be silently ignored.
Mercurial
These behaviours affect the configuration of each discovered branch / pull request if and only if the repository is a Mercurial repository. If the repository is a Git repository, these behaviours will be silently ignored.
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
github
repoOwner

Specify the name of the GitHub Organization or GitHub User Account.

Type:String
repository
The repository to scan.
Type:String
apiUri (optional)
The server to connect to. The list of servers is configured in the Manage Jenkins » Configure Jenkins › GitHub Enterprise Servers screen.
Type:String
buildForkPRHead (optional)
Type:boolean
buildForkPRMerge (optional)
Type:boolean
buildOriginBranch (optional)
Type:boolean
buildOriginBranchWithPR (optional)
Type:boolean
buildOriginPRHead (optional)
Type:boolean
buildOriginPRMerge (optional)
Type:boolean
credentialsId (optional)

Credentials used to scan branches and pull requests, check out sources and mark commit statuses.

Note that only "username with password" credentials are supported. Existing credentials of other kinds will be filtered out. This is because jenkins exercises GitHub API, and this last one does not support other ways of authentication.

If none is given, only the public repositories will be scanned, and commit status will not be set on GitHub.

If your organization contains private repositories, then you need to specify a credential from an user who have access to those repositories. This is done by creating a "username with password" credential where the password is GitHub personal access tokens. The necessary scope is "repo"

Type:String
excludes (optional)
Type:String
id (optional)
Type:String
includes (optional)
Type:String
traits (optional)
The behaviours control what is discovered from the GitHub repository. The behaviours are grouped into a number of categories:
Within repository
These behaviours determine what gets discovered. If you do not configure at least one discovery behaviour then nothing will be found!
General
These behaviours affect the configuration of each discovered branch / pull request.
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
git
remote
Specify the URL of this remote repository. This uses the same syntax as your git clone command.
Type:String
browser (optional)
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
credentialsId (optional)
Credentials used to scan branches and check out sources.
Type:String
extensions (optional)
Array/List:
Nested choice of objects
$class: 'AuthorInChangelog'
The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

$class: 'BuildChooserSetting'
When you are interested in using a job to build multiple heads (most typically multiple branches), you can choose how Jenkins choose what branches to build in what order.

This extension point in Jenkins is used by many other plugins to control the job to build specific commits. When you activate those plugins, you may see them installing a custom strategy here.

buildChooser
Nested choice of objects
$class: 'AncestryBuildChooser'
maximumAgeInDays
Type:int
ancestorCommitSha1
Type:String
$class: 'DefaultBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
This method calculates the changelog against the specified branch.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

options
Nested object
compareRemote
Name of the repository, such as origin, that contains the branch you specify below.
Type:String
compareTarget
The name of the branch within the named repository to compare against.
Type:String
$class: 'CheckoutOption'
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanBeforeCheckout'
Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CleanCheckout'
Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CloneOption'
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DisableRemotePoll'
Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

If you don't want to / can't use this.

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).
$class: 'GitLFSPull'
$class: 'IgnoreNotifyCommit'
If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.
$class: 'LocalBranch'
If given, checkout the revision to build as HEAD on this branch.

If selected, and its value is an empty string or "**", then the branch name is computed from the remote branch without the origin. In that case, a remote branch origin/master will be checked out to a local branch named master, and a remote branch origin/develop/new-feature will be checked out to a local branch named develop/newfeature.

Please note that this has not been tested with submodules.

localBranch
Type:String
$class: 'MessageExclusion'
excludedMessage
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed with message matched to Pattern when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct message.

Exclusion uses Pattern matching

.*\[maven-release-plugin\].*
The example above illustrates that if only revisions with "[maven-release-plugin]" message in first comment line have been committed to the SCM a build will not occur.

You can create more complex patterns using embedded flag expressions.

(?s).*FOO.*
This example will search FOO message in all comment lines.
Type:String
$class: 'PathRestriction'
If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

includedRegions
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.
Type:String
excludedRegions
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
Type:String
$class: 'PerBuildTag'
Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
$class: 'PreBuildMerge'
These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options
Nested object
mergeTarget
The name of the branch within the named repository to merge to, such as master.
Type:String
fastForwardMode (optional)
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation
Values:
FF
FF_ONLY
NO_FF
mergeRemote (optional)
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
Type:String
mergeStrategy (optional)
Merge strategy selection. This feature is not fully implemented in JGIT.
Values:
DEFAULT
RESOLVE
RECURSIVE
OCTOPUS
OURS
SUBTREE
RECURSIVE_THEIRS
$class: 'PruneStaleBranch'
Run "git remote prune" for each remote, to prune obsolete local branches.
$class: 'RelativeTargetDirectory'
relativeTargetDir
Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.
Type:String
$class: 'ScmName'

Unique name for this SCM. Needed when using Git within the Multi SCM plugin.

name
Type:String
$class: 'SparseCheckoutPaths'

Specify the paths that you'd like to sparse checkout. This may be used for saving space (Think about a reference repository). Be sure to use a recent version of Git, at least above 1.7.10

sparseCheckoutPaths
Array/List:
Nested object
path
Type:String
$class: 'SubmoduleOption'
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserExclusion'
excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

Each exclusion uses literal pattern matching, and must be separated by a new line.

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
Type:String
$class: 'UserIdentity'
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WipeWorkspace'
Delete the contents of the workspace before building, ensuring a fully fresh workspace.
gitTool (optional)
Type:String
id (optional)
Type:String
traits (optional)
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'MercurialSCMSource'
source
Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.
Type:String
credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.
Type:String
id (optional)
Type:String
traits (optional)
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
fromScm
name
The name of the SCM head/trunk/branch/tag that this source provides.
Type:String
scm
Nested choice of objects
$class: 'GitSCM'
userRemoteConfigs
Specify the repository to track. This can be a URL or a local file path. Note that for super-projects (repositories with submodules), only a local file path or a complete URL is valid. The following are examples of valid git URLs.
  • ssh://git@github.com/github/git.git
  • git@github.com:github/git.git (short notation for ssh protocol)
  • ssh://user@other.host.com/~/repos/R.git (to access the repos/R.git repository in the user's home directory)
  • https://github.com/github/git.git
  • git://github.com/github/git.git

If the repository is a super-project, the location from which to clone submodules is dependent on whether the repository is bare or non-bare (i.e. has a working directory).
  • If the super-project is bare, the location of the submodules will be taken from .gitmodules.
  • If the super-project is not bare, it is assumed that the repository has each of its submodules cloned and checked out appropriately. Thus, the submodules will be taken directly from a path like ${SUPER_PROJECT_URL}/${SUBMODULE}, rather than relying on information from .gitmodules.
For a local URL/path to a super-project, git rev-parse --is-bare-repository is used to detect whether the super-project is bare or not.
For a remote URL to a super-project, the ending of the URL determines whether a bare or non-bare repository is assumed:
  • If the remote URL ends with /.git, a non-bare repository is assumed.
  • If the remote URL does NOT end with /.git, a bare repository is assumed.
Array/List:
Nested object
url
Specify the URL of this remote repository. This uses the same syntax as your git clone command.
Type:String
name
ID of the repository, such as origin, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote command. If left empty, Jenkins will generate unique names for you.

You normally want to specify this when you have multiple remote repositories.

Type:String
refspec
A refspec controls the remote refs to be retrieved and how they map to local refs. If left blank, it will default to the normal behaviour of git fetch, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME. This default behaviour is OK for most cases.

In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME is the value you specify in the above "name of repository" textbox.

When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master would only retrieve the master branch and nothing else.

The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.

Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop retrieves the master branch and the develop branch and nothing else.

See the term definition in Git user manual for more details.

Type:String
credentialsId
Type:String
branches
Array/List:
Nested object
name

Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.

The safest way is to use the refs/heads/<branchName> syntax. This way the expected branch is unambiguous.

If your branch name has a / in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar will actually match bar

.

If you use a wildcard branch specifier, with a slash (e.g. release/), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/

Possible options:

  • <branchName>
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one. Better use refs/heads/<branchName>.
    E.g. master, feature1,...
  • refs/heads/<branchName>
    Tracks/checks out the specified branch.
    E.g. refs/heads/master, refs/heads/feature1/master,...
  • <remoteRepoName>/<branchName>
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one.
    Better use refs/heads/<branchName>.
    E.g. origin/master
  • remotes/<remoteRepoName>/<branchName>
    Tracks/checks out the specified branch.
    E.g. remotes/origin/master
  • refs/remotes/<remoteRepoName>/<branchName>
    Tracks/checks out the specified branch.
    E.g. refs/remotes/origin/master
  • <tagName>
    This does not work since the tag will not be recognized as tag.
    Use refs/tags/<tagName> instead.
    E.g. git-2.3.0
  • refs/tags/<tagName>
    Tracks/checks out the specified tag.
    E.g. refs/tags/git-2.3.0
  • <commitId>
    Checks out the specified commit.
    E.g. 5062ac843f2b947733e6a3b105977056821bd352, 5062ac84, ...
  • ${ENV_VARIABLE}
    It is also possible to use environment variables. In this case the variables are evaluated and the result is used as described above.
    E.g. ${TREEISH}, refs/tags/${TAGNAME},...
  • <Wildcards>
    The syntax is of the form: REPOSITORYNAME/BRANCH. In addition, BRANCH is recognized as a shorthand of */BRANCH, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches* would match origin/branches-foo but not origin/branches/foo, while origin/branches** would match both origin/branches-foo and origin/branches/foo.
  • :<regular expression>
    The syntax is of the form: :regexp. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.
    Examples:
    • :^(?!(origin/prefix)).*
      • matches: origin or origin/master or origin/feature
      • does not match: origin/prefix or origin/prefix_123 or origin/prefix-abc
    • :origin/release-\d{8}
      • matches: origin/release-20150101
      • does not match: origin/release-2015010 or origin/release-201501011 or origin/release-20150101-something
    • :^(?!origin/master$|origin/develop$).*
      • matches: origin/branch1 or origin/branch-2 or origin/master123 or origin/develop-123
      • does not match: origin/master or origin/develop

Type:String
doGenerateSubmoduleConfigurations
Type:boolean
submoduleCfg
Array/List:
org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.plugins.git.SubmoduleConfig
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
gitTool
Type:String
extensions
Array/List:
Nested choice of objects
$class: 'AuthorInChangelog'
The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

$class: 'BuildChooserSetting'
When you are interested in using a job to build multiple heads (most typically multiple branches), you can choose how Jenkins choose what branches to build in what order.

This extension point in Jenkins is used by many other plugins to control the job to build specific commits. When you activate those plugins, you may see them installing a custom strategy here.

buildChooser
Nested choice of objects
$class: 'AncestryBuildChooser'
maximumAgeInDays
Type:int
ancestorCommitSha1
Type:String
$class: 'DefaultBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
This method calculates the changelog against the specified branch.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

options
Nested object
compareRemote
Name of the repository, such as origin, that contains the branch you specify below.
Type:String
compareTarget
The name of the branch within the named repository to compare against.
Type:String
$class: 'CheckoutOption'
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanBeforeCheckout'
Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CleanCheckout'
Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CloneOption'
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DisableRemotePoll'
Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

If you don't want to / can't use this.

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).
$class: 'GitLFSPull'
$class: 'IgnoreNotifyCommit'
If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.
$class: 'LocalBranch'
If given, checkout the revision to build as HEAD on this branch.

If selected, and its value is an empty string or "**", then the branch name is computed from the remote branch without the origin. In that case, a remote branch origin/master will be checked out to a local branch named master, and a remote branch origin/develop/new-feature will be checked out to a local branch named develop/newfeature.

Please note that this has not been tested with submodules.

localBranch
Type:String
$class: 'MessageExclusion'
excludedMessage
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed with message matched to Pattern when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct message.

Exclusion uses Pattern matching

.*\[maven-release-plugin\].*
The example above illustrates that if only revisions with "[maven-release-plugin]" message in first comment line have been committed to the SCM a build will not occur.

You can create more complex patterns using embedded flag expressions.

(?s).*FOO.*
This example will search FOO message in all comment lines.
Type:String
$class: 'PathRestriction'
If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

includedRegions
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.
Type:String
excludedRegions
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
Type:String
$class: 'PerBuildTag'
Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
$class: 'PreBuildMerge'
These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options
Nested object
mergeTarget
The name of the branch within the named repository to merge to, such as master.
Type:String
fastForwardMode (optional)
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation
Values:
FF
FF_ONLY
NO_FF
mergeRemote (optional)
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
Type:String
mergeStrategy (optional)
Merge strategy selection. This feature is not fully implemented in JGIT.
Values:
DEFAULT
RESOLVE
RECURSIVE
OCTOPUS
OURS
SUBTREE
RECURSIVE_THEIRS
$class: 'PruneStaleBranch'
Run "git remote prune" for each remote, to prune obsolete local branches.
$class: 'RelativeTargetDirectory'
relativeTargetDir
Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.
Type:String
$class: 'ScmName'

Unique name for this SCM. Needed when using Git within the Multi SCM plugin.

name
Type:String
$class: 'SparseCheckoutPaths'

Specify the paths that you'd like to sparse checkout. This may be used for saving space (Think about a reference repository). Be sure to use a recent version of Git, at least above 1.7.10

sparseCheckoutPaths
Array/List:
Nested object
path
Type:String
$class: 'SubmoduleOption'
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserExclusion'
excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

Each exclusion uses literal pattern matching, and must be separated by a new line.

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
Type:String
$class: 'UserIdentity'
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WipeWorkspace'
Delete the contents of the workspace before building, ensuring a fully fresh workspace.
$class: 'MercurialSCM'
source
Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.
Type:String
browser (optional)
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
clean (optional)
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
Type:boolean
credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.
Type:String
disableChangeLog (optional)
When checked, Hudson will not calculate the Mercurial changelog for each build. Disabling the changelog can decrease the amount of time needed to update a very large repository.
Type:boolean
installation (optional)
Type:String
modules (optional)
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)
Type:String
revision (optional)
Specify the branch or tag name you would like to track. (If you do not type anything, the default value is the default branch.)
Type:String
revisionType (optional)
Specify the kind of revision you expect Jenkins to update your working copy to.
Values:
BRANCH
TAG
CHANGESET
REVSET
subdir (optional)
If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.
Type:String
none
id (optional)
Type:String
libraryResource: Load a resource file from a shared library
Reads a resource from a shared library and returns its content as a plain string.
resource
Relative (/-separated) path to a resource in a shared library's /resources folder.
Type:String
encoding (optional)
The encoding to use when reading the resource. If left blank, the platform default encoding will be used. Binary files can be read into a Base64-encoded string by specifying "Base64" as the encoding.
Type:String
load: Evaluate a Groovy source file into the Pipeline script
Takes a filename in the workspace and runs it as Groovy source text.

The loaded file can contain statements at top level or just load and run a closure. For example:

    def pipeline
    node('slave') {
        pipeline = load 'pipeline.groovy'
        pipeline.functionA()
    }
    pipeline.functionB()
    

Where pipeline.groovy defines functionA and functionB functions (among others) before ending with return this;

path

Current directory (pwd()) relative path to the Groovy file to load.

Type:String
lock: Lock shared resource
resource

The resource name to lock as defined in Global settings. If the resource does not exist in Global Settings it will be automatically created on build execution. Either a resource or a label need to be specified.

Type:String
extra (optional)
Array/List:
Nested object
resource

The resource name to lock as defined in Global settings. If the resource does not exist in Global Settings it will be automatically created on build execution. Either a resource or a label need to be specified.

Type:String
label (optional)

The label of the resources to be locked as defined in Global settings. Either a resource or a label need to be specified.

Type:String
quantity (optional)

The quantity of resources with the specified label to be locked as defined in Global settings. Either a resource or a label need to be specified.

Type:int
inversePrecedence (optional)

By default waiting builds get the lock in the same order they requested to acquire it.

By checking this option the newest build in the waiting queue will get the lock first.

Type:boolean
label (optional)

The label of the resources to be locked as defined in Global settings. Either a resource or a label need to be specified.

Type:String
quantity (optional)

The quantity of resources with the specified label to be locked as defined in Global settings. Either a resource or a label need to be specified.

Type:int
variable (optional)

Name of an environment variable that will receive the comma separated list of the names of the locked resources while the block executes.

e.g.:

lock(abel: 'label', variable: 'var') {
    echo "Resource locked: ${env.var}"
}
		

Type:String
mail: Mail
Simple step for sending email.
subject
Email subject line.
Type:String
body
Email body.
Type:String
bcc (optional)
BCC email address list. Comma separated list of email addresses.
Type:String
cc (optional)
CC email address list. Comma separated list of email addresses.
Type:String
charset (optional)
Email body character encoding. Defaults to UTF-8
Type:String
from (optional)
From email address. Defaults to the admin address globally configured for the Jenkins instance.
Type:String
mimeType (optional)
Email body MIME type. Defaults to text/plain.
Type:String
replyTo (optional)
Reploy-To email address. Defaults to the admin address globally configured for the Jenkins instance.
Type:String
to (optional)
To email address list. Comma separated list of email addresses.
Type:String
milestone: The milestone step forces all builds to go through in order

By default, Pipeline builds can run concurrently.

The milestone step forces all builds to go through in order, so an older build will never be allowed pass a milestone (it is aborted) if a newer build already passed it.

In general this step grants:

  • Builds pass milestones in order (taking the build number as sorter field).
  • Older builds will not proceed (they are aborted) if a newer one already passed the milestone.
  • When a build passes a milestone, any older build that passed the previous milestone but not this one is aborted.
  • Once a build passes the milestone, it will never be aborted by a newer build that didn't pass the milestone yet.

ordinal

An optional ordinal for the milestone. It is autogenerated if not explicitly set.

Setting explicit milestone ordinals grants that each milestone can be univocally identified across builds even when script changes are made during a previous build. If you plan to add or remove milestone steps while there are running builds and trigger new builds before the previous ones finished, then you should set explicit milestone ordinals. Otherwise, let the step autogenerate them as it runs.

Type:int
label (optional)

A label for the milestone. It's shown in the build log metadata.

Type:String
node: Allocate node
Allocates an executor on a node (typically a slave) and runs further code in the context of a workspace on that slave.
label
Computer name, label name, or any other label expression like linux && 64bit to restrict where this step builds. May be left blank, in which case any available executor is taken.

Supported operators

The following operators are supported, in descending order of precedence:
(expression)
parentheses — used to explicitly define the associativity of an expression
!expression
NOT — negation; the result of expression must not be true
a && b
AND — both of the expressions a and b must be true
a || b
OR — either of the expressions a or b may be true
a -> b
"implies" operator — equivalent to !a || b.
For example, windows -> x64 could be thought of as "if a Windows agent is used, then that agent must be 64-bit", while still allowing this block to be executed on any agents that do not have the windows label, regardless of whether they have also have an x64 label
a <-> b
"if and only if" operator — equivalent to a && b || !a && !b
For example, windows <-> dc2 could be thought of as "if a Windows agent is used, then that agent must be in datacenter 2, but if a non-Windows agent is used, then it must not be in datacenter 2"

Notes

  • All operators are left-associative, i.e. a -> b -> c is equivalent to (a -> b) -> c.
  • Labels or agent names can be surrounded with quotation marks if they contain characters that would conflict with the operator syntax.
    For example, "osx (10.11)" || "Windows Server".
  • Expressions can be written without whitespace, but including it is recommended for readability; Jenkins will ignore whitespace when evaluating expressions.
  • Matching labels or agent names with wildcards or regular expressions is not supported.
  • An empty expression will always evaluate to true, matching all agents.

Examples

master
This block may be executed only on the Jenkins master
linux-machine-42
This block may be executed only on the agent with the name linux-machine-42 (or on any machine that happens to have a label called linux-machine-42)
windows && jdk9
This block may be executed only on any Windows agent that has version 9 of the Java Development Kit installed (assuming that agents with JDK 9 installed have been given a jdk9 label)
postgres && !vm && (linux || freebsd)
This block may be executed only any on Linux or FreeBSD agent, so long as they are not a virtual machine, and they have PostgreSQL installed (assuming that each agent has the appropriate labels — in particular, each agent running in a virtual machine must have the vm label in order for this example to work as expected)
Type:String
parallel: Execute in parallel
org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class org.jenkinsci.plugins.workflow.cps.steps.ParallelStep
powershell: PowerShell Script
script
Executes a PowerShell script. Multiple lines allowed. This plugin supports Microsoft PowerShell 3+.
Type:String
encoding (optional)
Encoding of process output. In the case of returnStdout, applies to the return value of this step; otherwise, or always for standard error, controls how text is copied to the build log. If unspecified, uses the system default encoding of the node on which the step is run. If there is any expectation that process output might include non-ASCII characters, it is best to specify the encoding explicitly. For example, if you have specific knowledge that a given process is going to be producing UTF-8 yet will be running on a node with a different system encoding (typically Windows, since every Linux distribution has defaulted to UTF-8 for a long time), you can ensure correct output by specifying: encoding: 'UTF-8'
Type:String
returnStatus (optional)
Normally, a script which exits with a nonzero status code will cause the step to fail with an exception. If this option is checked, the return value of the step will instead be the status code. You may then compare it to zero, for example.
Type:boolean
returnStdout (optional)
If checked, standard output from the task is returned as the step value as a String, rather than being printed to the build log. (Standard error, if any, will still be printed to the log.) You will often want to call .trim() on the result to strip off a trailing newline.
Type:boolean
properties: Set job properties
Updates the properties of the job which runs this step. Mainly useful from multibranch Pipelines, so that Jenkinsfile itself can encode what would otherwise be static job configuration. Existing properties set through the Jenkins UI for non-multibranch Pipelines will be preserved.
properties
Array/List:
Nested choice of objects
authorizationMatrix
permissions
Array/List:
Type:String
inheritanceStrategy (optional)
Nested choice of objects
inheritingGlobal
inheriting
nonInheriting
buildDiscarder
This determines when, if ever, build records for this project should be discarded. Build records include the console output, archived artifacts, and any other metadata related to a particular build.

Keeping fewer builds means less disk space will be used in the Build Record Root Directory, which is specified on the Configure System screen.

Jenkins offers two options for determining when builds should be discarded:

  1. Build age: discard builds if they reach a certain age; for example, seven days old.
  2. Build count: discard the oldest build if a certain number of builds already exist.
These two options can be active at the same time, so you can keep builds for 14 days, but only up to a limit of 50 builds, for example. If either limit is exceeded, then any builds beyond that limit will be discarded.

You can also ensure that important builds are kept forever, regardless of the setting here — click the Keep this build forever button on the build page.
The last stable and last successful build are also excluded from these rules.


In the Advanced section, the same options can be specified, but specifically for build artifacts. If enabled, build artifacts will be discarded for any builds which exceed the defined limits. The builds themselves will still be kept; only the associated artifacts, if any, will be deleted.

For example, if a project builds some software and produces a large installer, which is archived, you may wish to always keep the console log and information about which source control commit was built, while for disk space reasons, you may want to keep only the last three installers that were built.
This can make sense for projects where you can easily recreate the same artifacts later by building the same source control commit again.


Note that Jenkins does not discard items immediately when this configuration is updated, or as soon as any of the configured values are exceeded; these rules are evaluated each time that a build of this project completes.
strategy
Nested choice of objects
logRotator
daysToKeepStr
Type:String
numToKeepStr
Type:String
artifactDaysToKeepStr
Type:String
artifactNumToKeepStr
Type:String
disableConcurrentBuilds
disableResume
durabilityHint

This setting allows users to change the default durability mode for running Pipelines. In most cases this is a trade-off between performance and the ability for running pipelines to resume after unplanned Jenkins outages.

What does this do?

  • Previously, running pipelines wrote data constantly, so that they could resume even if Jenkins fails. This setting gives the user the ability to adjust this write behavior.
  • Higher-performance/lower-durability modes write data to disk much less often for running pipelines.
  • Writing data less often can massively reduce build times for Pipelines with many steps or complex logic. For pipelines which spend most of their time waiting for a shell/batch script to run, the difference will be less visible.
  • Running pipelines with lower durability settings may lose data if they do not finish and Jenkins is not shut down gracefully:
    • A "graceful" shutdown where Jenkins goes through a full shutdown process, such as visiting http://[jenkins-server]/exit
    • A "dirty" shutdown, such as using kill -9 to terminate the Jenkins process, may prevent incomplete pipelines from persisting data
  • Pipelines that cannot persist data may not be able to resume or displayed in Blue Ocean/Stage View/etc.
  • Pipelines will generally write log data regardless of durability settings.
  • Some modes use an "atomic write" option - this helps ensure that pipeline build files aren't overwritten or left partially written if something fails.
  • Atomic writes may place more stress on filesystems, so especially with networked storage it may be faster not to use them.

Note: defaults also be set globally under Manage Jenkins > Configure System.

hint
Values:
PERFORMANCE_OPTIMIZED
SURVIVABLE_NONATOMIC
MAX_SURVIVABILITY
$class: 'GithubProjectProperty'
projectUrlStr

Enter the URL for the GitHub hosted project (without the tree/master or tree/branch part).

For example: https://github.com/rails/rails for the Rails project.

Type:String
displayName (optional)

This value will be used as context name for commit status if status builder or status publisher is defined for this project. It should be small and clear.

If you leave it empty, job name will be used for builder and publisher.

Type:String
$class: 'JiraProjectProperty'
siteName
Type:String
overrideIndexTriggers

Allows overriding default treatment of branch indexing triggers.

If branch indexing triggers are disabled at the multibranch or organization label, selecting this will enable them for this job only.

Otherwise, leaving the checkbox unselected will disable branch indexing triggers for this job only.

enableTriggers
Type:boolean
parameters
Parameters allow you to prompt users for one or more inputs that will be passed into a build. For example, you might have a project that runs tests on demand by allowing users to upload a zip file with binaries to be tested. This could be done by adding a File Parameter here.
Or you might have a project that releases some software, and you want users to enter release notes that will be uploaded along with the software. This could be done by adding a Multi-line String Parameter here.

Each parameter has a Name and some sort of Value, depending on the parameter type. These name-value pairs will be exported as environment variables when the build starts, allowing subsequent parts of the build configuration (such as build steps) to access those values, e.g. by using the ${PARAMETER_NAME} syntax (or %PARAMETER_NAME% on Windows).
This also implies that each parameter defined here should have a unique Name.

When a project is parameterized, the usual Build Now link will be replaced with a Build with Parameters link, where users will be prompted to specify values for each of the defined parameters. If they choose not to enter anything, the build will start with the default value for each parameter.

If a build is started automatically, for example if started by an SCM trigger, the default values for each parameter will be used.

When a parameterized build is in the queue, attempting to start another build of the same project will only succeed if the parameter values are different, or if the Execute concurrent builds if necessary option is enabled.

See the Parameterized Builds documentation for more information about this feature.

parameterDefinitions
Array/List:
Nested choice of objects
booleanParam
name
Type:String
defaultValue
Type:boolean
description
Type:String
choice
name
Type:String
description
Type:String
choices (optional)
Nested choice of objects
(not enumerable)
credentials
Defines a credentials parameter, which you can use during a build.

For security reasons, the credential is NOT directly exposed, the UUID of the credential is exposed.

However, the selected credential is available through variable substitution in some other parts of the configuration. The string value will be the UUID of the credential. A supporting plugin can thus use the UUID to retrieve the selected credential and expose it to the build in an appropriate way.
name
Type:String
description
Type:String
defaultValue
The default credentials to use.
Type:String
credentialType
Type:String
required
When this option is selected, the credentials selection drop down will not provide the empty selection as one of the options. This will not prevent a build without a value if there are no credentials available, for example if the job does not have access to any credentials of the correct type or there is no default value and the user starting the build either does not have any credentials of the correct type in their personal credentials store or they do not have permissions on the job to use credentials from their personal store.
Type:boolean
file
name
Type:String
description
Type:String
$class: 'JiraIssueParameterDefinition'
name
Type:String
description
Type:String
jiraIssueFilter
Specify the JQL search on JIRA instance. For a build, Jenkins will run this query, populate a drop-down list box, then ask the user to select one.
Type:String
$class: 'JiraVersionParameterDefinition'
name
Type:String
description
Type:String
jiraProjectKey

Specify the project key. A project key is the all capitals part before the issue number in JIRA.

(EXAMPLE-100)

Type:String
jiraReleasePattern

Specify a regular expression which release names have to match to be listed. Leave this blank to match all issues.

Example:

v[0-9]+([.][0-9]+)+ will match v1.0.1, v123, v12.0.1
Type:String
jiraShowReleased
Type:String
jiraShowArchived
Type:String
password
name
Type:String
defaultValue
Type:String
description
Type:String
$class: 'PromotedBuildParameterDefinition'
name
Type:String
jobName
Type:String
process
Type:String
description
Type:String
run
name
Type:String
projectName
Type:String
description
Type:String
filter
Values:
ALL
STABLE
SUCCESSFUL
COMPLETED
string
name
Type:String
defaultValue
Type:String
description
Type:String
trim
Type:boolean
text
name
Type:String
defaultValue
Type:String
description
Type:String
pipelineTriggers
triggers
Array/List:
Nested choice of objects
bitbucketPush
githubPush
If Jenkins will receive PUSH GitHub hook from repo defined in Git SCM section it will trigger Git SCM polling logic. So polling logic in fact belongs to Git SCM.
$class: 'PeriodicFolderTrigger'

Some kinds of folders are reindexed automatically and immediately upon receipt of an external event. For example, a multi-branch project will recheck its SCM repository for new or removed or modified branches when it receives an SCM change notification. (Push notification may be configured as per the SCM plugin used for each respective branch source.) Such notifications can occasionally be unreliable, however, or Jenkins might not even be running to receive them. In some cases no immediate notification is even possible, for example because Jenkins is behind a firewall and can only poll an external system.

This trigger allows for a periodic fallback, but when necessary. If no indexing has been performed in the specified interval, then an indexing will be scheduled. For example, in the case of a multi-branch project, if the source control system is not configured for push notification, set a short interval (most people will pick between 15 minutes and 1 hour). If the source control system is configured for push notification, set an interval that corresponds to the maximum acceptable delay in the event of a lost push notification as the last commit of the day. (Subsequent commits should trigger indexing anyway and result in the commit being picked up, so most people will pick between 4 hours and 1 day.)

interval
The maximum amount of time since the last indexing that is allowed to elapse before an indexing is triggered.
Type:String
$class: 'PromotionTrigger'
jobName
Type:String
process
Type:String
upstream

Set up a trigger so that when some other projects finish building, a new build is scheduled for this project. This is convenient for running an extensive test after a build is complete, for example.

This configuration complements the "Build other projects" section in the "Post-build Actions" of an upstream project, but is preferable when you want to configure the downstream project.

upstreamProjects
Type:String
threshold (optional)
Type:String
pollSCM
Configure Jenkins to poll changes in SCM.

Note that this is going to be an expensive operation for CVS, as every polling requires Jenkins to scan the entire workspace and verify it with the server. Consider setting up a "push" trigger to avoid this overhead, as described in this document

scmpoll_spec
Type:String
ignorePostCommitHooks (optional)
Ignore changes notified by SCM post-commit hooks.

This can be useful if you want to prevent some long-running jobs (e.g. reports) starting because of every commit, but still want to run them periodic if SCM changes have occurred.

Note that this option needs to be supported by the SCM plugin, too! The subversion-plugin supports this since version 1.44.

Type:boolean
cron
Provides a cron-like feature to periodically execute this project.

This feature is primarily for using Jenkins as a cron replacement, and it is not ideal for continuously building software projects. When people first start continuous integration, they are often so used to the idea of regularly scheduled builds like nightly/weekly that they use this feature. However, the point of continuous integration is to start a build as soon as a change is made, to provide a quick feedback to the change. To do that you need to hook up SCM change notification to Jenkins.

So, before using this feature, stop and ask yourself if this is really what you want.

spec
Type:String
preserveStashes
Preserve the stashes from the most recent completed builds of this project. This allows a restarted Declarative Pipeline to reuse a stash from the build it was restarted from.
buildCount (optional)
Type:int
$class: 'RequiredResourcesProperty'
resourceNames

When a build is scheduled, it will attempt to lock the specified resources. If some (or all) the resources are already locked by another build, the build will be queued until they are released. It is possible to specify an amount for requested resources below.

Type:String
resourceNamesVar

Name for the Jenkins variable to store the reserved resources in. Leave empty to disable.

Type:String
resourceNumber

Number of resources to request, empty value or 0 means all.
This is useful, if you have a pool of similar resources, from which you want one or more to be reserved.

Type:String
labelName

If you have created a pool of resources, i.e. a label, you can take it into use here. The build will select the resource(s) from the pool that includes all resources sharing the given label. Only one of Label, Groovy Expression or Resources fields may be specified.

Type:String
resourceMatchScript

You can specify a groovy expression to be evaluated each time a resource is checked to be appropriate for a build. The expression must result into a boolean value. The following variables are available, in addition to optional arguments of the currently evaluated build:

resourceName
as per resource configuration
resourceDescription
as per resource configuration
resourceLabels
java.util.List<String> of labels as per resource configuration

For matrix jobs, axis names and axis values can be referenced as well. Examples:

  • resourceLabels.contains("hardcoded")
  • resourceLabels.contains(axisName)
  • resourceName == axisName

The script's contents need to pass approval by the Script Security Plugin.

Nested object
script
Type:String
sandbox
If checked, run this Groovy script in a sandbox with limited abilities. If unchecked, and you are not a Jenkins administrator, you will need to wait for an administrator to approve the script.
Type:boolean
classpath
Additional classpath entries accessible from the script.
Array/List:
Nested object
path
A path or URL to a JAR file. This path should be approved by an administrator or a user with the RUN_SCRIPT permission, or the script fails. If the file or files are once approved, they are treated approved even located in another path.
Type:String
rateLimitBuilds
throttle
Enforces a minimum time between builds based on the desired maximum rate.
Note: this does not enforce an "average" rate, it only looks at the time since last build.
Nested object
count
Type:int
durationName
Type:String
userBoost
Type:boolean
publishHTML: Publish HTML reports
target
Nested object
reportName
The name of the report to display for the build/project, such as "Code Coverage"
Type:String
reportDir
The path to the HTML report directory relative to the workspace.
Type:String
reportFiles
The file(s) to provide links inside the report directory
Type:String
reportTitles
The optional title(s) for the report files, which will be used as the tab names. If this is not provided, file names will be used instead.
Type:String
keepAll
If checked, archive reports for all successful builds, otherwise only the most recent
Type:boolean
alwaysLinkToLastBuild
If this control and "Keep past HTML reports" are checked, publish the link on project level even if build failed.
Type:boolean
allowMissing
If checked, will allow report to be missing and build will not fail on missing report
Type:boolean
escapeUnderscores (optional)
If checked, underscores in the report title will be escaped to '_5f' when stored on disk. If unchecked, they will not be escaped.
Type:boolean
includes (optional)
Type:String
publishIssues: Publish issues created by a static analysis scan
issues
Array/List:
org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class io.jenkins.plugins.analysis.core.steps.AnnotatedReport
failedNewAll (optional)
Type:int
failedNewHigh (optional)
Type:int
failedNewLow (optional)
Type:int
failedNewNormal (optional)
Type:int
failedTotalAll (optional)
Type:int
failedTotalHigh (optional)
Type:int
failedTotalLow (optional)
Type:int
failedTotalNormal (optional)
Type:int
healthy (optional)
Type:int
id (optional)

The results of the selected tool are published using a unique ID (i.e. URL) which must not be already used by another tool in this job. This ID is used as link to the results, so choose a short and meaningful name. If you leave the ID field empty, then the built-in default ID of the registered tool will be used.

Type:String
ignoreFailedBuilds (optional)
Type:boolean
ignoreQualityGate (optional)
Type:boolean
minimumSeverity (optional)
Type:String
name (optional)

You can override the display name of the tool. This name is used in details views, trend captions, and hyper links. If you leave the name field empty, then the built-in default name of the registered tool will be used.

Type:String
referenceJobName (optional)
Type:String
sourceCodeEncoding (optional)
Type:String
unhealthy (optional)
Type:int
unstableNewAll (optional)
Type:int
unstableNewHigh (optional)
Type:int
unstableNewLow (optional)
Type:int
unstableNewNormal (optional)
Type:int
unstableTotalAll (optional)
Type:int
unstableTotalHigh (optional)
Type:int
unstableTotalLow (optional)
Type:int
unstableTotalNormal (optional)
Type:int
pwd: Determine current directory
Returns the current directory path as a string.
tmp (optional)
If selected, return a temporary directory associated with the workspace rather than the workspace itself. This is an appropriate place to put temporary files which should not clutter a source checkout; local repositories or caches; etc.
Type:boolean
readFile: Read file from workspace
Reads a file from a relative path (with root in current directory, usually workspace) and returns its content as a plain string.
file
Relative (/-separated) path to file within a workspace to read.
Type:String
encoding (optional)
The encoding to use when reading the file. If left blank, the platform default encoding will be used. Binary files can be read into a Base64-encoded string by specifying "Base64" as the encoding.
Type:String
readTrusted: Read trusted file from SCM
From a multibranch Pipeline project, reads a file from the associated SCM and returns its contents. Unlike the readFile step, no workspace is required. If the associated branch is not trusted, yet the file has been modified from its trusted version, an error is thrown. Thus this step is useful for loading scripts or other files which might otherwise be used to run malicious commands. Like checkout scm, as a convenience it may also be used from a standalone project configured with Pipeline from SCM, in which case there is no security aspect.
path
Relative (slash-separated) path to the file from the SCM root. Thus readTrusted 'subdir/file' is similar to node {checkout scm; readFile 'subdir/file'}.
Type:String
recordIssues: Record compiler warnings and static analysis results
aggregatingResults (optional)
By default, each static analysis result will be recorded as a separate result that is presented as an individual Jenkins Action with separate UI and dashboard. If you rather prefer aggregation of the results into a single result (i.e., single Jenkins Action), then activate this check box. You still can see the distribution of issues grouped by static analysis tool in the UI.
Type:boolean
blameDisabled (optional)
Type:boolean
enabledForFailure (optional)
By default, static analysis results are only recorded for stable or unstable builds, but not for failed builds: analysis results might be inaccurate if the build failed. If recording should be enabled for failed builds as well then activate this check box.
Type:boolean
failedNewAll (optional)
Type:int
failedNewHigh (optional)
Type:int
failedNewLow (optional)
Type:int
failedNewNormal (optional)
Type:int
failedTotalAll (optional)
Type:int
failedTotalHigh (optional)
Type:int
failedTotalLow (optional)
Type:int
failedTotalNormal (optional)
Type:int
filters (optional)
Array/List:
Nested choice of objects
excludeCategory
pattern
Type:String
excludeFile
pattern
Type:String
excludeModule
pattern
Type:String
excludePackage
pattern
Type:String
excludeType
pattern
Type:String
includeCategory
pattern
Type:String
includeFile
pattern
Type:String
includeModule
pattern
Type:String
includePackage
pattern
Type:String
includeType
pattern
Type:String
healthy (optional)
Type:int
id (optional)
Type:String
ignoreFailedBuilds (optional)
Type:boolean
ignoreQualityGate (optional)
Type:boolean
minimumSeverity (optional)
Type:String
name (optional)
Type:String
referenceJobName (optional)
Type:String
sourceCodeEncoding (optional)
Type:String
tool (optional)
Nested choice of objects
acuCobol
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ajc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
androidLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ansibleLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
armCc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
buckminster
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cadence
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ccm
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
checkStyle
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
clang
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
clangTidy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
codeAnalysis
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
codeNarc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
coolflux
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cpd
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cppCheck
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cppLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cssLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
detekt
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
diabC
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
docFx
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
doxygen
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
drMemory
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
dupFinder
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
eclipse
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
erlc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
errorProne
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
esLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
findBugs
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
useRankAsPriority (optional)
Type:boolean
flake8
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
flexSdk
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
fxcop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gcc3
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gcc4
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gendarme
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ghsMulti
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gnat
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gnuFortran
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
goLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
goVet
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
groovyScript
parserId
Type:String
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Note that due to security reasons scanning the console log using a Groovy script is not allowed.
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
iar
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ideaInspection
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
infer
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
intel
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
invalids
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
java
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
javaDoc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jcReport
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jsHint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jsLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
klocWork
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ktLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
mavenConsole
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
metrowerksCodeWarrior
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
msBuild
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
myPy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
nagFortran
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
taskScanner
excludePattern (optional)
Type:String
highTags (optional)
Type:String
id (optional)
Type:String
ignoreCase (optional)
Type:boolean
includePattern (optional)
You can define multiple filesets using comma as a separator, e.g. '**/*.c, **/*.h'. Basedir of the fileset is the workspace root.
Type:String
isRegularExpression (optional)
Note that the regular expression must contain two capturing groups: the first one is interpreted as tag name, the second one as message. An example of such a regular expression would be ^.*(TODO(?:[0-9]*))(.*)$.
Type:boolean
lowTags (optional)
Type:String
name (optional)
Type:String
normalTags (optional)
Type:String
pcLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pep8
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
perforce
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
perlCritic
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
php
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
phpCodeSniffer
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pit
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pmdParser
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
prefast
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
puppetLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pyDocStyle
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pyLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
qacSourceCodeAnalyser
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
resharperInspectCode
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
rfLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
robocopy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ruboCop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
scala
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
simian
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sonarQube
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sphinxBuild
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
spotBugs
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
useRankAsPriority (optional)
Type:boolean
styleCop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sunC
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
swiftLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tagList
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
taskingVx
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tiCss
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tnsdl
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tsLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
xlc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
xmlLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
yamlLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
yuiCompressor
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
zptLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
toolProxies (optional)
Array/List:
Nested object
tool

For each static analysis tool a dedicated parser or scanner will be used to read report files or produce issues in any other way. If your tool is not yet supported you can define a new Groovy based parser in Jenkins system configuration. You can reference this new parser afterwards when you select the tool 'Groovy Parser'. Additionally, you provide a new parser within a new small plug-in. If the parser is useful for other teams as well please share it and provide pull requests for the Warnings Next Generation Plug-in and the Analysis Parsers Library.

The results of the selected tool are published using a unique ID (i.e. URL) which must not be already used by another tool in this job. This ID is used as link to the results, so choose a short and meaningful name. If you leave the ID field empty, then the built-in default ID of the registered tool will be used.

You can also override the display name of the tool. This name is used in details views, trend captions, and hyper links. If you leave the name field empty, then the built-in default name of the registered tool will be used.

Nested choice of objects
acuCobol
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ajc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
androidLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ansibleLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
armCc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
buckminster
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cadence
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ccm
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
checkStyle
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
clang
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
clangTidy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
codeAnalysis
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
codeNarc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
coolflux
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cpd
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cppCheck
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cppLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cssLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
detekt
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
diabC
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
docFx
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
doxygen
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
drMemory
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
dupFinder
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
eclipse
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
erlc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
errorProne
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
esLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
findBugs
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
useRankAsPriority (optional)
Type:boolean
flake8
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
flexSdk
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
fxcop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gcc3
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gcc4
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gendarme
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ghsMulti
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gnat
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gnuFortran
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
goLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
goVet
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
groovyScript
parserId
Type:String
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Note that due to security reasons scanning the console log using a Groovy script is not allowed.
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
iar
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ideaInspection
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
infer
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
intel
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
invalids
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
java
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
javaDoc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jcReport
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jsHint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jsLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
klocWork
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ktLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
mavenConsole
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
metrowerksCodeWarrior
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
msBuild
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
myPy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
nagFortran
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
taskScanner
excludePattern (optional)
Type:String
highTags (optional)
Type:String
id (optional)
Type:String
ignoreCase (optional)
Type:boolean
includePattern (optional)
You can define multiple filesets using comma as a separator, e.g. '**/*.c, **/*.h'. Basedir of the fileset is the workspace root.
Type:String
isRegularExpression (optional)
Note that the regular expression must contain two capturing groups: the first one is interpreted as tag name, the second one as message. An example of such a regular expression would be ^.*(TODO(?:[0-9]*))(.*)$.
Type:boolean
lowTags (optional)
Type:String
name (optional)
Type:String
normalTags (optional)
Type:String
pcLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pep8
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
perforce
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
perlCritic
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
php
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
phpCodeSniffer
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pit
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pmdParser
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
prefast
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
puppetLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pyDocStyle
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pyLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
qacSourceCodeAnalyser
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
resharperInspectCode
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
rfLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
robocopy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ruboCop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
scala
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
simian
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sonarQube
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sphinxBuild
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
spotBugs
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
useRankAsPriority (optional)
Type:boolean
styleCop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sunC
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
swiftLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tagList
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
taskingVx
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tiCss
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tnsdl
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tsLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
xlc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
xmlLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
yamlLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
yuiCompressor
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
zptLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tools (optional)
Array/List:
Nested choice of objects
acuCobol
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ajc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
androidLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ansibleLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
armCc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
buckminster
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cadence
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ccm
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
checkStyle
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
clang
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
clangTidy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
codeAnalysis
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
codeNarc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
coolflux
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cpd
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cppCheck
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cppLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
cssLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
detekt
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
diabC
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
docFx
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
doxygen
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
drMemory
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
dupFinder
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
eclipse
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
erlc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
errorProne
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
esLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
findBugs
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
useRankAsPriority (optional)
Type:boolean
flake8
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
flexSdk
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
fxcop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gcc3
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gcc4
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gendarme
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ghsMulti
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gnat
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
gnuFortran
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
goLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
goVet
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
groovyScript
parserId
Type:String
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Note that due to security reasons scanning the console log using a Groovy script is not allowed.
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
iar
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ideaInspection
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
infer
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
intel
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
invalids
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
java
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
javaDoc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jcReport
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jsHint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
jsLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
klocWork
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ktLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
mavenConsole
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
metrowerksCodeWarrior
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
msBuild
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
myPy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
nagFortran
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
taskScanner
excludePattern (optional)
Type:String
highTags (optional)
Type:String
id (optional)
Type:String
ignoreCase (optional)
Type:boolean
includePattern (optional)
You can define multiple filesets using comma as a separator, e.g. '**/*.c, **/*.h'. Basedir of the fileset is the workspace root.
Type:String
isRegularExpression (optional)
Note that the regular expression must contain two capturing groups: the first one is interpreted as tag name, the second one as message. An example of such a regular expression would be ^.*(TODO(?:[0-9]*))(.*)$.
Type:boolean
lowTags (optional)
Type:String
name (optional)
Type:String
normalTags (optional)
Type:String
pcLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pep8
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
perforce
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
perlCritic
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
php
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
phpCodeSniffer
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pit
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pmdParser
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
prefast
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
puppetLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pyDocStyle
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
pyLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
qacSourceCodeAnalyser
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
resharperInspectCode
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
rfLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
robocopy
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
ruboCop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
scala
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
simian
highThreshold (optional)
Type:int
id (optional)
Type:String
name (optional)
Type:String
normalThreshold (optional)
Type:int
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sonarQube
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sphinxBuild
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
spotBugs
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
useRankAsPriority (optional)
Type:boolean
styleCop
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
sunC
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
swiftLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tagList
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
taskingVx
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tiCss
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tnsdl
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
tsLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
xlc
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
xmlLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
yamlLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
yuiCompressor
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
zptLint
id (optional)
Type:String
name (optional)
Type:String
pattern (optional)
Type:String
reportEncoding (optional)
Encoding (character set) of your report files. In order to read all characters of your reports correctly the plugin must open the report files with the correct character encoding (UTF-8, ISO-8859-1, etc.). If you leave this field empty then the default encoding of the platform will be used (not recommended).
Type:String
unhealthy (optional)
Type:int
unstableNewAll (optional)
Type:int
unstableNewHigh (optional)
Type:int
unstableNewLow (optional)
Type:int
unstableNewNormal (optional)
Type:int
unstableTotalAll (optional)
Type:int
unstableTotalHigh (optional)
Type:int
unstableTotalLow (optional)
Type:int
unstableTotalNormal (optional)
Type:int
resolveScm: Resolves an SCM from an SCM Source and a list of candidate target branch names
When you have a multi-branch pipeline that checks out other sibling repositories, you may want to check out the matching branch from that sibling repository (assuming it exists) but fall back to the main branch if there is no matching branch.

This step lets you create a branch in the primary repository and then when you need downstream / upstream changes in the sibling repository you can just create a matching branch and it will be resolved automatically. For example:

// checkout the main source
dir('main'){
    // this will checkout the source repository that is driving the multi-branch pipeline
    checkout scm
}
// now checkout the tests
dir('tests'){
    // this will check if there is a branch with the same name as the current branch in
    // https://example.com/example.git and use that for the checkout, but if there is no
    // branch with the same name it will fall back to the master branch
    checkout resolveScm(source: git('https://example.com/example.git'), targets: [BRANCH_NAME,'master']
}
// rest of pipeline

The return value is the resolved SCM instance (or null if ignoring errors). Where the SCM implementation supports it, the SCM instance will be pinned to the current head revision of the resolved branch. This can be useful if, for example, you want to check out the resolved branch on multiple nodes because all the nodes will get the same revision.

source
The source repository from which to resolve the target branches.
Nested choice of objects
bitbucket
Discovers branches and/or pull requests from a specific repository in either Bitbucket Cloud or a Bitbucket Server instance.
repoOwner

Specify the name of the Bitbucket Team or Bitbucket User Account.

It could be a Bitbucket Project also, if using Bitbucket Server. In this case (Bitbucket Server):

  • Use the project key, not the project name.
  • If using a user account instead of a project, add a "~" character before the username, i.e. "~joe".

Type:String
repository
The repository to scan.
Type:String
autoRegisterHook (optional)
Type:boolean
bitbucketServerUrl (optional)
Type:String
checkoutCredentialsId (optional)
Type:String
credentialsId (optional)
Credentials used to scan branches (also the default credentials to use when checking out sources)
Type:String
excludes (optional)
Type:String
id (optional)
Type:String
includes (optional)
Type:String
serverUrl (optional)
The server to connect to. The list of servers is configured in the Manage Jenkins » Configure Jenkins › Bitbucket Endpoints screen. The list of servers can include both Bitbucket Cloud as well as Bitbucket Server instances.
Type:String
traits (optional)
The behaviours control what is discovered from the Bitbucket repository. The behaviours are grouped into a number of categories:
Within repository
These behaviours determine what gets discovered. If you do not configure at least one discovery behaviour then nothing will be found!
General
These behaviours affect the configuration of each discovered branch / pull request. These behaviours are relevant to both Git and Mercurial based repositories
Git
These behaviours affect the configuration of each discovered branch / pull request if and only if the repository is a Git repository. If the repository is a Mercurial repository, these behaviours will be silently ignored.
Mercurial
These behaviours affect the configuration of each discovered branch / pull request if and only if the repository is a Mercurial repository. If the repository is a Git repository, these behaviours will be silently ignored.
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
github
repoOwner

Specify the name of the GitHub Organization or GitHub User Account.

Type:String
repository
The repository to scan.
Type:String
apiUri (optional)
The server to connect to. The list of servers is configured in the Manage Jenkins » Configure Jenkins › GitHub Enterprise Servers screen.
Type:String
buildForkPRHead (optional)
Type:boolean
buildForkPRMerge (optional)
Type:boolean
buildOriginBranch (optional)
Type:boolean
buildOriginBranchWithPR (optional)
Type:boolean
buildOriginPRHead (optional)
Type:boolean
buildOriginPRMerge (optional)
Type:boolean
credentialsId (optional)

Credentials used to scan branches and pull requests, check out sources and mark commit statuses.

Note that only "username with password" credentials are supported. Existing credentials of other kinds will be filtered out. This is because jenkins exercises GitHub API, and this last one does not support other ways of authentication.

If none is given, only the public repositories will be scanned, and commit status will not be set on GitHub.

If your organization contains private repositories, then you need to specify a credential from an user who have access to those repositories. This is done by creating a "username with password" credential where the password is GitHub personal access tokens. The necessary scope is "repo"

Type:String
excludes (optional)
Type:String
id (optional)
Type:String
includes (optional)
Type:String
traits (optional)
The behaviours control what is discovered from the GitHub repository. The behaviours are grouped into a number of categories:
Within repository
These behaviours determine what gets discovered. If you do not configure at least one discovery behaviour then nothing will be found!
General
These behaviours affect the configuration of each discovered branch / pull request.
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
git
remote
Specify the URL of this remote repository. This uses the same syntax as your git clone command.
Type:String
browser (optional)
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
credentialsId (optional)
Credentials used to scan branches and check out sources.
Type:String
extensions (optional)
Array/List:
Nested choice of objects
$class: 'AuthorInChangelog'
The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

$class: 'BuildChooserSetting'
When you are interested in using a job to build multiple heads (most typically multiple branches), you can choose how Jenkins choose what branches to build in what order.

This extension point in Jenkins is used by many other plugins to control the job to build specific commits. When you activate those plugins, you may see them installing a custom strategy here.

buildChooser
Nested choice of objects
$class: 'AncestryBuildChooser'
maximumAgeInDays
Type:int
ancestorCommitSha1
Type:String
$class: 'DefaultBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
This method calculates the changelog against the specified branch.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

options
Nested object
compareRemote
Name of the repository, such as origin, that contains the branch you specify below.
Type:String
compareTarget
The name of the branch within the named repository to compare against.
Type:String
$class: 'CheckoutOption'
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanBeforeCheckout'
Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CleanCheckout'
Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
$class: 'CloneOption'
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DisableRemotePoll'
Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

If you don't want to / can't use this.

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).
$class: 'GitLFSPull'
$class: 'IgnoreNotifyCommit'
If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.
$class: 'LocalBranch'
If given, checkout the revision to build as HEAD on this branch.

If selected, and its value is an empty string or "**", then the branch name is computed from the remote branch without the origin. In that case, a remote branch origin/master will be checked out to a local branch named master, and a remote branch origin/develop/new-feature will be checked out to a local branch named develop/newfeature.

Please note that this has not been tested with submodules.

localBranch
Type:String
$class: 'MessageExclusion'
excludedMessage
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed with message matched to Pattern when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct message.

Exclusion uses Pattern matching

.*\[maven-release-plugin\].*
The example above illustrates that if only revisions with "[maven-release-plugin]" message in first comment line have been committed to the SCM a build will not occur.

You can create more complex patterns using embedded flag expressions.

(?s).*FOO.*
This example will search FOO message in all comment lines.
Type:String
$class: 'PathRestriction'
If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

includedRegions
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.
Type:String
excludedRegions
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
Type:String
$class: 'PerBuildTag'
Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
$class: 'PreBuildMerge'
These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options
Nested object
mergeTarget
The name of the branch within the named repository to merge to, such as master.
Type:String
fastForwardMode (optional)
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation
Values:
FF
FF_ONLY
NO_FF
mergeRemote (optional)
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
Type:String
mergeStrategy (optional)
Merge strategy selection. This feature is not fully implemented in JGIT.
Values:
DEFAULT
RESOLVE
RECURSIVE
OCTOPUS
OURS
SUBTREE
RECURSIVE_THEIRS
$class: 'PruneStaleBranch'
Run "git remote prune" for each remote, to prune obsolete local branches.
$class: 'RelativeTargetDirectory'
relativeTargetDir
Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.
Type:String
$class: 'ScmName'

Unique name for this SCM. Needed when using Git within the Multi SCM plugin.

name
Type:String
$class: 'SparseCheckoutPaths'

Specify the paths that you'd like to sparse checkout. This may be used for saving space (Think about a reference repository). Be sure to use a recent version of Git, at least above 1.7.10

sparseCheckoutPaths
Array/List:
Nested object
path
Type:String
$class: 'SubmoduleOption'
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserExclusion'
excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.

Each exclusion uses literal pattern matching, and must be separated by a new line.

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
Type:String
$class: 'UserIdentity'
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WipeWorkspace'
Delete the contents of the workspace before building, ensuring a fully fresh workspace.
gitTool (optional)
Type:String
id (optional)
Type:String
traits (optional)
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'Kallithea'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'KilnHG'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'RhodeCodeLegacy'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'MercurialInstallationSCMSourceTrait'
installation
Type:String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
If the repository being scanned is a public repository, this behaviour will exclude all pull requests. (Note: This behaviour is not especially useful if scanning a single repository as you could just not include the pull request discovery behaviours in the first place)
$class: 'RefSpecsSCMSourceTrait'
templates
Array/List:
Nested object
value
A ref spec to fetch. Any occurrences of @{remote} will be replaced by the remote name (which defaults to origin) before use.
Type:String
headRegexFilter
regex
A Java regular expression to restrict the names. Names that do not match the supplied regular expression will be ignored.
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'RemoteNameSCMSourceTrait'
remoteName
Type:String
$class: 'SubmoduleOptionTrait'
extension
Nested object
disableSubmodules
By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.
Type:boolean
recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
Type:boolean
trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  
Type:String
timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
parentCredentials
Use credentials from the default remote of the parent project.
Type:boolean
$class: 'UserIdentityTrait'
extension
Nested object
name

If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
email

If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.

Type:String
$class: 'WebhookRegistrationTrait'

Overrides the defaults for webhook management.

Webhooks are used to inform Jenkins about changes to repositories. There are two ways webhooks can be configured:

  • Manual webhook configuration requires the user to configure Bitbucket with the Jenkins URL in order to ensure that Bitbucket will send the events to Jenkins after every change.
  • Automatic webhook configuration requires that Jenkins has credentials with sufficient permission to configure webhooks and also that Jenkins knows the URL that Bitbucket can connect to.

The Manage Jenkins » Configure Jenkins › Bitbucket Endpoints allows defining the list of servers. Each server can be associated with credentials. If credentials are defined then the default behaviour is to use those credentials to automatically manage the webhooks of all repositories that Jenkins is interested in. If no credentials are defined then the default behaviour is to require the user to manually configure webhooks.

mode
There are two available modes:
Disable hook management
Disables hook management irrespective of the global defaults.
Use item credentials for hook management
Enabled hook management but uses the selected credentials to manage the hooks rather than those defined in Manage Jenkins » Configure Jenkins › Bitbucket Endpoints
Type:String
headWildcardFilter
includes
Space-separated list of name patterns to consider. You may use * as a wildcard; for example: master release*
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
excludes
Space-separated list of name patterns to ignore even if matched by the includes list. For example: release
NOTE: this filter will be applied to all branch like things, including change requests
Type:String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Forks in the same account
Bitbucket allows for a repository to be forked into a "sibling" repository in the same account but using a different name. This strategy will trust any pull requests from forks that are in the same account as the target repository on the basis that users have to have been granted write permission to account in order create such a fork.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on Bitbucket Cloud.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git / Mercurial repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'
Discovers branches on the repository.
$class: 'jenkins.plugins.git.traits.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait'
Discovers branches on the repository.
strategyId
Determines which branches are discovered.
Exclude branches that are also filed as PRs
If you are discovering origin pull requests, it may not make sense to discover the same changes both as a pull request and as a branch.
Only branches that are also filed as PRs
This option exists to preserve legacy behaviour when upgrading from older versions of the plugin. NOTE: If you have an actual use case for this option please file a pull request against this text.
All branches
Ignores whether the branch is also filed as a pull request and instead discovers all branches on the origin repository.
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is a fork of the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
trust

One of the great powers of pull requests is that anyone with read access to a repository can fork it, commit some changes to their fork and then create a pull request against the original repository with their changes. There are some files stored in source control that are important. For example, a Jenkinsfile may contain configuration details to sandbox pull requests in order to mitigate against malicious pull requests. In order to protect against a malicious pull request itself modifying the Jenkinsfile to remove the protections, you can define the trust policy for pull requests from forks.

Other plugins can extend the available trust policies. The default policies are:

Nobody
Pull requests from forks will all be treated as untrusted. This means that where Jenkins requires a trusted file (e.g. Jenkinsfile) the contents of that file will be retrieved from the target branch on the origin repository and not from the pull request branch on the fork repository.
Contributors
Pull requests from collaborators to the origin repository will be treated as trusted, all other pull requests from fork repositories will be treated as untrusted. Note that if credentials used by Jenkins for scanning the repository does not have permission to query the list of contributors to the origin repository then only the origin account will be treated as trusted - i.e. this will fall back to Nobody. NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
Everyone
All pull requests from forks will be treated as trusted. NOTE: this option can be dangerous if used on a public repository hosted on GitHub.
From users with Admin or Write permission
Pull requests forks will be treated as trusted if and only if the fork owner has either Admin or Write permissions on the origin repository. This is the recommended policy. Note that this strategy requires the Review a user's permission level API, as a result on GitHub Enterprise Server versions before 2.12 this is the same as trusting Nobody.
java.lang.UnsupportedOperationException: do not know how to categorize attributes of type jenkins.scm.api.trait.SCMHeadAuthority<? super org.jenkinsci.plugins.github_branch_source.GitHubSCMSourceRequest, ? extends jenkins.scm.api.mixin.ChangeRequestSCMHead2, ? extends jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
Discovers pull requests where the origin repository is the same as the target repository.
strategyId
Determines how pull requests are discovered:
Merging the pull request with the current target branch revision
Discover each pull request once with the discovered revision corresponding to the result of merging with the current revision of the target branch
The current pull request revision
Discover each pull request once with the discovered revision corresponding to the pull request head revision without merging
Both the current pull request revision and the pull request merged with the current target branch revision
Discover each pull request twice. The first discovered revision corresponds to the result of merging with the current revision of the target branch in each scan. The second parallel discovered revision corresponds to the pull request head revision without merging
Type:int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
By default the discovered branches / pull requests will all use the same username / password credentials that were used for discovery when checking out sources. This means that the checkout will be using the https:// protocol for the Git repository.

This behaviour allows you to select the SSH private key to be used for checking out sources, which will consequently force the checkout to use the ssh:// protocol.

credentialsId
Credentials used to check out sources. Must be a SSH key based credential.
Type:String
$class: 'org.jenkinsci.plugins.github_branch_source.TagDiscoveryTrait'
Discovers tags on the repository.
$class: 'MercurialSCMSource'
source
Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.
Type:String
credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.
Type:String
id (optional)
Type:String
traits (optional)
Array/List:
Nested choice of objects
$class: 'AuthorInChangelogTrait'
$class: 'CheckoutOptionTrait'
extension
Nested object
timeout
Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
When this behaviour is present, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.
$class: 'CloneOptionTrait'
extension
Nested object
shallow
Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:boolean
noTags
Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
Type:boolean
reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
Type:String
timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).
Type:int
depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.
Type:int
honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.
Type:boolean
$class: 'DiscoverOtherRefsTrait'
Discovers other specified refs on the repository.
ref

The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged

Type:String
nameMapping (optional)

Mapping for how the ref can be named in for example the @Library.
Example: test-@{1}
Where @{1} replaces the first wildcard in the ref when discovered.

By default it will be "namespace_before_wildcard-@{1}". E.g. if ref is "test/*/merged" the default mapping would be "test-@{1}".

Type:String
$class: 'GitBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'AssemblaWeb'
repoUrl
Type:String
$class: 'BitbucketWeb'
repoUrl
Type:String
$class: 'CGit'
repoUrl
Type:String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
Type:String
$class: 'GitBlitRepositoryBrowser'
repoUrl
Type:String
projectName
Specify the name of the project in GitBlit
Type:String
$class: 'GitLab'
repoUrl
Type:String
version
Specify the major and minor version of gitlab you use (such as 3.1).
Type:String
$class: 'GitList'
repoUrl
Type:String
$class: 'GitWeb'
repoUrl
Type:String
$class: 'GithubWeb'
repoUrl
Type:String
$class: 'Gitiles'
repoUrl
Type:String
$class: 'GitoriousWeb'
repoUrl
Type:String
$class: 'GogsGit'
repoUrl
Type:String
$class: 'KilnGit'
repoUrl
Type:String
$class: 'Phabricator'
repoUrl
Type:String
repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.example.com/diffusion/foo/browse)
Type:String
$class: 'RedmineWeb'
repoUrl
Type:String
$class: 'RhodeCode'
repoUrl
Type:String
$class: 'Stash'
repoUrl
Type:String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

If TFS is also used as the repository server, this can usually be left blank.

Type:String
$class: 'ViewGitWeb'
repoUrl
Type:String
projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)
Type:String
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
Type:String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
Nested choice of objects
$class: 'BitBucket'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'FishEye'
url
Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
Type:String
$class: 'GoogleCode'
url
Specify the root URL serving this repository (such as this.)
Type:String
$class: 'HgWeb'
url
Specif