The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.
For a list of other such plugins, see the Pipeline Steps Reference page.
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
@
. You may instead define a library inline here.
String
changelog
(optional)
boolean
retriever
(optional)
legacySCM
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
$class: 'AWSCodePipelineSCM'
name
String
clearWorkspace
boolean
region
String
awsAccessKey
In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
awsSecretKey
>In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
proxyHost
You might need a proxy host address if you are hosting Jenkins on a private network. The proxy name can be an IP address or DNS address. The AWS CodePipeline Plugin for Jenkins requires internet access. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
proxyPort
You might need a proxy port for your proxy host address if you are hosting Jenkins on a private network. The proxy port is a number, might be on port 8080, 3128, or 8443, depending on your network protocols and security settings. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
category
This is the category of the action type in AWS CodePipeline, and is usually either Build or Test. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
provider
This is the provider name of the action type in AWS CodePipeline. You must provide this exact string when adding an action for Jenkins in AWS CodePipeline. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
version
Leave the default as 1.
String
accurev
depot
String
stream
String
serverName
(optional)
String
serverUUID
(optional)
String
accurevTool
(optional)
String
cleanreftree
(optional)
boolean
directoryOffset
(optional)
String
dontPopContent
(optional)
boolean
filterForPollSCM
(optional)
String
ignoreStreamParent
(optional)
boolean
reftree
(optional)
String
snapshotNameFormat
(optional)
String
subPath
(optional)
String
synctime
(optional)
boolean
useSnapshot
(optional)
boolean
workspace
(optional)
String
wspaceORreftree
(optional)
String
$class: 'BazaarSCM'
source
String
cleantree
boolean
browser
$class: 'Loggerhead'
url
String
$class: 'OpenGrok'
url
String
rootModule
String
checkout
boolean
$class: 'BitKeeperSCM'
parent
String
localRepository
String
usePull
boolean
quiet
boolean
$class: 'BlameSubversionSCM'
if it is false and the build is not triggered by upstream job,
the plugin will not collect any svn info from upstream job.
else the plugin will collect svn info from latest upstream job
alwaysCollectSVNInfo
boolean
$class: 'CCUCMScm'
loadModule
String
newest
boolean
mode
$class: 'PollChildMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
$class: 'PollRebaseMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
boolean
excludeList
(optional)
String
$class: 'PollSelfMode'
levelToPoll
String
component
(optional)
String
newest
(optional)
boolean
$class: 'PollSiblingMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
useHyperLinkForPolling
(optional)
boolean
$class: 'PollSubscribeMode'
levelToPoll
String
componentsToMonitor
componentSelection
String
jobsToMonitor
jobname
String
ignores
String
jobName
(optional)
String
cascadePromotion
(optional)
boolean
component
(optional)
String
newest
(optional)
boolean
stream
String
treatUnstable
String
nameTemplate
String
forceDeliver
boolean
recommend
boolean
makeTag
boolean
setDescription
boolean
buildProject
String
removeViewPrivateFiles
boolean
trimmedChangeSet
boolean
discard
boolean
$class: 'CVSSCM'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
legacy
If you have multiple modules to check out, this option is forced (otherwise they'll overlap.)
This affects other path specifiers, such as artifact archivers --- you now specify "build/foo.jar" instead of "foo/build/foo.jar".
boolean
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
checkoutCurrentTimestamp
The build quiet period is designed to assist with CVS checkouts by waiting for a specific period of time without commits. Normally you want the checkout to reflect the time when the quiet period was exited successfully. Select this option if you need to re-enable the legacy behaviour of Jenkins, i.e. using the time that the build started checking out as the timestamp for the checkout operation. Note: enabling this option can result in the quiet period being defeated especially in those cases where the build is not able to start immediately after exiting the quiet period.
boolean
$class: 'ClearCaseSCM'
branch
String
label
String
extractConfigSpec
boolean
configSpecFileName
String
refreshConfigSpec
boolean
refreshConfigSpecCommand
String
configSpec
String
viewTag
String
useupdate
boolean
extractLoadRules
boolean
loadRules
String
useOtherLoadRulesForPolling
boolean
loadRulesForPolling
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
doNotUpdateConfigSpec
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
useTimeRule
boolean
createDynView
boolean
viewPath
String
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
$class: 'ClearCaseUcmBaselineSCM'
$class: 'ClearCaseUcmSCM'
stream
String
loadrules
String
viewTag
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
useUpdate
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
overrideBranchName
String
createDynView
boolean
freezeCode
boolean
recreateView
boolean
allocateViewName
boolean
viewPath
String
useManualLoadRules
boolean
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
buildFoundationBaseline
If checked, instead of creating a view on the current stream, the job will look up the current foundation baselines for the given stream and work in readonly on these baselines. If polling is enabled, the build will be triggered every time a new foundation baseline is detected on the given stream.
boolean
$class: 'CloneWorkspaceSCM'
parentJobName
String
criteria
String
$class: 'CmvcSCM'
family
String
become
String
releases
String
checkoutScript
String
trackViewReportWhereClause
String
$class: 'ConfigurationRotator'
acrs
$class: 'ClearCaseUCM'
pvobName
String
contribute
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
boolean
targets
baselineName
String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed
boolean
useNewest
(optional)
boolean
$class: 'Git'
targets
name
String
repository
String
branch
String
commitId
String
fixed
boolean
useNewest
(optional)
boolean
$class: 'CvsProjectset'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
username
String
password
String
browser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
$class: 'DarcsScm'
source
String
localDir
String
clean
boolean
browser
$class: 'DarcsWeb'
url
String
repo
String
$class: 'Darcsden'
url
String
$class: 'DelegateSCM'
clazz
String
$class: 'DimensionsSCM'
project
String
folders
String
pathsToExclude
String
workarea
String
canJobDelete
boolean
canJobForce
boolean
canJobRevert
boolean
jobUserName
String
jobPasswd
String
jobServer
String
jobDatabase
String
canJobUpdate
boolean
jobTimeZone
String
jobWebUrl
String
directory
String
permissions
String
eol
String
canJobExpand
boolean
canJobNoMetadata
boolean
canJobNoTouch
boolean
forceAsSlave
boolean
$class: 'DrushMakefileSCM'
makefile
Specify the content of the Makefile. Support for YAML Makefiles depends on the version of Drush you have installed.
This example will generate a vanilla Drupal 7.38:
api=2 core=7.x projects[drupal][version]=7.38
String
root
String
$class: 'EndevorConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
filesystem
path
The file path for the source code.
e.g. \\Server1\project1\src or c:\myproject\src
Note for distributed build environment, please make sure the path is accessible on remote node(s)
String
clearWorkspace
If true, the system will delete all existing files/sub-folders in workspace before checking-out. Poll changes will not be affected by this setting.
boolean
copyHidden
If true, the system will copy hidden files and folders as well. Default is false.
boolean
filterSettings
includeFilter
boolean
selectors
You can apply wildcard filter(s) when detecting changes and copying files. By default, the system will filter out hidden files, on Unix, that means files/folder starting with ".", on Windows, that means files/folders with "hidden" attribute. You may want to filter out, e.g. files with ".tmp" extension.
Note: filters are applied on both sides, source and destination (i.e. the workspace). E.g. if you filter out ".tmp" files, all ".tmp" files currently in workspace will not be removed.
wildcard
ANT style wildcard.
To include just *.java, set filter type to "Include" and type add "*.java" (without quote) in the wildcard. To exclude *.exe" and all JUnit test cases, set filter type to "Exclude" and add two wildcard, one for "*.dll" and one for "*Test*"
To exclude a directory, set filter to "**/dir_to_exclude/**"
Note: (1) the wildcard is case insensitive, (2) all backslashes (\) will be replaced with slashes (/)
String
$class: 'FeatureBranchAwareMercurialSCM'
installation
String
source
String
branch
String
modules
String
subdir
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
boolean
branchPattern
String
$class: 'GeneXusServerSCM'
gxInstallationId
String
serverURL
String
credentialsId
String
kbName
String
kbVersion
String
localKbPath
String
localKbVersion
String
kbDbServerInstance
String
kbDbCredentialsId
String
kbDbName
String
kbDbInSameFolder
boolean
$class: 'GitSCM'
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url
String
name
You normally want to specify this when you have multiple remote repositories.
String
refspec
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.
String
credentialsId
String
branches
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:
String
doGenerateSubmoduleConfigurations
boolean
submoduleCfg
hudson.plugins.git.SubmoduleConfig
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
gitTool
String
extensions
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
$class: 'HarvestSCM'
broker
String
passwordFile
String
userId
String
password
String
projectName
String
state
String
viewPath
String
clientPath
String
processName
String
recursiveSearch
String
useSynchronize
boolean
extraOptions
String
$class: 'IspwConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
serverStream
String
serverApplication
String
serverLevel
String
levelOption
String
componentType
String
folderName
String
ispwDownloadAll
boolean
$class: 'IspwContainerConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
containerName
String
containerType
String
serverLevel
String
componentType
String
ispwDownloadAll
boolean
$class: 'MercurialSCM'
source
String
browser
(optional)
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
(optional)
boolean
credentialsId
(optional)
String
disableChangeLog
(optional)
boolean
installation
(optional)
String
modules
(optional)
String
revision
(optional)
default
branch.)
String
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
scmList
$class: 'AWSCodePipelineSCM'
name
String
clearWorkspace
boolean
region
String
awsAccessKey
In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
awsSecretKey
>In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
proxyHost
You might need a proxy host address if you are hosting Jenkins on a private network. The proxy name can be an IP address or DNS address. The AWS CodePipeline Plugin for Jenkins requires internet access. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
proxyPort
You might need a proxy port for your proxy host address if you are hosting Jenkins on a private network. The proxy port is a number, might be on port 8080, 3128, or 8443, depending on your network protocols and security settings. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
category
This is the category of the action type in AWS CodePipeline, and is usually either Build or Test. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
provider
This is the provider name of the action type in AWS CodePipeline. You must provide this exact string when adding an action for Jenkins in AWS CodePipeline. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
version
Leave the default as 1.
String
accurev
depot
String
stream
String
serverName
(optional)
String
serverUUID
(optional)
String
accurevTool
(optional)
String
cleanreftree
(optional)
boolean
directoryOffset
(optional)
String
dontPopContent
(optional)
boolean
filterForPollSCM
(optional)
String
ignoreStreamParent
(optional)
boolean
reftree
(optional)
String
snapshotNameFormat
(optional)
String
subPath
(optional)
String
synctime
(optional)
boolean
useSnapshot
(optional)
boolean
workspace
(optional)
String
wspaceORreftree
(optional)
String
$class: 'BazaarSCM'
source
String
cleantree
boolean
browser
$class: 'Loggerhead'
url
String
$class: 'OpenGrok'
url
String
rootModule
String
checkout
boolean
$class: 'BitKeeperSCM'
parent
String
localRepository
String
usePull
boolean
quiet
boolean
$class: 'BlameSubversionSCM'
if it is false and the build is not triggered by upstream job,
the plugin will not collect any svn info from upstream job.
else the plugin will collect svn info from latest upstream job
alwaysCollectSVNInfo
boolean
$class: 'CCUCMScm'
loadModule
String
newest
boolean
mode
$class: 'PollChildMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
$class: 'PollRebaseMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
boolean
excludeList
(optional)
String
$class: 'PollSelfMode'
levelToPoll
String
component
(optional)
String
newest
(optional)
boolean
$class: 'PollSiblingMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
useHyperLinkForPolling
(optional)
boolean
$class: 'PollSubscribeMode'
levelToPoll
String
componentsToMonitor
componentSelection
String
jobsToMonitor
jobname
String
ignores
String
jobName
(optional)
String
cascadePromotion
(optional)
boolean
component
(optional)
String
newest
(optional)
boolean
stream
String
treatUnstable
String
nameTemplate
String
forceDeliver
boolean
recommend
boolean
makeTag
boolean
setDescription
boolean
buildProject
String
removeViewPrivateFiles
boolean
trimmedChangeSet
boolean
discard
boolean
$class: 'CVSSCM'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
legacy
If you have multiple modules to check out, this option is forced (otherwise they'll overlap.)
This affects other path specifiers, such as artifact archivers --- you now specify "build/foo.jar" instead of "foo/build/foo.jar".
boolean
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
checkoutCurrentTimestamp
The build quiet period is designed to assist with CVS checkouts by waiting for a specific period of time without commits. Normally you want the checkout to reflect the time when the quiet period was exited successfully. Select this option if you need to re-enable the legacy behaviour of Jenkins, i.e. using the time that the build started checking out as the timestamp for the checkout operation. Note: enabling this option can result in the quiet period being defeated especially in those cases where the build is not able to start immediately after exiting the quiet period.
boolean
$class: 'ClearCaseSCM'
branch
String
label
String
extractConfigSpec
boolean
configSpecFileName
String
refreshConfigSpec
boolean
refreshConfigSpecCommand
String
configSpec
String
viewTag
String
useupdate
boolean
extractLoadRules
boolean
loadRules
String
useOtherLoadRulesForPolling
boolean
loadRulesForPolling
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
doNotUpdateConfigSpec
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
useTimeRule
boolean
createDynView
boolean
viewPath
String
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
$class: 'ClearCaseUcmBaselineSCM'
$class: 'ClearCaseUcmSCM'
stream
String
loadrules
String
viewTag
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
useUpdate
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
overrideBranchName
String
createDynView
boolean
freezeCode
boolean
recreateView
boolean
allocateViewName
boolean
viewPath
String
useManualLoadRules
boolean
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
buildFoundationBaseline
If checked, instead of creating a view on the current stream, the job will look up the current foundation baselines for the given stream and work in readonly on these baselines. If polling is enabled, the build will be triggered every time a new foundation baseline is detected on the given stream.
boolean
$class: 'CloneWorkspaceSCM'
parentJobName
String
criteria
String
$class: 'CmvcSCM'
family
String
become
String
releases
String
checkoutScript
String
trackViewReportWhereClause
String
$class: 'ConfigurationRotator'
acrs
$class: 'ClearCaseUCM'
pvobName
String
contribute
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
boolean
targets
baselineName
String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed
boolean
useNewest
(optional)
boolean
$class: 'Git'
targets
name
String
repository
String
branch
String
commitId
String
fixed
boolean
useNewest
(optional)
boolean
$class: 'CvsProjectset'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
username
String
password
String
browser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
$class: 'DarcsScm'
source
String
localDir
String
clean
boolean
browser
$class: 'DarcsWeb'
url
String
repo
String
$class: 'Darcsden'
url
String
$class: 'DelegateSCM'
clazz
String
$class: 'DimensionsSCM'
project
String
folders
String
pathsToExclude
String
workarea
String
canJobDelete
boolean
canJobForce
boolean
canJobRevert
boolean
jobUserName
String
jobPasswd
String
jobServer
String
jobDatabase
String
canJobUpdate
boolean
jobTimeZone
String
jobWebUrl
String
directory
String
permissions
String
eol
String
canJobExpand
boolean
canJobNoMetadata
boolean
canJobNoTouch
boolean
forceAsSlave
boolean
$class: 'DrushMakefileSCM'
makefile
Specify the content of the Makefile. Support for YAML Makefiles depends on the version of Drush you have installed.
This example will generate a vanilla Drupal 7.38:
api=2 core=7.x projects[drupal][version]=7.38
String
root
String
$class: 'EndevorConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
filesystem
path
The file path for the source code.
e.g. \\Server1\project1\src or c:\myproject\src
Note for distributed build environment, please make sure the path is accessible on remote node(s)
String
clearWorkspace
If true, the system will delete all existing files/sub-folders in workspace before checking-out. Poll changes will not be affected by this setting.
boolean
copyHidden
If true, the system will copy hidden files and folders as well. Default is false.
boolean
filterSettings
includeFilter
boolean
selectors
You can apply wildcard filter(s) when detecting changes and copying files. By default, the system will filter out hidden files, on Unix, that means files/folder starting with ".", on Windows, that means files/folders with "hidden" attribute. You may want to filter out, e.g. files with ".tmp" extension.
Note: filters are applied on both sides, source and destination (i.e. the workspace). E.g. if you filter out ".tmp" files, all ".tmp" files currently in workspace will not be removed.
wildcard
ANT style wildcard.
To include just *.java, set filter type to "Include" and type add "*.java" (without quote) in the wildcard. To exclude *.exe" and all JUnit test cases, set filter type to "Exclude" and add two wildcard, one for "*.dll" and one for "*Test*"
To exclude a directory, set filter to "**/dir_to_exclude/**"
Note: (1) the wildcard is case insensitive, (2) all backslashes (\) will be replaced with slashes (/)
String
$class: 'FeatureBranchAwareMercurialSCM'
installation
String
source
String
branch
String
modules
String
subdir
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
boolean
branchPattern
String
$class: 'GeneXusServerSCM'
gxInstallationId
String
serverURL
String
credentialsId
String
kbName
String
kbVersion
String
localKbPath
String
localKbVersion
String
kbDbServerInstance
String
kbDbCredentialsId
String
kbDbName
String
kbDbInSameFolder
boolean
$class: 'GitSCM'
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url
String
name
You normally want to specify this when you have multiple remote repositories.
String
refspec
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.
String
credentialsId
String
branches
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:
String
doGenerateSubmoduleConfigurations
boolean
submoduleCfg
hudson.plugins.git.SubmoduleConfig
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
gitTool
String
extensions
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
$class: 'HarvestSCM'
broker
String
passwordFile
String
userId
String
password
String
projectName
String
state
String
viewPath
String
clientPath
String
processName
String
recursiveSearch
String
useSynchronize
boolean
extraOptions
String
$class: 'IspwConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
serverStream
String
serverApplication
String
serverLevel
String
levelOption
String
componentType
String
folderName
String
ispwDownloadAll
boolean
$class: 'IspwContainerConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
containerName
String
containerType
String
serverLevel
String
componentType
String
ispwDownloadAll
boolean
$class: 'MercurialSCM'
source
String
browser
(optional)
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
(optional)
boolean
credentialsId
(optional)
String
disableChangeLog
(optional)
boolean
installation
(optional)
String
modules
(optional)
String
revision
(optional)
default
branch.)
String
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
$class: 'OpenShiftImageStreams'
imageStreamName
String
tag
String
apiURL
String
namespace
String
authToken
String
verbose
String
$class: 'PdsConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
$class: 'PerforceSCM'
p4User
String
p4Passwd
String
p4Client
String
p4Port
String
projectOptions
String
p4Tool
String
p4SysRoot
String
p4SysDrive
String
p4Label
String
p4Counter
String
p4UpstreamProject
String
lineEndValue
String
p4Charset
String
p4CommandCharset
String
clientOwner
String
updateCounterValue
boolean
forceSync
boolean
dontUpdateServer
boolean
alwaysForceSync
boolean
createWorkspace
boolean
updateView
boolean
disableChangeLogOnly
boolean
disableSyncOnly
boolean
showIntegChanges
boolean
dontUpdateClient
boolean
exposeP4Passwd
boolean
pollOnlyOnMaster
boolean
slaveClientNameFormat
String
firstChange
int
fileLimit
int
browser
$class: 'FishEyePerforce'
url
String
rootModule
String
$class: 'P4Web'
url
String
$class: 'Perfbrowse'
url
String
excludedUsers
String
excludedFiles
String
excludedFilesCaseSensitivity
boolean
depotType
value
String
p4Stream
String
clientSpec
String
projectPath
String
cleanWorkspace
cleanType
value
String
restoreChangedDeletedFiles
boolean
wipeRepoBeforeBuild
boolean
useViewMask
viewMask
String
useViewMaskForPolling
boolean
useViewMaskForSyncing
boolean
useViewMaskForChangeLog
boolean
perforce
credential
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
String
workspace
Select the appropriate Perforce workspace behaviour from the list. Not all modes will suit all Jenkins Job build types.
There are five types:
manualSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.
String
spec
allwrite
boolean
clobber
boolean
compress
boolean
locked
boolean
modtime
boolean
rmdir
boolean
streamName
String
line
Set line-ending character(s) for client text files.
linefeed: UNIX style.
carriage return: Macintosh style. (obsolete)
carriage return-linefeed: Windows style.
hybrid: writes UNIX style but reads UNIX, Mac or Windows style.
String
view
Lines to map depot files into the client workspace.
Maps files in the depot to files in your client workspace. Defines the files that you want in your client workspace and specifies where you want them to reside. The default view maps all depot files onto the client. See 'p4 help views' for view syntax. A new view takes effect on the next 'p4 sync'.
String
changeView
String
type
Type of client: writeable/readonly/partitioned/graph
By default all clients are 'writeable', certain clients are short lived and perform long sync and build cycles. Over time these build clients can fragment the 'db.have' table which is used to track what files a client has synced. Setting a type of 'readonly' gives the client its own personal 'db.have' database table. A 'readonly' client cannot 'edit' or 'submit' files, however for build automation this is not usually a requirement and the performance tradeoff is worth considering if your build automation is causing issues with the 'db.have' table. This option requires that an administrator has first configured the 'client.readonly.dir' setting. If it is necessary to submit changes as part of your build, you may specify a 'partitioned' client: like a 'reaonly' client, this type also has a separate 'db.have' table under the 'client.readonly.dir' directory, but allows journalled 'edit' and 'submit' of files.
String
serverID
String
backup
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
boolean
cleanup
boolean
syncID
(optional)
String
specFileSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.
String
specPath
String
syncID
(optional)
String
staticSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of an existing workspace in Perforce to be used as the Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces
String
syncID
(optional)
String
streamSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
streamName
Specify the full Perforce depot path for the given stream. If connected to a Perforce server the auto-text fill should list possible streams.
For example: //stream-depot/main-streamString
format
Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)
Variables can be taken from the Jenkins Environment or Parameterized builds
String
syncID
(optional)
String
templateSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
templateName
Specify the name of an existing workspace in Perforce used to create or update a Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces
String
format
Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)
Variables can be taken from the Jenkins Environment or Parameterized builds
String
syncID
(optional)
String
filter
pathFilter
path
Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.
For example, with a Filter of " //depot/main/tests
":
Case A (change will be filtered):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
//depot/main/tests/002/test.xml
Case B (change will not be filtered, as build.xml is outside of the filter):
Files:
//depot/main/src/build.xml
//depot/main/tests/004/test.xml
//depot/main/tests/005/test.xml
This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.
String
viewPattern
patternText
Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.
For example, with the following regular expressions:
//depot/main/tests.*
//depot/main/src/.*\.cpp
//depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
//depot/main/lib/(?!Lib1|Lib2).*
Case A (change will not be filtered, as these files match our first pattern on "tests"):
Files:
//depot/main/tests/CONTRIUBTING.md
//depot/main/tests/001/index.xml
Case B (Be careful with incomplete file paths! Change will NOT be filtered,
as this file matches a pattern which was likely intended as describing a "tests/" directory.)
Files:
//depot/main/tests.doc
Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):
Files:
//depot/main/build/rbs/deploy_server.rb
//depot/main/build/deploy/deploy.bat
//depot/main/build/Jenkinsfile
Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):
Files:
//depot/main/src/howto.doc
//depot/main/src/oldmain.c
//depot/main/src/art/splash.bmp
//depot/main/src/bt/funnelcake.php
Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)
Files:
//depot/main/lib/Lib1/build.xml
String
caseSensitive
boolean
incremental
perChange
boolean
userFilter
user
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
String
viewFilter
viewMask
Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.
For example, with a View Mask Filter of:
//depot/main/tests
-//depot/main/tests/001
Case A (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
Case B (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/test/index.xml
//depot/main/src/build.xml
Case C (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
Case D (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
//depot/main/tests/001/test.xml
String
populate
Perforce will populate the workspace with the file revisions needed for the build. The different options effect the way the workspace is cleaned and the file revisions are updated.
There are three options:
autoClean
replace
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
boolean
delete
Perforce will delete any local files that are not in the depot.
boolean
tidy
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
previewOnly
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
String
flushOnly
quiet
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
forceClean
have
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
graphClean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
syncOnly
revert
boolean
have
boolean
force
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
browser
fishEye
url
String
rootModule
String
openGrok
url
String
depotPath
String
projectName
String
p4Web
url
String
swarm
url
String
$class: 'PlasticSCM'
selector
String
workspaceName
String
useUpdate
boolean
useMultipleWorkspaces
boolean
additionalWorkspaces
selector
String
workspaceName
String
useUpdate
boolean
$class: 'ProxySCM'
projectName
String
$class: 'PvcsScm'
projectRoot
String
archiveRoot
String
changeLogPrefixFudge
String
moduleDir
String
loginId
String
pvcsWorkspace
String
promotionGroup
String
versionLabel
String
cleanCopy
boolean
$class: 'RTCScm'
overrideGlobal
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
boolean
buildTool
The RTC build toolkit to use when performing builds. The toolkits available are defined in the system configuration (with the other tools like Ant and Java). The build toolkit is also necessary on the Master for polling and validating the job configuration unless the "Avoid using build toolkit on Master" option is enabled.
String
serverURI
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
String
timeout
The timeout period in seconds for Jazz repository requests made during the build.
int
userId
The build user id. Either credentials or a user id and password information should be supplied.
String
password
The Jazz Repository password for the build user. The use of a password is not secure, it can be easily discovered by anyone with access to this page. Credentials, a password file or a password should be supplied.
hudson.util.Secret
passwordFile
The path to the file containing the obfuscated Jazz Repository password for the build user. Credentials, a password file or a password should be supplied.
String
credentialsId
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
String
buildType
value
String
buildDefinition
String
buildWorkspace
String
buildSnapshot
String
buildStream
String
acceptBeforeLoad
(optional)
boolean
buildSnapshotContext
(optional)
snapshotOwnerType
String
processAreaOfOwningStream
String
owningStream
String
owningWorkspace
String
clearLoadDirectory
(optional)
boolean
componentLoadConfig
(optional)
String
componentsToExclude
(optional)
String
createFoldersForComponents
(optional)
boolean
currentSnapshotOwnerType
(optional)
String
customizedSnapshotName
(optional)
String
generateChangelogWithGoodBuild
(optional)
boolean
loadDirectory
(optional)
String
loadPolicy
(optional)
String
overrideDefaultSnapshotName
(optional)
boolean
pathToLoadRuleFile
(optional)
String
processArea
(optional)
String
useDynamicLoadRules
(optional)
boolean
avoidUsingToolkit
Where possible avoid using the Build toolkit when performing tasks on the Master. This is still in the experimental stage. You will require an RTC 5.0 server which provides some of the services used.
The Build toolkit will not be used when polling RTC and terminating the RTC Build. The toolkit is still required though. It is used for other configuration tasks on the Master (i.e. validating the connection to RTC, the build definition or workspace). It is also used for checkout tasks typically performed on slave nodes.
boolean
$class: 'SCLMSCM'
server
String
port
int
credentialsId
String
JESINTERFACELEVEL1
boolean
project
String
alternate
String
group
String
types
String
custJobStep
boolean
JobStep
String
custJobHeader
boolean
JobHeader
String
$class: 'ShellScriptSCM'
checkoutShell
String
pollingShell
String
useCheckoutForPolling
boolean
$class: 'SimpleClearCaseSCM'
loadRules
/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.
String
viewname
String
branch
String
filter
boolean
$class: 'StarTeamSCM'
hostname
String
port
int
projectname
String
viewname
String
foldername
String
username
String
password
String
labelname
String
promotionstate
boolean
$class: 'StoreSCM'
scriptName
String
repositoryName
String
pundles
pundleType
PACKAGE
, BUNDLE
name
String
versionRegex
String
minimumBlessingLevel
String
generateParcelBuilderInputFile
boolean
parcelBuilderInputFilename
String
$class: 'SubversionSCM'
locations
remote
String
credentialsId
String
local
.
) may be used to check out the project directly into the workspace rather than into a subdirectory.
String
depthOption
String
ignoreExternalsOption
svn:externals
to gain read access to the entire Subversion repository. This can happen if you follow the normal practice of giving Jenkins credentials with read access to the entire Subversion repository. You will also need to provide the credentials to use when checking/polling out the svn:externals using the
Additional Credentials option.
boolean
cancelProcessOnExternalsFail
boolean
workspaceUpdater
$class: 'CheckoutUpdater'
$class: 'NoopUpdater'
$class: 'UpdateUpdater'
$class: 'UpdateWithCleanUpdater'
$class: 'UpdateWithRevertUpdater'
browser
$class: 'Assembla'
spaceName
String
$class: 'BacklogRepositoryBrowser'
url
When no value is set, project of "Backlog URL" set above is used.
String
$class: 'CollabNetSVN'
url
String
$class: 'FishEyeSVN'
url
String
rootModule
String
$class: 'Phabricator'
url
String
repo
String
$class: 'PolarionRepositoryBrowser'
url
String
location
String
$class: 'RedmineRepositoryBrowser'
repositoryId
String
$class: 'SVNWeb'
url
String
$class: 'Sventon'
url
String
repositoryInstance
String
$class: 'Sventon2'
url
String
repositoryInstance
String
$class: 'TeamForge'
connectionFactory
url
This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.
String
username
The user who will upload the files.
String
password
The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.
String
project
String
repo
String
$class: 'TracRepositoryBrowser'
$class: 'ViewSVN'
url
String
$class: 'ViewVCRepositoryBrowser'
url
String
location
String
$class: 'VisualSVN'
url
String
$class: 'WebSVN'
url
String
excludedRegions
/trunk/myapp/src/main/web/.*\.html /trunk/myapp/src/main/web/.*\.jpeg /trunk/myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
String
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
excludedRevprop
String
excludedCommitMessages
String
includedRegions
/trunk/myapp/c/library1/.* /trunk/myapp/c/library2/.*If /trunk/myapp is checked out, the build will only occur when there are changes to either the c/library1 and c/library2 subtrees. If there are also excluded regions specified, then a file is not ignored when it is in the included list and not in the excluded list. More information on regular expressions can be found here.
String
ignoreDirPropChanges
boolean
filterChangelog
boolean
additionalCredentials
If there are additional credentials required in order to obtain a complete checkout of the source, they can be provided here.
The realm is how the repository self-identifies to a client. It usually has the following format:
<proto://host:port> Realm Name
proto
is the protocol, e.g. http
or svn
.host
is the host how it's accessed by Jenkins, e.g. as IP address 192.168.1.100
, host name svnserver
, or host name and domain svn.example.org
.port
is the port, even if not explicitly specified. By default, this is 80
for HTTP, 443
for HTTPS, 3690 for the svn
protocol.Realm Name
is how the repository self-identifies. Common options include VisualSVN Server
, Subversion Authentication
or the UUID of the repository.To find out the realm, you could do any of the following:
Realm Name
(see above) in the authentication dialog.svn
program.
svn info https://svnserver/repo
and it will tell you the realm when asking you to enter a password, e.g.: Authentication realm: <svn://svnserver:3690> VisualSVN Server.~/.subversion/auth/svn/simple
; it will be two lines below the line svn:realmstring
.svn+ssh
protocol, the realm has the format username@svn+ssh://host:port
– note that the username is before the svn+ssh://
(unlike the URL used for normal SVN operations), and that there are no angle brackets and no realm name. For this protocol the default port is 22.Make sure to enter the realm exactly as shown, starting with a <
(except for repositories accessed via svn+ssh
– see above).
realm
<scheme://hostname(:port)> name
, while for servers accessed via
svn+ssh
it is of the format
(username@)svn+ssh://hostname(:port)
.
String
credentialsId
String
quietOperation
Mimics subversion command line --quiet
parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.
boolean
$class: 'SurroundSCM'
server
String
serverPort
String
branch
String
repository
String
credentialsId
String
rsaKey
(optional)
rsaKeyFileId
(optional)
String
rsaKeyFilePath
(optional)
String
rsaKeyType
(optional)
NoKey
, Path
, ID
rsaKeyValue
(optional)
String
rsaKeyFileId
(optional)
String
rsaKeyFilePath
(optional)
String
rsaKeyPath
(optional)
String
$class: 'SynergySCM'
project
String
database
String
release
String
purpose
String
username
String
password
String
engine
String
oldProject
String
baseline
String
oldBaseline
String
ccmHome
String
remoteClient
boolean
detectConflict
boolean
replaceSubprojects
boolean
checkForUpdateWarnings
boolean
leaveSessionOpen
boolean
maintainWorkarea
boolean
checkTaskModifiedObjects
boolean
$class: 'TeamFoundationServerScm'
serverUrl
/DefaultCollection
.
http://tfs.example.com:8080/tfs/DefaultCollection
https://tfs.example.com:8080/tfs/CustomCollection
https://fabrikam-fiber-inc.visualstudio.com
Historically, this field was labeled "Server URL" because earlier versions of TFS did not support team project collections.
String
projectPath
The name of the project as it is registered on the server.
String
workspaceName
The name of the Workspace under which the source should be retrieved. This workspace is created as needed. You can normally omit the property unless you want to name a workspace to avoid conflicts on the server (i.e. when you have multiple projects on one server talking to TFS/Team Services)
The default value is to create a workspace named Hudson-${JOB_NAME}. The TFS plugin for Jenkins supports the following macros that are replaced in the workspace name:
String
userName
String
password
hudson.util.Secret
cloakedPaths
(optional)
Paths that are cloaked will not be pulled into the local workspace during a GET from the TFVC repository.
Check-ins that contain files only in cloaked folders (in other words, fully cloaked) will not trigger a build, whereas a check-in containing any path that isn't cloaked will trigger a build.
For example, suppose the Project path is $/Example/project/path, and the repository contains the following subfolders:
$/Example/project/path/ANow, suppose the following paths were entered as Cloaked Paths:
$/Example/project/path/A/1
$/Example/project/path/A/2
$/Example/project/path/B
$/Example/project/path/C
$/Example/project/path/A/2...then the resulting workspace on the Jenkins server would only have the following folders:
$/Example/project/path/B
$/Example/project/path/A
$/Example/project/path/A/1
$/Example/project/path/C
To continue with the example, the following check-in will not trigger a build, because it only contains changes under cloaked paths:
$/Example/project/path/A/2/alpha.txt...whereas this check-in will trigger a build, because it contains at least one path that isn't cloaked:
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt
$/Example/project/path/A/1/first.txt
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt
String
credentialsConfigurer
(optional)
$class: 'AutomaticCredentialsConfigurer'
$class: 'ManualCredentialsConfigurer'
userName
The name of the user that will be connecting to TFS/Team Services to query history, checkout files, etc.
For [on-premises] Team Foundation Server, the user name can be specified in two ways:
For Team Services, there are also two options:
String
password
hudson.util.Secret
localPath
(optional)
The folder where all files will be retrieved into. The folder name is a relative path, under the workspace of the current job.
The default setting is to retrieve the files into the workspace (ie. the workfolder is ".".
String
useOverwrite
(optional)
boolean
useUpdate
(optional)
boolean
versionSpec
(optional)
String
$class: 'VaultSCM'
serverName
String
path
String
userName
String
password
String
repositoryName
String
vaultName
String
sslEnabled
boolean
useNonWorkingFolder
boolean
merge
String
fileTime
String
makeWritableEnabled
boolean
verboseEnabled
boolean
$class: 'hudson.plugins.gradle_repo.RepoScm'
repositoryUrl
String
branch
String
$class: 'hudson.plugins.repo.RepoScm'
manifestRepositoryUrl
String
currentBranch
(optional)
boolean
depth
(optional)
int
destinationDir
(optional)
String
forceSync
(optional)
boolean
ignoreProjects
(optional)
String
jobs
(optional)
int
localManifest
(optional)
String
manifestBranch
(optional)
String
manifestFile
(optional)
String
manifestGroup
(optional)
String
mirrorDir
(optional)
String
noTags
(optional)
boolean
quiet
(optional)
boolean
repoUrl
(optional)
String
resetFirst
(optional)
boolean
showAllChanges
(optional)
boolean
trace
(optional)
boolean
$class: 'OpenShiftImageStreams'
imageStreamName
String
tag
String
apiURL
String
namespace
String
authToken
String
verbose
String
$class: 'PdsConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
$class: 'PerforceSCM'
p4User
String
p4Passwd
String
p4Client
String
p4Port
String
projectOptions
String
p4Tool
String
p4SysRoot
String
p4SysDrive
String
p4Label
String
p4Counter
String
p4UpstreamProject
String
lineEndValue
String
p4Charset
String
p4CommandCharset
String
clientOwner
String
updateCounterValue
boolean
forceSync
boolean
dontUpdateServer
boolean
alwaysForceSync
boolean
createWorkspace
boolean
updateView
boolean
disableChangeLogOnly
boolean
disableSyncOnly
boolean
showIntegChanges
boolean
dontUpdateClient
boolean
exposeP4Passwd
boolean
pollOnlyOnMaster
boolean
slaveClientNameFormat
String
firstChange
int
fileLimit
int
browser
$class: 'FishEyePerforce'
url
String
rootModule
String
$class: 'P4Web'
url
String
$class: 'Perfbrowse'
url
String
excludedUsers
String
excludedFiles
String
excludedFilesCaseSensitivity
boolean
depotType
value
String
p4Stream
String
clientSpec
String
projectPath
String
cleanWorkspace
cleanType
value
String
restoreChangedDeletedFiles
boolean
wipeRepoBeforeBuild
boolean
useViewMask
viewMask
String
useViewMaskForPolling
boolean
useViewMaskForSyncing
boolean
useViewMaskForChangeLog
boolean
perforce
credential
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
String
workspace
Select the appropriate Perforce workspace behaviour from the list. Not all modes will suit all Jenkins Job build types.
There are five types:
manualSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.
String
spec
allwrite
boolean
clobber
boolean
compress
boolean
locked
boolean
modtime
boolean
rmdir
boolean
streamName
String
line
Set line-ending character(s) for client text files.
linefeed: UNIX style.
carriage return: Macintosh style. (obsolete)
carriage return-linefeed: Windows style.
hybrid: writes UNIX style but reads UNIX, Mac or Windows style.
String
view
Lines to map depot files into the client workspace.
Maps files in the depot to files in your client workspace. Defines the files that you want in your client workspace and specifies where you want them to reside. The default view maps all depot files onto the client. See 'p4 help views' for view syntax. A new view takes effect on the next 'p4 sync'.
String
changeView
String
type
Type of client: writeable/readonly/partitioned/graph
By default all clients are 'writeable', certain clients are short lived and perform long sync and build cycles. Over time these build clients can fragment the 'db.have' table which is used to track what files a client has synced. Setting a type of 'readonly' gives the client its own personal 'db.have' database table. A 'readonly' client cannot 'edit' or 'submit' files, however for build automation this is not usually a requirement and the performance tradeoff is worth considering if your build automation is causing issues with the 'db.have' table. This option requires that an administrator has first configured the 'client.readonly.dir' setting. If it is necessary to submit changes as part of your build, you may specify a 'partitioned' client: like a 'reaonly' client, this type also has a separate 'db.have' table under the 'client.readonly.dir' directory, but allows journalled 'edit' and 'submit' of files.
String
serverID
String
backup
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
boolean
cleanup
boolean
syncID
(optional)
String
specFileSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.
String
specPath
String
syncID
(optional)
String
staticSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of an existing workspace in Perforce to be used as the Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces
String
syncID
(optional)
String
streamSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
streamName
Specify the full Perforce depot path for the given stream. If connected to a Perforce server the auto-text fill should list possible streams.
For example: //stream-depot/main-streamString
format
Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)
Variables can be taken from the Jenkins Environment or Parameterized builds
String
syncID
(optional)
String
templateSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
templateName
Specify the name of an existing workspace in Perforce used to create or update a Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces
String
format
Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)
Variables can be taken from the Jenkins Environment or Parameterized builds
String
syncID
(optional)
String
filter
pathFilter
path
Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.
For example, with a Filter of " //depot/main/tests
":
Case A (change will be filtered):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
//depot/main/tests/002/test.xml
Case B (change will not be filtered, as build.xml is outside of the filter):
Files:
//depot/main/src/build.xml
//depot/main/tests/004/test.xml
//depot/main/tests/005/test.xml
This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.
String
viewPattern
patternText
Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.
For example, with the following regular expressions:
//depot/main/tests.*
//depot/main/src/.*\.cpp
//depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
//depot/main/lib/(?!Lib1|Lib2).*
Case A (change will not be filtered, as these files match our first pattern on "tests"):
Files:
//depot/main/tests/CONTRIUBTING.md
//depot/main/tests/001/index.xml
Case B (Be careful with incomplete file paths! Change will NOT be filtered,
as this file matches a pattern which was likely intended as describing a "tests/" directory.)
Files:
//depot/main/tests.doc
Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):
Files:
//depot/main/build/rbs/deploy_server.rb
//depot/main/build/deploy/deploy.bat
//depot/main/build/Jenkinsfile
Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):
Files:
//depot/main/src/howto.doc
//depot/main/src/oldmain.c
//depot/main/src/art/splash.bmp
//depot/main/src/bt/funnelcake.php
Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)
Files:
//depot/main/lib/Lib1/build.xml
String
caseSensitive
boolean
incremental
perChange
boolean
userFilter
user
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
String
viewFilter
viewMask
Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.
For example, with a View Mask Filter of:
//depot/main/tests
-//depot/main/tests/001
Case A (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
Case B (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/test/index.xml
//depot/main/src/build.xml
Case C (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
Case D (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
//depot/main/tests/001/test.xml
String
populate
Perforce will populate the workspace with the file revisions needed for the build. The different options effect the way the workspace is cleaned and the file revisions are updated.
There are three options:
autoClean
replace
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
boolean
delete
Perforce will delete any local files that are not in the depot.
boolean
tidy
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
previewOnly
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
String
flushOnly
quiet
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
forceClean
have
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
graphClean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
syncOnly
revert
boolean
have
boolean
force
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
browser
fishEye
url
String
rootModule
String
openGrok
url
String
depotPath
String
projectName
String
p4Web
url
String
swarm
url
String
$class: 'PlasticSCM'
selector
String
workspaceName
String
useUpdate
boolean
useMultipleWorkspaces
boolean
additionalWorkspaces
selector
String
workspaceName
String
useUpdate
boolean
$class: 'ProxySCM'
projectName
String
$class: 'PvcsScm'
projectRoot
String
archiveRoot
String
changeLogPrefixFudge
String
moduleDir
String
loginId
String
pvcsWorkspace
String
promotionGroup
String
versionLabel
String
cleanCopy
boolean
$class: 'RTCScm'
overrideGlobal
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
boolean
buildTool
The RTC build toolkit to use when performing builds. The toolkits available are defined in the system configuration (with the other tools like Ant and Java). The build toolkit is also necessary on the Master for polling and validating the job configuration unless the "Avoid using build toolkit on Master" option is enabled.
String
serverURI
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
String
timeout
The timeout period in seconds for Jazz repository requests made during the build.
int
userId
The build user id. Either credentials or a user id and password information should be supplied.
String
password
The Jazz Repository password for the build user. The use of a password is not secure, it can be easily discovered by anyone with access to this page. Credentials, a password file or a password should be supplied.
hudson.util.Secret
passwordFile
The path to the file containing the obfuscated Jazz Repository password for the build user. Credentials, a password file or a password should be supplied.
String
credentialsId
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
String
buildType
value
String
buildDefinition
String
buildWorkspace
String
buildSnapshot
String
buildStream
String
acceptBeforeLoad
(optional)
boolean
buildSnapshotContext
(optional)
snapshotOwnerType
String
processAreaOfOwningStream
String
owningStream
String
owningWorkspace
String
clearLoadDirectory
(optional)
boolean
componentLoadConfig
(optional)
String
componentsToExclude
(optional)
String
createFoldersForComponents
(optional)
boolean
currentSnapshotOwnerType
(optional)
String
customizedSnapshotName
(optional)
String
generateChangelogWithGoodBuild
(optional)
boolean
loadDirectory
(optional)
String
loadPolicy
(optional)
String
overrideDefaultSnapshotName
(optional)
boolean
pathToLoadRuleFile
(optional)
String
processArea
(optional)
String
useDynamicLoadRules
(optional)
boolean
avoidUsingToolkit
Where possible avoid using the Build toolkit when performing tasks on the Master. This is still in the experimental stage. You will require an RTC 5.0 server which provides some of the services used.
The Build toolkit will not be used when polling RTC and terminating the RTC Build. The toolkit is still required though. It is used for other configuration tasks on the Master (i.e. validating the connection to RTC, the build definition or workspace). It is also used for checkout tasks typically performed on slave nodes.
boolean
$class: 'SCLMSCM'
server
String
port
int
credentialsId
String
JESINTERFACELEVEL1
boolean
project
String
alternate
String
group
String
types
String
custJobStep
boolean
JobStep
String
custJobHeader
boolean
JobHeader
String
$class: 'ShellScriptSCM'
checkoutShell
String
pollingShell
String
useCheckoutForPolling
boolean
$class: 'SimpleClearCaseSCM'
loadRules
/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.
String
viewname
String
branch
String
filter
boolean
$class: 'StarTeamSCM'
hostname
String
port
int
projectname
String
viewname
String
foldername
String
username
String
password
String
labelname
String
promotionstate
boolean
$class: 'StoreSCM'
scriptName
String
repositoryName
String
pundles
pundleType
PACKAGE
, BUNDLE
name
String
versionRegex
String
minimumBlessingLevel
String
generateParcelBuilderInputFile
boolean
parcelBuilderInputFilename
String
$class: 'SubversionSCM'
locations
remote
String
credentialsId
String
local
.
) may be used to check out the project directly into the workspace rather than into a subdirectory.
String
depthOption
String
ignoreExternalsOption
svn:externals
to gain read access to the entire Subversion repository. This can happen if you follow the normal practice of giving Jenkins credentials with read access to the entire Subversion repository. You will also need to provide the credentials to use when checking/polling out the svn:externals using the
Additional Credentials option.
boolean
cancelProcessOnExternalsFail
boolean
workspaceUpdater
$class: 'CheckoutUpdater'
$class: 'NoopUpdater'
$class: 'UpdateUpdater'
$class: 'UpdateWithCleanUpdater'
$class: 'UpdateWithRevertUpdater'
browser
$class: 'Assembla'
spaceName
String
$class: 'BacklogRepositoryBrowser'
url
When no value is set, project of "Backlog URL" set above is used.
String
$class: 'CollabNetSVN'
url
String
$class: 'FishEyeSVN'
url
String
rootModule
String
$class: 'Phabricator'
url
String
repo
String
$class: 'PolarionRepositoryBrowser'
url
String
location
String
$class: 'RedmineRepositoryBrowser'
repositoryId
String
$class: 'SVNWeb'
url
String
$class: 'Sventon'
url
String
repositoryInstance
String
$class: 'Sventon2'
url
String
repositoryInstance
String
$class: 'TeamForge'
connectionFactory
url
This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.
String
username
The user who will upload the files.
String
password
The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.
String
project
String
repo
String
$class: 'TracRepositoryBrowser'
$class: 'ViewSVN'
url
String
$class: 'ViewVCRepositoryBrowser'
url
String
location
String
$class: 'VisualSVN'
url
String
$class: 'WebSVN'
url
String
excludedRegions
/trunk/myapp/src/main/web/.*\.html /trunk/myapp/src/main/web/.*\.jpeg /trunk/myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
String
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
excludedRevprop
String
excludedCommitMessages
String
includedRegions
/trunk/myapp/c/library1/.* /trunk/myapp/c/library2/.*If /trunk/myapp is checked out, the build will only occur when there are changes to either the c/library1 and c/library2 subtrees. If there are also excluded regions specified, then a file is not ignored when it is in the included list and not in the excluded list. More information on regular expressions can be found here.
String
ignoreDirPropChanges
boolean
filterChangelog
boolean
additionalCredentials
If there are additional credentials required in order to obtain a complete checkout of the source, they can be provided here.
The realm is how the repository self-identifies to a client. It usually has the following format:
<proto://host:port> Realm Name
proto
is the protocol, e.g. http
or svn
.host
is the host how it's accessed by Jenkins, e.g. as IP address 192.168.1.100
, host name svnserver
, or host name and domain svn.example.org
.port
is the port, even if not explicitly specified. By default, this is 80
for HTTP, 443
for HTTPS, 3690 for the svn
protocol.Realm Name
is how the repository self-identifies. Common options include VisualSVN Server
, Subversion Authentication
or the UUID of the repository.To find out the realm, you could do any of the following:
Realm Name
(see above) in the authentication dialog.svn
program.
svn info https://svnserver/repo
and it will tell you the realm when asking you to enter a password, e.g.: Authentication realm: <svn://svnserver:3690> VisualSVN Server.~/.subversion/auth/svn/simple
; it will be two lines below the line svn:realmstring
.svn+ssh
protocol, the realm has the format username@svn+ssh://host:port
– note that the username is before the svn+ssh://
(unlike the URL used for normal SVN operations), and that there are no angle brackets and no realm name. For this protocol the default port is 22.Make sure to enter the realm exactly as shown, starting with a <
(except for repositories accessed via svn+ssh
– see above).
realm
<scheme://hostname(:port)> name
, while for servers accessed via
svn+ssh
it is of the format
(username@)svn+ssh://hostname(:port)
.
String
credentialsId
String
quietOperation
Mimics subversion command line --quiet
parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.
boolean
$class: 'SurroundSCM'
server
String
serverPort
String
branch
String
repository
String
credentialsId
String
rsaKey
(optional)
rsaKeyFileId
(optional)
String
rsaKeyFilePath
(optional)
String
rsaKeyType
(optional)
NoKey
, Path
, ID
rsaKeyValue
(optional)
String
rsaKeyFileId
(optional)
String
rsaKeyFilePath
(optional)
String
rsaKeyPath
(optional)
String
$class: 'SynergySCM'
project
String
database
String
release
String
purpose
String
username
String
password
String
engine
String
oldProject
String
baseline
String
oldBaseline
String
ccmHome
String
remoteClient
boolean
detectConflict
boolean
replaceSubprojects
boolean
checkForUpdateWarnings
boolean
leaveSessionOpen
boolean
maintainWorkarea
boolean
checkTaskModifiedObjects
boolean
$class: 'TeamFoundationServerScm'
serverUrl
/DefaultCollection
.
http://tfs.example.com:8080/tfs/DefaultCollection
https://tfs.example.com:8080/tfs/CustomCollection
https://fabrikam-fiber-inc.visualstudio.com
Historically, this field was labeled "Server URL" because earlier versions of TFS did not support team project collections.
String
projectPath
The name of the project as it is registered on the server.
String
workspaceName
The name of the Workspace under which the source should be retrieved. This workspace is created as needed. You can normally omit the property unless you want to name a workspace to avoid conflicts on the server (i.e. when you have multiple projects on one server talking to TFS/Team Services)
The default value is to create a workspace named Hudson-${JOB_NAME}. The TFS plugin for Jenkins supports the following macros that are replaced in the workspace name:
String
userName
String
password
hudson.util.Secret
cloakedPaths
(optional)
Paths that are cloaked will not be pulled into the local workspace during a GET from the TFVC repository.
Check-ins that contain files only in cloaked folders (in other words, fully cloaked) will not trigger a build, whereas a check-in containing any path that isn't cloaked will trigger a build.
For example, suppose the Project path is $/Example/project/path, and the repository contains the following subfolders:
$/Example/project/path/ANow, suppose the following paths were entered as Cloaked Paths:
$/Example/project/path/A/1
$/Example/project/path/A/2
$/Example/project/path/B
$/Example/project/path/C
$/Example/project/path/A/2...then the resulting workspace on the Jenkins server would only have the following folders:
$/Example/project/path/B
$/Example/project/path/A
$/Example/project/path/A/1
$/Example/project/path/C
To continue with the example, the following check-in will not trigger a build, because it only contains changes under cloaked paths:
$/Example/project/path/A/2/alpha.txt...whereas this check-in will trigger a build, because it contains at least one path that isn't cloaked:
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt
$/Example/project/path/A/1/first.txt
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt
String
credentialsConfigurer
(optional)
$class: 'AutomaticCredentialsConfigurer'
$class: 'ManualCredentialsConfigurer'
userName
The name of the user that will be connecting to TFS/Team Services to query history, checkout files, etc.
For [on-premises] Team Foundation Server, the user name can be specified in two ways:
For Team Services, there are also two options:
String
password
hudson.util.Secret
localPath
(optional)
The folder where all files will be retrieved into. The folder name is a relative path, under the workspace of the current job.
The default setting is to retrieve the files into the workspace (ie. the workfolder is ".".
String
useOverwrite
(optional)
boolean
useUpdate
(optional)
boolean
versionSpec
(optional)
String
$class: 'VaultSCM'
serverName
String
path
String
userName
String
password
String
repositoryName
String
vaultName
String
sslEnabled
boolean
useNonWorkingFolder
boolean
merge
String
fileTime
String
makeWritableEnabled
boolean
verboseEnabled
boolean
$class: 'hudson.plugins.gradle_repo.RepoScm'
repositoryUrl
String
branch
String
$class: 'hudson.plugins.repo.RepoScm'
manifestRepositoryUrl
String
currentBranch
(optional)
boolean
depth
(optional)
int
destinationDir
(optional)
String
forceSync
(optional)
boolean
ignoreProjects
(optional)
String
jobs
(optional)
int
localManifest
(optional)
String
manifestBranch
(optional)
String
manifestFile
(optional)
String
manifestGroup
(optional)
String
mirrorDir
(optional)
String
noTags
(optional)
boolean
quiet
(optional)
boolean
repoUrl
(optional)
String
resetFirst
(optional)
boolean
showAllChanges
(optional)
boolean
trace
(optional)
boolean
modernSCM
scm
$class: 'BacklogPullRequestSCMSource'
id
String
remote
String
credentialsId
String
includes
String
excludes
String
ignoreOnPushNotifications
boolean
url
String
apiKey
API key when using Backlog API version 2.
String
browser
(optional)
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
extensions
(optional)
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
gitTool
(optional)
String
multiBranch
credential
String
includes
(optional)
A List of Perforce Depot paths (separated by new lines). The plugin will search one directory level deep for a Jenkinsfile
(or defined item) using the last directory name for the branch name.
For example, given an include path of: //depot/projA
(or //depot/projA/*
or //depot/projA/...
as these get trimmed before they are passed to p4 dirs
)
If a Jenkinsfile is found in //depot/projA/Main/Jenkinsfile
and //depot/projA/R1.0/Jenkinsfile
then two branches are created for the MultiBranch project 'Main' and 'R1.0'
String
charset
(optional)
String
format
(optional)
String
browser
(optional)
fishEye
url
String
rootModule
String
openGrok
url
String
depotPath
String
projectName
String
p4Web
url
String
swarm
url
String
filter
(optional)
Only supports 'Polling per Change' option.>
pathFilter
path
Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.
For example, with a Filter of " //depot/main/tests
":
Case A (change will be filtered):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
//depot/main/tests/002/test.xml
Case B (change will not be filtered, as build.xml is outside of the filter):
Files:
//depot/main/src/build.xml
//depot/main/tests/004/test.xml
//depot/main/tests/005/test.xml
This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.
String
viewPattern
patternText
Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.
For example, with the following regular expressions:
//depot/main/tests.*
//depot/main/src/.*\.cpp
//depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
//depot/main/lib/(?!Lib1|Lib2).*
Case A (change will not be filtered, as these files match our first pattern on "tests"):
Files:
//depot/main/tests/CONTRIUBTING.md
//depot/main/tests/001/index.xml
Case B (Be careful with incomplete file paths! Change will NOT be filtered,
as this file matches a pattern which was likely intended as describing a "tests/" directory.)
Files:
//depot/main/tests.doc
Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):
Files:
//depot/main/build/rbs/deploy_server.rb
//depot/main/build/deploy/deploy.bat
//depot/main/build/Jenkinsfile
Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):
Files:
//depot/main/src/howto.doc
//depot/main/src/oldmain.c
//depot/main/src/art/splash.bmp
//depot/main/src/bt/funnelcake.php
Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)
Files:
//depot/main/lib/Lib1/build.xml
String
caseSensitive
boolean
incremental
perChange
boolean
userFilter
user
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
String
viewFilter
viewMask
Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.
For example, with a View Mask Filter of:
//depot/main/tests
-//depot/main/tests/001
Case A (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
Case B (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/test/index.xml
//depot/main/src/build.xml
Case C (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
Case D (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
//depot/main/tests/001/test.xml
String
mappings
(optional)
A List of view mapping paths (separated by new lines). The plugin will create the branch workspace view with each mapping mapped to the branch path and client path.
Note: The Jenkinsfile path will automatically be added to the mappings.
Default: ...
will be mapped to //depot/branch/... //client/branch/...
Example: myLibrary/...
will be mapped to //depot/branch/myLibrary/... //client/branch/myLibrary/...
String
pattern
(optional)
Filters the list of candidate branches found by the initial search.
For example, a depot might contain several branches and you only want to build branches starting with 'com', set the Include Filter to: .*com.*
String
populate
(optional)
autoClean
replace
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
boolean
delete
Perforce will delete any local files that are not in the depot.
boolean
tidy
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
previewOnly
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
String
flushOnly
quiet
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
forceClean
have
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
graphClean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
syncOnly
revert
boolean
have
boolean
force
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
gerrit
remote
String
browser
(optional)
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
credentialsId
(optional)
String
extensions
(optional)
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
gitTool
(optional)
String
insecureHttps
(optional)
boolean
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
git
remote
String
browser
(optional)
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
credentialsId
(optional)
String
extensions
(optional)
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
gitTool
(optional)
String
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
$class: 'GiteaSCMSource'
serverUrl
String
repoOwner
String
repository
String
credentialsId
(optional)
String
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
globalLib
credential
String
path
A Perforce Depot path to the library.
For example: //depot/myLibrary/...
String
charset
(optional)
String
filter
(optional)
pathFilter
path
Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.
For example, with a Filter of " //depot/main/tests
":
Case A (change will be filtered):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
//depot/main/tests/002/test.xml
Case B (change will not be filtered, as build.xml is outside of the filter):
Files:
//depot/main/src/build.xml
//depot/main/tests/004/test.xml
//depot/main/tests/005/test.xml
This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.
String
viewPattern
patternText
Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.
For example, with the following regular expressions:
//depot/main/tests.*
//depot/main/src/.*\.cpp
//depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
//depot/main/lib/(?!Lib1|Lib2).*
Case A (change will not be filtered, as these files match our first pattern on "tests"):
Files:
//depot/main/tests/CONTRIUBTING.md
//depot/main/tests/001/index.xml
Case B (Be careful with incomplete file paths! Change will NOT be filtered,
as this file matches a pattern which was likely intended as describing a "tests/" directory.)
Files:
//depot/main/tests.doc
Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):
Files:
//depot/main/build/rbs/deploy_server.rb
//depot/main/build/deploy/deploy.bat
//depot/main/build/Jenkinsfile
Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):
Files:
//depot/main/src/howto.doc
//depot/main/src/oldmain.c
//depot/main/src/art/splash.bmp
//depot/main/src/bt/funnelcake.php
Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)
Files:
//depot/main/lib/Lib1/build.xml
String
caseSensitive
boolean
incremental
perChange
boolean
userFilter
user
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
String
viewFilter
viewMask
Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.
For example, with a View Mask Filter of:
//depot/main/tests
-//depot/main/tests/001
Case A (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
Case B (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/test/index.xml
//depot/main/src/build.xml
Case C (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
Case D (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
//depot/main/tests/001/test.xml
String
format
(optional)
String
includes
(optional)
String
populate
(optional)
autoClean
replace
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
boolean
delete
Perforce will delete any local files that are not in the depot.
boolean
tidy
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
previewOnly
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
String
flushOnly
quiet
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
forceClean
have
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
graphClean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
syncOnly
revert
boolean
have
boolean
force
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
multiGraph
credential
String
includes
(optional)
A List of Perforce Graph repos (separated by new lines). The plugin will recursively search for a Jenkinsfile
(or defined item) using the last directory name for the multi-branch name.
For example: //graph/...
String
charset
(optional)
String
format
(optional)
String
browser
(optional)
fishEye
url
String
rootModule
String
openGrok
url
String
depotPath
String
projectName
String
p4Web
url
String
swarm
url
String
filter
(optional)
pathFilter
path
Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.
For example, with a Filter of " //depot/main/tests
":
Case A (change will be filtered):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
//depot/main/tests/002/test.xml
Case B (change will not be filtered, as build.xml is outside of the filter):
Files:
//depot/main/src/build.xml
//depot/main/tests/004/test.xml
//depot/main/tests/005/test.xml
This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.
String
viewPattern
patternText
Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.
For example, with the following regular expressions:
//depot/main/tests.*
//depot/main/src/.*\.cpp
//depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
//depot/main/lib/(?!Lib1|Lib2).*
Case A (change will not be filtered, as these files match our first pattern on "tests"):
Files:
//depot/main/tests/CONTRIUBTING.md
//depot/main/tests/001/index.xml
Case B (Be careful with incomplete file paths! Change will NOT be filtered,
as this file matches a pattern which was likely intended as describing a "tests/" directory.)
Files:
//depot/main/tests.doc
Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):
Files:
//depot/main/build/rbs/deploy_server.rb
//depot/main/build/deploy/deploy.bat
//depot/main/build/Jenkinsfile
Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):
Files:
//depot/main/src/howto.doc
//depot/main/src/oldmain.c
//depot/main/src/art/splash.bmp
//depot/main/src/bt/funnelcake.php
Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)
Files:
//depot/main/lib/Lib1/build.xml
String
caseSensitive
boolean
incremental
perChange
boolean
userFilter
user
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
String
viewFilter
viewMask
Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.
For example, with a View Mask Filter of:
//depot/main/tests
-//depot/main/tests/001
Case A (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
Case B (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/test/index.xml
//depot/main/src/build.xml
Case C (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
Case D (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
//depot/main/tests/001/test.xml
String
populate
(optional)
autoClean
replace
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
boolean
delete
Perforce will delete any local files that are not in the depot.
boolean
tidy
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
previewOnly
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
String
flushOnly
quiet
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
forceClean
have
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
graphClean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
syncOnly
revert
boolean
have
boolean
force
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
$class: 'MercurialSCMSource'
source
String
credentialsId
(optional)
String
traits
(optional)
$class: 'ApprovedPullRequestTrait'
strategyId
int
$class: 'AuthorInChangelogTrait'
$class: 'BitbucketAgedRefsTrait'
retentionDays
String
bitbucketBranchCommitSkipTrait
bitbucketCommitSkipTrait
$class: 'BitbucketJiraValidatorTrait'
jiraServerIdx
int
$class: 'CheckoutOptionTrait'
extension
timeout
int
$class: 'CleanAfterCheckoutTrait'
$class: 'CleanBeforeCheckoutTrait'
$class: 'CleanMercurialSCMSourceTrait'
$class: 'CloneOptionTrait'
extension
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'DisableStatusUpdateTrait'
$class: 'DiscoverOtherRefsTrait'
ref
The pattern under /refs on the remote repository to discover, can contain a wildcard.
Example: test/*/merged
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}".
String
$class: 'GitBrowserSCMSourceTrait'
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
$class: 'GitHubAgedRefsTrait'
retentionDays
String
gitHubBranchCommitSkipTrait
gitHubCommitSkipTrait
$class: 'GitHubJiraValidatorTrait'
jiraServerIdx
int
$class: 'GitLFSPullTrait'
$class: 'GitToolSCMSourceTrait'
gitTool
String
$class: 'IgnoreOnPushNotificationTrait'
$class: 'LocalBranchTrait'
$class: 'MercurialBrowserSCMSourceTrait'
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
$class: 'MercurialInstallationSCMSourceTrait'
installation
String
$class: 'NotificationContextTrait'
contextLabel
String
typeSuffix
Appends the relevant suffix to the context label based on the build type. '/pr-merge', '/pr-head' or '/branch'
boolean
$class: 'PreBuildMergeTrait'
extension
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
$class: 'PretestedIntegrationSCMTrait'
extension
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranchTrait'
$class: 'PublicRepoPullRequestFilterTrait'
$class: 'RefSpecsSCMSourceTrait'
templates
value
@{remote}
will be replaced by the remote name (which defaults to
origin
) before use.
String
$class: 'RemoteNameSCMSourceTrait'
remoteName
String
skipNotifications
$class: 'SubmoduleOptionTrait'
extension
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserIdentityTrait'
extension
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspaceTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
jenkins.scm.api.SCMRevision>
$class: 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait'
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
String
$class: 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait'
$class: 'com.cloudbees.jenkins.plugins.bitbucket.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:
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
String
$class: 'jenkins.plugins.gerrit.ChangeDiscoveryTrait'
strategyId
int
$class: 'jenkins.plugins.gerrit.traits.ChangeDiscoveryTrait'
gitBranchDiscovery
gitTagDiscovery
headRegexFilter
regex
String
headWildcardFilter
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
headRegexFilterWithPR
regex
String
headWildcardFilterWithPR
includes
*
as a wildcard; for example:
master release*
String
excludes
release
String
$class: 'org.jenkinsci.plugin.gitea.BranchDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.ForkPullRequestDiscoveryTrait'
strategyId
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:
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.
Nobody
.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugin.gitea.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugin.gitea.SSHCheckoutTrait'
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
String
$class: 'org.jenkinsci.plugin.gitea.WebhookRegistrationTrait'
mode
String
gitHubBranchDiscovery
strategyId
int
gitHubForkDiscovery
strategyId
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:
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.
Nobody
.
NOTE: all collaborators are trusted, even if they are only members of a team with read permission.
jenkins.scm.api.SCMRevision>
$class: 'org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait'
strategyId
int
$class: 'org.jenkinsci.plugins.github_branch_source.SSHCheckoutTrait'
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
String
gitHubTagDiscovery
$class: 'SingleSCMSource'
id
String
name
String
scm
$class: 'AWSCodePipelineSCM'
name
String
clearWorkspace
boolean
region
String
awsAccessKey
In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
awsSecretKey
>In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
proxyHost
You might need a proxy host address if you are hosting Jenkins on a private network. The proxy name can be an IP address or DNS address. The AWS CodePipeline Plugin for Jenkins requires internet access. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
proxyPort
You might need a proxy port for your proxy host address if you are hosting Jenkins on a private network. The proxy port is a number, might be on port 8080, 3128, or 8443, depending on your network protocols and security settings. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
category
This is the category of the action type in AWS CodePipeline, and is usually either Build or Test. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
provider
This is the provider name of the action type in AWS CodePipeline. You must provide this exact string when adding an action for Jenkins in AWS CodePipeline. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
version
Leave the default as 1.
String
accurev
depot
String
stream
String
serverName
(optional)
String
serverUUID
(optional)
String
accurevTool
(optional)
String
cleanreftree
(optional)
boolean
directoryOffset
(optional)
String
dontPopContent
(optional)
boolean
filterForPollSCM
(optional)
String
ignoreStreamParent
(optional)
boolean
reftree
(optional)
String
snapshotNameFormat
(optional)
String
subPath
(optional)
String
synctime
(optional)
boolean
useSnapshot
(optional)
boolean
workspace
(optional)
String
wspaceORreftree
(optional)
String
$class: 'BazaarSCM'
source
String
cleantree
boolean
browser
$class: 'Loggerhead'
url
String
$class: 'OpenGrok'
url
String
rootModule
String
checkout
boolean
$class: 'BitKeeperSCM'
parent
String
localRepository
String
usePull
boolean
quiet
boolean
$class: 'BlameSubversionSCM'
if it is false and the build is not triggered by upstream job,
the plugin will not collect any svn info from upstream job.
else the plugin will collect svn info from latest upstream job
alwaysCollectSVNInfo
boolean
$class: 'CCUCMScm'
loadModule
String
newest
boolean
mode
$class: 'PollChildMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
$class: 'PollRebaseMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
boolean
excludeList
(optional)
String
$class: 'PollSelfMode'
levelToPoll
String
component
(optional)
String
newest
(optional)
boolean
$class: 'PollSiblingMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
useHyperLinkForPolling
(optional)
boolean
$class: 'PollSubscribeMode'
levelToPoll
String
componentsToMonitor
componentSelection
String
jobsToMonitor
jobname
String
ignores
String
jobName
(optional)
String
cascadePromotion
(optional)
boolean
component
(optional)
String
newest
(optional)
boolean
stream
String
treatUnstable
String
nameTemplate
String
forceDeliver
boolean
recommend
boolean
makeTag
boolean
setDescription
boolean
buildProject
String
removeViewPrivateFiles
boolean
trimmedChangeSet
boolean
discard
boolean
$class: 'CVSSCM'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
legacy
If you have multiple modules to check out, this option is forced (otherwise they'll overlap.)
This affects other path specifiers, such as artifact archivers --- you now specify "build/foo.jar" instead of "foo/build/foo.jar".
boolean
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
checkoutCurrentTimestamp
The build quiet period is designed to assist with CVS checkouts by waiting for a specific period of time without commits. Normally you want the checkout to reflect the time when the quiet period was exited successfully. Select this option if you need to re-enable the legacy behaviour of Jenkins, i.e. using the time that the build started checking out as the timestamp for the checkout operation. Note: enabling this option can result in the quiet period being defeated especially in those cases where the build is not able to start immediately after exiting the quiet period.
boolean
$class: 'ClearCaseSCM'
branch
String
label
String
extractConfigSpec
boolean
configSpecFileName
String
refreshConfigSpec
boolean
refreshConfigSpecCommand
String
configSpec
String
viewTag
String
useupdate
boolean
extractLoadRules
boolean
loadRules
String
useOtherLoadRulesForPolling
boolean
loadRulesForPolling
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
doNotUpdateConfigSpec
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
useTimeRule
boolean
createDynView
boolean
viewPath
String
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
$class: 'ClearCaseUcmBaselineSCM'
$class: 'ClearCaseUcmSCM'
stream
String
loadrules
String
viewTag
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
useUpdate
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
overrideBranchName
String
createDynView
boolean
freezeCode
boolean
recreateView
boolean
allocateViewName
boolean
viewPath
String
useManualLoadRules
boolean
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
buildFoundationBaseline
If checked, instead of creating a view on the current stream, the job will look up the current foundation baselines for the given stream and work in readonly on these baselines. If polling is enabled, the build will be triggered every time a new foundation baseline is detected on the given stream.
boolean
$class: 'CloneWorkspaceSCM'
parentJobName
String
criteria
String
$class: 'CmvcSCM'
family
String
become
String
releases
String
checkoutScript
String
trackViewReportWhereClause
String
$class: 'ConfigurationRotator'
acrs
$class: 'ClearCaseUCM'
pvobName
String
contribute
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
boolean
targets
baselineName
String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed
boolean
useNewest
(optional)
boolean
$class: 'Git'
targets
name
String
repository
String
branch
String
commitId
String
fixed
boolean
useNewest
(optional)
boolean
$class: 'CvsProjectset'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
username
String
password
String
browser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
$class: 'DarcsScm'
source
String
localDir
String
clean
boolean
browser
$class: 'DarcsWeb'
url
String
repo
String
$class: 'Darcsden'
url
String
$class: 'DelegateSCM'
clazz
String
$class: 'DimensionsSCM'
project
String
folders
String
pathsToExclude
String
workarea
String
canJobDelete
boolean
canJobForce
boolean
canJobRevert
boolean
jobUserName
String
jobPasswd
String
jobServer
String
jobDatabase
String
canJobUpdate
boolean
jobTimeZone
String
jobWebUrl
String
directory
String
permissions
String
eol
String
canJobExpand
boolean
canJobNoMetadata
boolean
canJobNoTouch
boolean
forceAsSlave
boolean
$class: 'DrushMakefileSCM'
makefile
Specify the content of the Makefile. Support for YAML Makefiles depends on the version of Drush you have installed.
This example will generate a vanilla Drupal 7.38:
api=2 core=7.x projects[drupal][version]=7.38
String
root
String
$class: 'EndevorConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
filesystem
path
The file path for the source code.
e.g. \\Server1\project1\src or c:\myproject\src
Note for distributed build environment, please make sure the path is accessible on remote node(s)
String
clearWorkspace
If true, the system will delete all existing files/sub-folders in workspace before checking-out. Poll changes will not be affected by this setting.
boolean
copyHidden
If true, the system will copy hidden files and folders as well. Default is false.
boolean
filterSettings
includeFilter
boolean
selectors
You can apply wildcard filter(s) when detecting changes and copying files. By default, the system will filter out hidden files, on Unix, that means files/folder starting with ".", on Windows, that means files/folders with "hidden" attribute. You may want to filter out, e.g. files with ".tmp" extension.
Note: filters are applied on both sides, source and destination (i.e. the workspace). E.g. if you filter out ".tmp" files, all ".tmp" files currently in workspace will not be removed.
wildcard
ANT style wildcard.
To include just *.java, set filter type to "Include" and type add "*.java" (without quote) in the wildcard. To exclude *.exe" and all JUnit test cases, set filter type to "Exclude" and add two wildcard, one for "*.dll" and one for "*Test*"
To exclude a directory, set filter to "**/dir_to_exclude/**"
Note: (1) the wildcard is case insensitive, (2) all backslashes (\) will be replaced with slashes (/)
String
$class: 'FeatureBranchAwareMercurialSCM'
installation
String
source
String
branch
String
modules
String
subdir
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
boolean
branchPattern
String
$class: 'GeneXusServerSCM'
gxInstallationId
String
serverURL
String
credentialsId
String
kbName
String
kbVersion
String
localKbPath
String
localKbVersion
String
kbDbServerInstance
String
kbDbCredentialsId
String
kbDbName
String
kbDbInSameFolder
boolean
$class: 'GitSCM'
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url
String
name
You normally want to specify this when you have multiple remote repositories.
String
refspec
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.
String
credentialsId
String
branches
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:
String
doGenerateSubmoduleConfigurations
boolean
submoduleCfg
hudson.plugins.git.SubmoduleConfig
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
gitTool
String
extensions
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
$class: 'HarvestSCM'
broker
String
passwordFile
String
userId
String
password
String
projectName
String
state
String
viewPath
String
clientPath
String
processName
String
recursiveSearch
String
useSynchronize
boolean
extraOptions
String
$class: 'IspwConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
serverStream
String
serverApplication
String
serverLevel
String
levelOption
String
componentType
String
folderName
String
ispwDownloadAll
boolean
$class: 'IspwContainerConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
containerName
String
containerType
String
serverLevel
String
componentType
String
ispwDownloadAll
boolean
$class: 'MercurialSCM'
source
String
browser
(optional)
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
(optional)
boolean
credentialsId
(optional)
String
disableChangeLog
(optional)
boolean
installation
(optional)
String
modules
(optional)
String
revision
(optional)
default
branch.)
String
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
scmList
$class: 'AWSCodePipelineSCM'
name
String
clearWorkspace
boolean
region
String
awsAccessKey
In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
awsSecretKey
>In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.
String
proxyHost
You might need a proxy host address if you are hosting Jenkins on a private network. The proxy name can be an IP address or DNS address. The AWS CodePipeline Plugin for Jenkins requires internet access. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
proxyPort
You might need a proxy port for your proxy host address if you are hosting Jenkins on a private network. The proxy port is a number, might be on port 8080, 3128, or 8443, depending on your network protocols and security settings. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.
String
category
This is the category of the action type in AWS CodePipeline, and is usually either Build or Test. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
provider
This is the provider name of the action type in AWS CodePipeline. You must provide this exact string when adding an action for Jenkins in AWS CodePipeline. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.
String
version
Leave the default as 1.
String
accurev
depot
String
stream
String
serverName
(optional)
String
serverUUID
(optional)
String
accurevTool
(optional)
String
cleanreftree
(optional)
boolean
directoryOffset
(optional)
String
dontPopContent
(optional)
boolean
filterForPollSCM
(optional)
String
ignoreStreamParent
(optional)
boolean
reftree
(optional)
String
snapshotNameFormat
(optional)
String
subPath
(optional)
String
synctime
(optional)
boolean
useSnapshot
(optional)
boolean
workspace
(optional)
String
wspaceORreftree
(optional)
String
$class: 'BazaarSCM'
source
String
cleantree
boolean
browser
$class: 'Loggerhead'
url
String
$class: 'OpenGrok'
url
String
rootModule
String
checkout
boolean
$class: 'BitKeeperSCM'
parent
String
localRepository
String
usePull
boolean
quiet
boolean
$class: 'BlameSubversionSCM'
if it is false and the build is not triggered by upstream job,
the plugin will not collect any svn info from upstream job.
else the plugin will collect svn info from latest upstream job
alwaysCollectSVNInfo
boolean
$class: 'CCUCMScm'
loadModule
String
newest
boolean
mode
$class: 'PollChildMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
$class: 'PollRebaseMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
boolean
excludeList
(optional)
String
$class: 'PollSelfMode'
levelToPoll
String
component
(optional)
String
newest
(optional)
boolean
$class: 'PollSiblingMode'
levelToPoll
String
component
(optional)
String
createBaseline
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
boolean
newest
(optional)
boolean
useHyperLinkForPolling
(optional)
boolean
$class: 'PollSubscribeMode'
levelToPoll
String
componentsToMonitor
componentSelection
String
jobsToMonitor
jobname
String
ignores
String
jobName
(optional)
String
cascadePromotion
(optional)
boolean
component
(optional)
String
newest
(optional)
boolean
stream
String
treatUnstable
String
nameTemplate
String
forceDeliver
boolean
recommend
boolean
makeTag
boolean
setDescription
boolean
buildProject
String
removeViewPrivateFiles
boolean
trimmedChangeSet
boolean
discard
boolean
$class: 'CVSSCM'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
legacy
If you have multiple modules to check out, this option is forced (otherwise they'll overlap.)
This affects other path specifiers, such as artifact archivers --- you now specify "build/foo.jar" instead of "foo/build/foo.jar".
boolean
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
checkoutCurrentTimestamp
The build quiet period is designed to assist with CVS checkouts by waiting for a specific period of time without commits. Normally you want the checkout to reflect the time when the quiet period was exited successfully. Select this option if you need to re-enable the legacy behaviour of Jenkins, i.e. using the time that the build started checking out as the timestamp for the checkout operation. Note: enabling this option can result in the quiet period being defeated especially in those cases where the build is not able to start immediately after exiting the quiet period.
boolean
$class: 'ClearCaseSCM'
branch
String
label
String
extractConfigSpec
boolean
configSpecFileName
String
refreshConfigSpec
boolean
refreshConfigSpecCommand
String
configSpec
String
viewTag
String
useupdate
boolean
extractLoadRules
boolean
loadRules
String
useOtherLoadRulesForPolling
boolean
loadRulesForPolling
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
doNotUpdateConfigSpec
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
useTimeRule
boolean
createDynView
boolean
viewPath
String
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
$class: 'ClearCaseUcmBaselineSCM'
$class: 'ClearCaseUcmSCM'
stream
String
loadrules
String
viewTag
String
usedynamicview
boolean
viewdrive
String
mkviewoptionalparam
String
filterOutDestroySubBranchEvent
boolean
useUpdate
boolean
rmviewonrename
boolean
excludedRegions
String
multiSitePollBuffer
String
overrideBranchName
String
createDynView
boolean
freezeCode
boolean
recreateView
boolean
allocateViewName
boolean
viewPath
String
useManualLoadRules
boolean
changeset
ALL
, BRANCH
, NONE
, UPDT
viewStorage
Three strategies are currently available to manage view storage location.
$class: 'DefaultViewStorage'
$class: 'ServerViewStorage'
assignedLabelString
Label expression used to populate view storage location dropdown.
String
server
The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.
String
$class: 'SpecificViewStorage'
winStorageDir
String
unixStorageDir
String
buildFoundationBaseline
If checked, instead of creating a view on the current stream, the job will look up the current foundation baselines for the given stream and work in readonly on these baselines. If polling is enabled, the build will be triggered every time a new foundation baseline is detected on the given stream.
boolean
$class: 'CloneWorkspaceSCM'
parentJobName
String
criteria
String
$class: 'CmvcSCM'
family
String
become
String
releases
String
checkoutScript
String
trackViewReportWhereClause
String
$class: 'ConfigurationRotator'
acrs
$class: 'ClearCaseUCM'
pvobName
String
contribute
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
boolean
targets
baselineName
String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed
boolean
useNewest
(optional)
boolean
$class: 'Git'
targets
name
String
repository
String
branch
String
commitId
String
fixed
boolean
useNewest
(optional)
boolean
$class: 'CvsProjectset'
repositories
cvsRoot
String
passwordRequired
boolean
password
String
repositoryItems
location
$class: 'BranchRepositoryLocation'
branchName
String
useHeadIfNotFound
boolean
$class: 'HeadRepositoryLocation'
$class: 'TagRepositoryLocation'
tagName
String
useHeadIfNotFound
boolean
modules
remoteName
String
localName
String
projectsetFileName
String
excludedRegions
src/main/web/.*\.html src/main/web/.*\.jpeg src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur. More information on regular expressions can be found here.
pattern
String
compressionLevel
int
repositoryBrowser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
canUseUpdate
boolean
username
String
password
String
browser
$class: 'FishEyeCVS'
url
String
$class: 'OpenGrok'
url
String
$class: 'ViewCVS'
url
String
skipChangeLog
boolean
pruneEmptyDirectories
boolean
disableCvsQuiet
boolean
cleanOnFailedUpdate
boolean
forceCleanCopy
boolean
$class: 'DarcsScm'
source
String
localDir
String
clean
boolean
browser
$class: 'DarcsWeb'
url
String
repo
String
$class: 'Darcsden'
url
String
$class: 'DelegateSCM'
clazz
String
$class: 'DimensionsSCM'
project
String
folders
String
pathsToExclude
String
workarea
String
canJobDelete
boolean
canJobForce
boolean
canJobRevert
boolean
jobUserName
String
jobPasswd
String
jobServer
String
jobDatabase
String
canJobUpdate
boolean
jobTimeZone
String
jobWebUrl
String
directory
String
permissions
String
eol
String
canJobExpand
boolean
canJobNoMetadata
boolean
canJobNoTouch
boolean
forceAsSlave
boolean
$class: 'DrushMakefileSCM'
makefile
Specify the content of the Makefile. Support for YAML Makefiles depends on the version of Drush you have installed.
This example will generate a vanilla Drupal 7.38:
api=2 core=7.x projects[drupal][version]=7.38
String
root
String
$class: 'EndevorConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
filesystem
path
The file path for the source code.
e.g. \\Server1\project1\src or c:\myproject\src
Note for distributed build environment, please make sure the path is accessible on remote node(s)
String
clearWorkspace
If true, the system will delete all existing files/sub-folders in workspace before checking-out. Poll changes will not be affected by this setting.
boolean
copyHidden
If true, the system will copy hidden files and folders as well. Default is false.
boolean
filterSettings
includeFilter
boolean
selectors
You can apply wildcard filter(s) when detecting changes and copying files. By default, the system will filter out hidden files, on Unix, that means files/folder starting with ".", on Windows, that means files/folders with "hidden" attribute. You may want to filter out, e.g. files with ".tmp" extension.
Note: filters are applied on both sides, source and destination (i.e. the workspace). E.g. if you filter out ".tmp" files, all ".tmp" files currently in workspace will not be removed.
wildcard
ANT style wildcard.
To include just *.java, set filter type to "Include" and type add "*.java" (without quote) in the wildcard. To exclude *.exe" and all JUnit test cases, set filter type to "Exclude" and add two wildcard, one for "*.dll" and one for "*Test*"
To exclude a directory, set filter to "**/dir_to_exclude/**"
Note: (1) the wildcard is case insensitive, (2) all backslashes (\) will be replaced with slashes (/)
String
$class: 'FeatureBranchAwareMercurialSCM'
installation
String
source
String
branch
String
modules
String
subdir
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
browser
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
boolean
branchPattern
String
$class: 'GeneXusServerSCM'
gxInstallationId
String
serverURL
String
credentialsId
String
kbName
String
kbVersion
String
localKbPath
String
localKbVersion
String
kbDbServerInstance
String
kbDbCredentialsId
String
kbDbName
String
kbDbInSameFolder
boolean
$class: 'GitSCM'
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url
String
name
You normally want to specify this when you have multiple remote repositories.
String
refspec
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.
String
credentialsId
String
branches
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:
String
doGenerateSubmoduleConfigurations
boolean
submoduleCfg
hudson.plugins.git.SubmoduleConfig
browser
$class: 'AssemblaWeb'
repoUrl
String
$class: 'BacklogGitRepositoryBrowser'
repoName
String
repoUrl
String
$class: 'BitbucketWeb'
repoUrl
String
$class: 'CGit'
repoUrl
String
$class: 'FisheyeGitRepositoryBrowser'
repoUrl
String
$class: 'GitBlitRepositoryBrowser'
repoUrl
String
projectName
String
$class: 'GitBucketBrowser'
url
String
$class: 'GitLab'
repoUrl
String
version
(optional)
String
$class: 'GitList'
repoUrl
String
$class: 'GitWeb'
repoUrl
String
$class: 'GiteaBrowser'
repoUrl
https://gitea.example.com
then the URL for bob's skunkworks project repository might be
https://gitea.example.com/bob/skunkworks
String
$class: 'GithubWeb'
repoUrl
String
$class: 'Gitiles'
repoUrl
String
$class: 'GitoriousWeb'
repoUrl
String
$class: 'GogsGit'
repoUrl
String
$class: 'KilnGit'
repoUrl
String
$class: 'Phabricator'
repoUrl
String
repo
String
$class: 'RedmineWeb'
repoUrl
String
$class: 'RhodeCode'
repoUrl
String
$class: 'Stash'
repoUrl
String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl
If TFS is also used as the repository server, this can usually be left blank.
String
$class: 'TracGitRepositoryBrowser'
$class: 'ViewGitWeb'
repoUrl
String
projectName
String
gitTool
String
extensions
$class: 'AuthorInChangelog'
$class: 'BuildChooserSetting'
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
$class: 'AlternativeBuildChooser'
$class: 'AncestryBuildChooser'
maximumAgeInDays
int
ancestorCommitSha1
String
$class: 'DefaultBuildChooser'
$class: 'DeflakeGitBuildChooser'
$class: 'GerritTriggerBuildChooser'
$class: 'InverseBuildChooser'
$class: 'ChangelogToBranch'
options
compareRemote
String
compareTarget
String
$class: 'CheckoutOption'
timeout
int
$class: 'CleanBeforeCheckout'
$class: 'CleanCheckout'
$class: 'CloneOption'
shallow
boolean
noTags
boolean
reference
String
timeout
int
depth
(optional)
int
honorRefspec
(optional)
boolean
$class: 'CodeCommitURLHelper'
credentialId
OPTIONAL: Select the credentials to use.
If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*
In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.
String
repositoryName
String
$class: 'DisableRemotePoll'
$class: 'GitLFSPull'
$class: 'GitTagMessageExtension'
useMostRecentTag
(optional)
boolean
$class: 'IgnoreNotifyCommit'
$class: 'LocalBranch'
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
String
$class: 'MessageExclusion'
excludedMessage
.*\[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.
String
$class: 'PathRestriction'
includedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe 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.
String
excludedRegions
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gifThe example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
String
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget
String
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote
(optional)
String
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage
(optional)
boolean
squash
integrationBranch
The branch name must match your integration branch name. No trailing slash.
git checkout -B <Branch name> <Repository name>/<Branch name> git merge --squash <Branch matched by git> git commit -C <Branch matched by git>
git checkout -B <Branch name> <Repository name>/<Branch name> git merge -m <commitMsg> <Branch matched by git> --no-ff
Changes are only ever pushed when the build results is SUCCESS
git push <Repository name> <Branch name>
String
repoName
The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.
No trailing slash on repository name.
Remember to specify this when working with NAMED repositories in Git
String
$class: 'PruneStaleBranch'
$class: 'RelativeTargetDirectory'
relativeTargetDir
String
$class: 'ScmName'
Unique name for this SCM. Needed when using Git within the Multi SCM plugin.
name
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
path
String
$class: 'SubmoduleOption'
disableSubmodules
boolean
recursiveSubmodules
boolean
trackingSubmodules
boolean
reference
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
String
timeout
int
parentCredentials
boolean
depth
(optional)
int
shallow
(optional)
boolean
threads
(optional)
int
$class: 'UserExclusion'
excludedUsers
auto_build_userThe example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.
String
$class: 'UserIdentity'
name
If given, "git config user.name [this]" is called before builds. This overrides whatever is in the global settings.
String
email
If given, "git config user.email [this]" is called before builds. This overrides whatever is in the global settings.
String
$class: 'WipeWorkspace'
$class: 'HarvestSCM'
broker
String
passwordFile
String
userId
String
password
String
projectName
String
state
String
viewPath
String
clientPath
String
processName
String
recursiveSearch
String
useSynchronize
boolean
extraOptions
String
$class: 'IspwConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
serverStream
String
serverApplication
String
serverLevel
String
levelOption
String
componentType
String
folderName
String
ispwDownloadAll
boolean
$class: 'IspwContainerConfiguration'
connectionId
String
credentialsId
String
serverConfig
String
containerName
String
containerType
String
serverLevel
String
componentType
String
ispwDownloadAll
boolean
$class: 'MercurialSCM'
source
String
browser
(optional)
$class: 'BitBucket'
url
String
$class: 'FishEye'
url
String
$class: 'GoogleCode'
url
String
$class: 'HgWeb'
url
String
$class: 'Kallithea'
url
String
$class: 'KilnHG'
url
String
$class: 'RhodeCode'
url
String
$class: 'RhodeCodeLegacy'
url
String
clean
(optional)
boolean
credentialsId
(optional)
String
disableChangeLog
(optional)
boolean
installation
(optional)
String
modules
(optional)
String
revision
(optional)
default
branch.)
String
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
String
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
$class: 'OpenShiftImageStreams'
imageStreamName
String
tag
String
apiURL
String
namespace
String
authToken
String
verbose
String
$class: 'PdsConfiguration'
connectionId
String
filterPattern
String
fileExtension
String
credentialsId
String
targetFolder
String
$class: 'PerforceSCM'
p4User
String
p4Passwd
String
p4Client
String
p4Port
String
projectOptions
String
p4Tool
String
p4SysRoot
String
p4SysDrive
String
p4Label
String
p4Counter
String
p4UpstreamProject
String
lineEndValue
String
p4Charset
String
p4CommandCharset
String
clientOwner
String
updateCounterValue
boolean
forceSync
boolean
dontUpdateServer
boolean
alwaysForceSync
boolean
createWorkspace
boolean
updateView
boolean
disableChangeLogOnly
boolean
disableSyncOnly
boolean
showIntegChanges
boolean
dontUpdateClient
boolean
exposeP4Passwd
boolean
pollOnlyOnMaster
boolean
slaveClientNameFormat
String
firstChange
int
fileLimit
int
browser
$class: 'FishEyePerforce'
url
String
rootModule
String
$class: 'P4Web'
url
String
$class: 'Perfbrowse'
url
String
excludedUsers
String
excludedFiles
String
excludedFilesCaseSensitivity
boolean
depotType
value
String
p4Stream
String
clientSpec
String
projectPath
String
cleanWorkspace
cleanType
value
String
restoreChangedDeletedFiles
boolean
wipeRepoBeforeBuild
boolean
useViewMask
viewMask
String
useViewMaskForPolling
boolean
useViewMaskForSyncing
boolean
useViewMaskForChangeLog
boolean
perforce
credential
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
String
workspace
Select the appropriate Perforce workspace behaviour from the list. Not all modes will suit all Jenkins Job build types.
There are five types:
manualSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.
String
spec
allwrite
boolean
clobber
boolean
compress
boolean
locked
boolean
modtime
boolean
rmdir
boolean
streamName
String
line
Set line-ending character(s) for client text files.
linefeed: UNIX style.
carriage return: Macintosh style. (obsolete)
carriage return-linefeed: Windows style.
hybrid: writes UNIX style but reads UNIX, Mac or Windows style.
String
view
Lines to map depot files into the client workspace.
Maps files in the depot to files in your client workspace. Defines the files that you want in your client workspace and specifies where you want them to reside. The default view maps all depot files onto the client. See 'p4 help views' for view syntax. A new view takes effect on the next 'p4 sync'.
String
changeView
String
type
Type of client: writeable/readonly/partitioned/graph
By default all clients are 'writeable', certain clients are short lived and perform long sync and build cycles. Over time these build clients can fragment the 'db.have' table which is used to track what files a client has synced. Setting a type of 'readonly' gives the client its own personal 'db.have' database table. A 'readonly' client cannot 'edit' or 'submit' files, however for build automation this is not usually a requirement and the performance tradeoff is worth considering if your build automation is causing issues with the 'db.have' table. This option requires that an administrator has first configured the 'client.readonly.dir' setting. If it is necessary to submit changes as part of your build, you may specify a 'partitioned' client: like a 'reaonly' client, this type also has a separate 'db.have' table under the 'client.readonly.dir' directory, but allows journalled 'edit' and 'submit' of files.
String
serverID
String
backup
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
boolean
cleanup
boolean
syncID
(optional)
String
specFileSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.
String
specPath
String
syncID
(optional)
String
staticSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
name
Specify the name of an existing workspace in Perforce to be used as the Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces
String
syncID
(optional)
String
streamSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
streamName
Specify the full Perforce depot path for the given stream. If connected to a Perforce server the auto-text fill should list possible streams.
For example: //stream-depot/main-streamString
format
Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)
Variables can be taken from the Jenkins Environment or Parameterized builds
String
syncID
(optional)
String
templateSpec
charset
The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.
String
pinHost
boolean
templateName
Specify the name of an existing workspace in Perforce used to create or update a Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces
String
format
Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)
Variables can be taken from the Jenkins Environment or Parameterized builds
String
syncID
(optional)
String
filter
pathFilter
path
Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.
For example, with a Filter of " //depot/main/tests
":
Case A (change will be filtered):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
//depot/main/tests/002/test.xml
Case B (change will not be filtered, as build.xml is outside of the filter):
Files:
//depot/main/src/build.xml
//depot/main/tests/004/test.xml
//depot/main/tests/005/test.xml
This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.
String
viewPattern
patternText
Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.
For example, with the following regular expressions:
//depot/main/tests.*
//depot/main/src/.*\.cpp
//depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
//depot/main/lib/(?!Lib1|Lib2).*
Case A (change will not be filtered, as these files match our first pattern on "tests"):
Files:
//depot/main/tests/CONTRIUBTING.md
//depot/main/tests/001/index.xml
Case B (Be careful with incomplete file paths! Change will NOT be filtered,
as this file matches a pattern which was likely intended as describing a "tests/" directory.)
Files:
//depot/main/tests.doc
Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):
Files:
//depot/main/build/rbs/deploy_server.rb
//depot/main/build/deploy/deploy.bat
//depot/main/build/Jenkinsfile
Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):
Files:
//depot/main/src/howto.doc
//depot/main/src/oldmain.c
//depot/main/src/art/splash.bmp
//depot/main/src/bt/funnelcake.php
Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)
Files:
//depot/main/lib/Lib1/build.xml
String
caseSensitive
boolean
incremental
perChange
boolean
userFilter
user
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
String
viewFilter
viewMask
Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.
For example, with a View Mask Filter of:
//depot/main/tests
-//depot/main/tests/001
Case A (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/tests/index.xml
//depot/main/tests/001/test.xml
Case B (change will not be filtered, as index.xml is in the view mask):
Files:
//depot/main/test/index.xml
//depot/main/src/build.xml
Case C (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
Case D (change will be filtered, as no file is in the view mask):
Files:
//depot/main/src/build.xml
//depot/main/tests/001/test.xml
String
populate
Perforce will populate the workspace with the file revisions needed for the build. The different options effect the way the workspace is cleaned and the file revisions are updated.
There are three options:
autoClean
replace
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
boolean
delete
Perforce will delete any local files that are not in the depot.
boolean
tidy
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
previewOnly
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
String
flushOnly
quiet
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
forceClean
have
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
graphClean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
syncOnly
revert
boolean
have
boolean
force
boolean
modtime
boolean
quiet
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
boolean
pin
When a build is triggered by Polling, Build Now or an external Action, the workspace will sync only to the specified label. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).
String
parallel
enable
boolean
path
String
threads
String
minfiles
String
minbytes
String
browser
fishEye
url
String
rootModule
String
openGrok
url
String
depotPath
String
projectName
String
p4Web
url
String
swarm
url
String
$class: 'PlasticSCM'
selector
String
workspaceName
String
useUpdate
boolean
useMultipleWorkspaces
boolean
additionalWorkspaces
selector
String
workspaceName
String
useUpdate
boolean
$class: 'ProxySCM'
projectName
String
$class: 'PvcsScm'
projectRoot
String
archiveRoot
String
changeLogPrefixFudge
String
moduleDir
String
loginId
String
pvcsWorkspace
String
promotionGroup
String
versionLabel
String
cleanCopy
boolean
$class: 'RTCScm'
overrideGlobal
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
boolean
buildTool
The RTC build toolkit to use when performing builds. The toolkits available are defined in the system configuration (with the other tools like Ant and Java). The build toolkit is also necessary on the Master for polling and validating the job configuration unless the "Avoid using build toolkit on Master" option is enabled.
String
serverURI
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
String
timeout
The timeout period in seconds for Jazz repository requests made during the build.
int
userId
The build user id. Either credentials or a user id and password information should be supplied.
String
password
The Jazz Repository password for the build user. The use of a password is not secure, it can be easily discovered by anyone with access to this page. Credentials, a password file or a password should be supplied.
hudson.util.Secret
passwordFile
The path to the file containing the obfuscated Jazz Repository password for the build user. Credentials, a password file or a password should be supplied.
String
credentialsId
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
String
buildType
value
String
buildDefinition
String
buildWorkspace
String
buildSnapshot
String
buildStream
String
acceptBeforeLoad
(optional)
boolean
buildSnapshotContext
(optional)
snapshotOwnerType
String
processAreaOfOwningStream
String
owningStream
String
owningWorkspace
String
clearLoadDirectory
(optional)
boolean
componentLoadConfig
(optional)
String
componentsToExclude
(optional)
String
createFoldersForComponents
(optional)
boolean
currentSnapshotOwnerType
(optional)
String
customizedSnapshotName
(optional)
String
generateChangelogWithGoodBuild
(optional)
boolean
loadDirectory
(optional)
String
loadPolicy
(optional)
String
overrideDefaultSnapshotName
(optional)
boolean
pathToLoadRuleFile
(optional)
String
processArea
(optional)
String
useDynamicLoadRules
(optional)
boolean
avoidUsingToolkit
Where possible avoid using the Build toolkit when performing tasks on the Master. This is still in the experimental stage. You will require an RTC 5.0 server which provides some of the services used.
The Build toolkit will not be used when polling RTC and terminating the RTC Build. The toolkit is still required though. It is used for other configuration tasks on the Master (i.e. validating the connection to RTC, the build definition or workspace). It is also used for checkout tasks typically performed on slave nodes.
boolean
$class: 'SCLMSCM'
server
String
port
int
credentialsId
String
JESINTERFACELEVEL1
boolean
project
String
alternate
String
group
String
types
String
custJobStep
boolean
JobStep
String
custJobHeader
boolean
JobHeader
String
$class: 'ShellScriptSCM'
checkoutShell
String
polling