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.
checkout
: Check out from version controlgetDatabaseConnection
: Get Database Connectionload
: Evaluate a Groovy source file into the Pipeline scriptparallel
: Execute in parallelsql
: Run SQLstage
: StagearchiveArtifacts
: Archive the artifactsclover
: Publish OpenClover coverage reportstep([$class: 'CriticalBlockEnd'])
: Critical block endstep([$class: 'CriticalBlockStart'])
: Critical block startfingerprint
: Record fingerprints of files to track usagestep([$class: 'GitChangelogRecorder'])
: Git Changelogstep([$class: 'JiraIssueUpdater'])
: Jira: Update relevant issuesstep([$class: 'JiraReleaseVersionUpdaterBuilder'])
: Jira: Mark a version as Releasedstep([$class: 'JiraVersionCreatorBuilder'])
: Jira: Create new versionstep([$class: 'MavenInvokerRecorder'])
: Maven Invoker Plugin Resultsstep([$class: 'NSNDIntegrationResultsPublisher'])
: NS/NC-ND Integration Performance Publisherstep([$class: 'NetDiagnosticsResultsPublisher'])
: NetDiagnostics Performance Publisherstep([$class: 'NetStormResultsPublisher'])
: NetStorm/NetCloud Performance Publisherperfpublisher
: Activate PerfPublisher for this projectstep([$class: 'Publisher'])
: Publish TestNG ResultsqyWechatNotification
: 企业微信通知step([$class: 'RcovPublisher'])
: Publish Rcov reports3Upload
: Publish artifacts to S3 Bucketstep([$class: 'ScoveragePublisher'])
: Publish Scoverage Reportstep([$class: 'TargetPlatformPublisher'])
: Archive and publish an Eclipse Target Platformstep([$class: 'ValgrindPublisher'])
: Publish Valgrind resultsstep([$class: 'VectorCASTPublisher'])
: Record VectorCAST Coverage InformationzulipNotification
: Zulip NotificationwithCredentials
: Bind credentials to variableswrap([$class: 'LogfilesizecheckerWrapper'])
: Abort the build if its log file size is too bigcheckout
: Check out from version controlscm
$class: 'AWSCodePipelineSCM'
name : String
clearWorkspace : boolean
region : String
awsAccessKey : String
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.
awsSecretKey : String
>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.
proxyHost : String
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.
proxyPort : String
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.
category : String
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.
provider : String
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.
version : String
Leave the default as 1.
accurev
depot : String
stream : String
serverName : String
(optional)
serverUUID : String
(optional)
wspaceORreftree : String
(optional)
accurevTool : String
(optional)
cleanreftree : boolean
(optional)
directoryOffset : String
(optional)
dontPopContent : boolean
(optional)
filterForPollSCM : String
(optional)
ignoreStreamParent : boolean
(optional)
reftree : String
(optional)
snapshotNameFormat : String
(optional)
subPath : String
(optional)
subPathOnly : boolean
(optional)
synctime : boolean
(optional)
useSnapshot : boolean
(optional)
workspace : String
(optional)
$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
BbS
id : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
credentialsId : String
When running a job, Jenkins requires credentials to authenticate with Bitbucket Server. For example, to checkout the source code for builds. To do this, it needs credentials with access to the projects and repositories you want it to build from.
You can provide Jenkins with credentials here by:
In addition, you can provide Jenkins with SSH credentials below. If you do, Jenkins will use them for clone operations instead of the credentials you select here.
sshCredentialsId : String
If specified, Jenkins will use these credentials to check out the source code for builds. If no SSH credentials are specified, Jenkins will use the basic credentials instead.
To provide Jenkins with SSH credentials, you can:
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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
gitTool : String
projectName : String
Enter the name of the Bitbucket Server project containing the repository you want Jenkins to build from. To find a project, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter a tilde (~
) followed by repository owner's username. For example, ~jsmith.
repositoryName : String
Enter the Bitbucket Server repository you want Jenkins to build from. To find a repository, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter its slug. This is the URL-friendly version of the repository name. For example, a repository called my example repo will have the slug my-example-repo, and you can see this in its URL, https://bitbucketserver.mycompany.com/myproject/my-example-repo.
serverId : String
Choose the Bitbucket Server instance containing the repository you want Jenkins to build from. If you can't find your instance, check this plugin's configuration and try again.
mirrorName : String
Choose the location that Jenkins should clone from when running this build. This can be the primary server or a mirror if one is available. To see available mirrors, first choose a Bitbucket Server project and repository.
$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 : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
$class: 'PollRebaseMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
excludeList : String
(optional)
$class: 'PollSelfMode'
levelToPoll : String
component : String
(optional)
newest : boolean
(optional)
$class: 'PollSiblingMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
useHyperLinkForPolling : boolean
(optional)
$class: 'PollSubscribeMode'
levelToPoll : String
componentsToMonitor
componentSelection : String
jobsToMonitor
jobname : String
ignores : String
jobName : String
(optional)
cascadePromotion : boolean
(optional)
component : String
(optional)
newest : boolean
(optional)
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 : boolean
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".
skipChangeLog : boolean
pruneEmptyDirectories : boolean
disableCvsQuiet : boolean
cleanOnFailedUpdate : boolean
forceCleanCopy : boolean
checkoutCurrentTimestamp : boolean
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$class: 'SpecificViewStorage'
winStorageDir : String
unixStorageDir : String
buildFoundationBaseline : boolean
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.
$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 : boolean
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
targets
baselineName : String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed : boolean
useNewest : boolean
(optional)
$class: 'Git'
targets
name : String
repository : String
branch : String
commitId : String
fixed : boolean
useNewest : boolean
(optional)
$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: 'DimensionsSCM'
project : String
credentialsType : String
userName : String
password : String
pluginServer : String
userServer : String
keystoreServer : String
pluginDatabase : String
userDatabase : String
keystoreDatabase : String
keystorePath : String
certificateAlias : String
credentialsId : String
certificatePassword : String
keystorePassword : String
certificatePath : String
remoteCertificatePassword : String
secureAgentAuth : boolean
canJobDelete : boolean
(optional)
canJobExpand : boolean
(optional)
canJobForce : boolean
(optional)
canJobNoMetadata : boolean
(optional)
canJobNoTouch : boolean
(optional)
canJobRevert : boolean
(optional)
canJobUpdate : boolean
(optional)
eol : String
(optional)
folders
(optional)
value : String
pathsToExclude
(optional)
value : String
permissions : String
(optional)
timeZone : String
(optional)
webUrl : String
(optional)
$class: 'DrushMakefileSCM'
makefile : String
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
root : String
$class: 'EndevorConfiguration'
connectionId : String
filterPattern : String
fileExtension : String
credentialsId : String
targetFolder : String
filesystem
path : String
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)
clearWorkspace : boolean
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.
copyHidden : boolean
If true, the system will copy hidden files and folders as well. Default is false.
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 : String
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 (/)
$class: 'FeatureBranchAwareMercurialSCM'
installation : String
source : String
branch : String
modules : String
subdir : String
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
browser
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
branchPattern : String
$class: 'GeneXusServerSCM'
gxInstallationId : String
GeneXus installation to use when creating (or updating) a local copy of a Knowledge Base from a GeneXus Server.
Select "(Custom)" if you want to specify a custom GeneXus path for this project (see Advanced Options).
The options that appear here are those you may configure in Jenkins "Global Tool Configuration" for GeneXus.
gxCustomPath : String
Custom path to a GeneXus installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server. This custom path is used when the "Custom" option is selected for the GeneXus Installation
msbuildCustomPath : String
Custom path to the MSBuild installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server.
serverURL : String
credentialsId : String
Credentials to use when authenticating to the GeneXus Server.
Select the credentials you want to use or click "Add" to enter a new user/password pair.
kbName : String
kbVersion : String
Name of the Version that will be selected when creating a local copy of the Knowledge Base.
If you leave it blank the 'Trunk' version will be selected by default.
localKbPath : String
Path to the local Knowledge Base to use as working copy.
If you leave it blank the default ${WORKSPACE}\KBname
will apply.
localKbVersion : String
Name of the Version in the local Knowledge Base that is linked to the Version in the server.
If you leave it blank the 'Trunk' version will be selected by default.
kbDbServerInstance : String
kbDbCredentialsId : String
Credentials to use when to connecting to SQL Server.
Select "none" for Windows Authentication.
kbDbName : String
Name of the SQL Server database used for the local Knowledge Base.
Leave it blank to use the default database name.
kbDbInSameFolder : boolean
Create the database files in the same folder as the Knowledge Base when checking out. Default is 'true
'.
If kbDbInSameFolder
is true or not set, then the database files will be created in the same folder as the Knowledge Base. If kbDbInSameFolder
is false, then the database files will be created in the default folder configured for the SQL Server at kbDbServerInstance (optional)
.
$class: 'GitSCM'
The git plugin provides fundamental git operations for Jenkins projects. It can poll, fetch, checkout, and merge contents of git repositories.
The git plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select git plugin checkout options and provides online help for each of the options.
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url : String
git clone
command.
name : String
origin
, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote
command. If left empty, Jenkins will generate unique names for you.
You normally want to specify this when you have multiple remote repositories.
refspec : String
git fetch
, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME
. This default behaviour is OK for most cases.
In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME
is the value you specify in the above "name of repository" textbox.
When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master
would only retrieve the master branch and nothing else.
The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.
Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop
retrieves the master branch and the develop branch and nothing else.
See the refspec definition in Git user manual for more details.
credentialsId : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
browser
$class: 'AssemblaWeb'
repoUrl : String
$class: 'BacklogGitRepositoryBrowser'
repoName : String
repoUrl : String
bitbucketServer
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 : String
(optional)
$class: 'GitLabBrowser'
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
.
projectUrl : String
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
$class: 'GitList'
repoUrl : String
$class: 'GitWeb'
repoUrl : String
$class: 'GiteaBrowser'
repoUrl : String
https://gitea.example.com
then the URL for bob's skunkworks project repository might be https://gitea.example.com/bob/skunkworks
$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: 'ScmManagerGitRepositoryBrowser'
repoUrl : String
$class: 'Stash'
repoUrl : String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl : String
If TFS is also used as the repository server, this can usually be left blank.
$class: 'TracGitRepositoryBrowser'
$class: 'TuleapBrowser'
repositoryUrl : String
$class: 'ViewGitWeb'
repoUrl : String
projectName : String
gitTool : String
Absolute path to the git executable.
This is different from other Jenkins tool definitions. Rather than providing the directory that contains the executable, you must provide the complete path to the executable. Setting '/usr/bin/git
' would be correct, while setting '/usr/bin/
' is not correct.
extensions
Extensions add new behavior or modify existing plugin behavior for different uses. Extensions help users more precisely tune plugin behavior to meet their needs.
Extensions include:
$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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
doGenerateSubmoduleConfigurations : boolean
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value and always uses false
as its value.
submoduleCfg
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value(s) and always uses empty values.
submoduleName : String
Removed in git plugin 4.6.0.
branches : Array / List of String
Removed in git plugin 4.6.0.
$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: 'IntegritySCM'
serverConfig : String
configPath : String
configurationName : String
CPBasedMode : boolean
(optional)
alternateWorkspace : String
(optional)
browser
(optional)
$class: 'IntegrityWebUI'
url : String
checkoutThreadPoolSize : int
(optional)
checkoutThreadTimeout : int
(optional)
checkpointBeforeBuild : boolean
(optional)
checkpointLabel : String
(optional)
cleanCopy : boolean
(optional)
deleteNonMembers : boolean
(optional)
excludeList : String
(optional)
fetchChangedWorkspaceFiles : boolean
(optional)
includeList : String
(optional)
lineTerminator : String
(optional)
localClient : boolean
(optional)
password : String
(optional)
restoreTimestamp : boolean
(optional)
sandboxScope : String
(optional)
skipAuthorInfo : boolean
(optional)
userName : String
(optional)
$class: 'IspwConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
serverStream : String
serverApplication : String
serverLevel : String
levelOption : String
componentType : String
folderName : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
ispwDownloadWithCompileOnly : boolean
$class: 'IspwContainerConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
containerName : String
containerType : String
serverLevel : String
componentType : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
$class: 'MercurialSCM'
source : String
browser
(optional)
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
(optional)
credentialsId : String
(optional)
disableChangeLog : boolean
(optional)
installation : String
(optional)
modules : String
(optional)
revision : String
(optional)
default
branch.)
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir : String
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
scmList
$class: 'AWSCodePipelineSCM'
name : String
clearWorkspace : boolean
region : String
awsAccessKey : String
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.
awsSecretKey : String
>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.
proxyHost : String
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.
proxyPort : String
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.
category : String
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.
provider : String
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.
version : String
Leave the default as 1.
accurev
depot : String
stream : String
serverName : String
(optional)
serverUUID : String
(optional)
wspaceORreftree : String
(optional)
accurevTool : String
(optional)
cleanreftree : boolean
(optional)
directoryOffset : String
(optional)
dontPopContent : boolean
(optional)
filterForPollSCM : String
(optional)
ignoreStreamParent : boolean
(optional)
reftree : String
(optional)
snapshotNameFormat : String
(optional)
subPath : String
(optional)
subPathOnly : boolean
(optional)
synctime : boolean
(optional)
useSnapshot : boolean
(optional)
workspace : String
(optional)
$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
BbS
id : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
credentialsId : String
When running a job, Jenkins requires credentials to authenticate with Bitbucket Server. For example, to checkout the source code for builds. To do this, it needs credentials with access to the projects and repositories you want it to build from.
You can provide Jenkins with credentials here by:
In addition, you can provide Jenkins with SSH credentials below. If you do, Jenkins will use them for clone operations instead of the credentials you select here.
sshCredentialsId : String
If specified, Jenkins will use these credentials to check out the source code for builds. If no SSH credentials are specified, Jenkins will use the basic credentials instead.
To provide Jenkins with SSH credentials, you can:
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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
gitTool : String
projectName : String
Enter the name of the Bitbucket Server project containing the repository you want Jenkins to build from. To find a project, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter a tilde (~
) followed by repository owner's username. For example, ~jsmith.
repositoryName : String
Enter the Bitbucket Server repository you want Jenkins to build from. To find a repository, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter its slug. This is the URL-friendly version of the repository name. For example, a repository called my example repo will have the slug my-example-repo, and you can see this in its URL, https://bitbucketserver.mycompany.com/myproject/my-example-repo.
serverId : String
Choose the Bitbucket Server instance containing the repository you want Jenkins to build from. If you can't find your instance, check this plugin's configuration and try again.
mirrorName : String
Choose the location that Jenkins should clone from when running this build. This can be the primary server or a mirror if one is available. To see available mirrors, first choose a Bitbucket Server project and repository.
$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 : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
$class: 'PollRebaseMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
excludeList : String
(optional)
$class: 'PollSelfMode'
levelToPoll : String
component : String
(optional)
newest : boolean
(optional)
$class: 'PollSiblingMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
useHyperLinkForPolling : boolean
(optional)
$class: 'PollSubscribeMode'
levelToPoll : String
componentsToMonitor
componentSelection : String
jobsToMonitor
jobname : String
ignores : String
jobName : String
(optional)
cascadePromotion : boolean
(optional)
component : String
(optional)
newest : boolean
(optional)
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 : boolean
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".
skipChangeLog : boolean
pruneEmptyDirectories : boolean
disableCvsQuiet : boolean
cleanOnFailedUpdate : boolean
forceCleanCopy : boolean
checkoutCurrentTimestamp : boolean
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$class: 'SpecificViewStorage'
winStorageDir : String
unixStorageDir : String
buildFoundationBaseline : boolean
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.
$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 : boolean
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
targets
baselineName : String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed : boolean
useNewest : boolean
(optional)
$class: 'Git'
targets
name : String
repository : String
branch : String
commitId : String
fixed : boolean
useNewest : boolean
(optional)
$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: 'DimensionsSCM'
project : String
credentialsType : String
userName : String
password : String
pluginServer : String
userServer : String
keystoreServer : String
pluginDatabase : String
userDatabase : String
keystoreDatabase : String
keystorePath : String
certificateAlias : String
credentialsId : String
certificatePassword : String
keystorePassword : String
certificatePath : String
remoteCertificatePassword : String
secureAgentAuth : boolean
canJobDelete : boolean
(optional)
canJobExpand : boolean
(optional)
canJobForce : boolean
(optional)
canJobNoMetadata : boolean
(optional)
canJobNoTouch : boolean
(optional)
canJobRevert : boolean
(optional)
canJobUpdate : boolean
(optional)
eol : String
(optional)
folders
(optional)
value : String
pathsToExclude
(optional)
value : String
permissions : String
(optional)
timeZone : String
(optional)
webUrl : String
(optional)
$class: 'DrushMakefileSCM'
makefile : String
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
root : String
$class: 'EndevorConfiguration'
connectionId : String
filterPattern : String
fileExtension : String
credentialsId : String
targetFolder : String
filesystem
path : String
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)
clearWorkspace : boolean
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.
copyHidden : boolean
If true, the system will copy hidden files and folders as well. Default is false.
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 : String
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 (/)
$class: 'FeatureBranchAwareMercurialSCM'
installation : String
source : String
branch : String
modules : String
subdir : String
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
browser
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
branchPattern : String
$class: 'GeneXusServerSCM'
gxInstallationId : String
GeneXus installation to use when creating (or updating) a local copy of a Knowledge Base from a GeneXus Server.
Select "(Custom)" if you want to specify a custom GeneXus path for this project (see Advanced Options).
The options that appear here are those you may configure in Jenkins "Global Tool Configuration" for GeneXus.
gxCustomPath : String
Custom path to a GeneXus installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server. This custom path is used when the "Custom" option is selected for the GeneXus Installation
msbuildCustomPath : String
Custom path to the MSBuild installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server.
serverURL : String
credentialsId : String
Credentials to use when authenticating to the GeneXus Server.
Select the credentials you want to use or click "Add" to enter a new user/password pair.
kbName : String
kbVersion : String
Name of the Version that will be selected when creating a local copy of the Knowledge Base.
If you leave it blank the 'Trunk' version will be selected by default.
localKbPath : String
Path to the local Knowledge Base to use as working copy.
If you leave it blank the default ${WORKSPACE}\KBname
will apply.
localKbVersion : String
Name of the Version in the local Knowledge Base that is linked to the Version in the server.
If you leave it blank the 'Trunk' version will be selected by default.
kbDbServerInstance : String
kbDbCredentialsId : String
Credentials to use when to connecting to SQL Server.
Select "none" for Windows Authentication.
kbDbName : String
Name of the SQL Server database used for the local Knowledge Base.
Leave it blank to use the default database name.
kbDbInSameFolder : boolean
Create the database files in the same folder as the Knowledge Base when checking out. Default is 'true
'.
If kbDbInSameFolder
is true or not set, then the database files will be created in the same folder as the Knowledge Base. If kbDbInSameFolder
is false, then the database files will be created in the default folder configured for the SQL Server at kbDbServerInstance (optional)
.
$class: 'GitSCM'
The git plugin provides fundamental git operations for Jenkins projects. It can poll, fetch, checkout, and merge contents of git repositories.
The git plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select git plugin checkout options and provides online help for each of the options.
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url : String
git clone
command.
name : String
origin
, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote
command. If left empty, Jenkins will generate unique names for you.
You normally want to specify this when you have multiple remote repositories.
refspec : String
git fetch
, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME
. This default behaviour is OK for most cases.
In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME
is the value you specify in the above "name of repository" textbox.
When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master
would only retrieve the master branch and nothing else.
The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.
Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop
retrieves the master branch and the develop branch and nothing else.
See the refspec definition in Git user manual for more details.
credentialsId : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
browser
$class: 'AssemblaWeb'
repoUrl : String
$class: 'BacklogGitRepositoryBrowser'
repoName : String
repoUrl : String
bitbucketServer
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 : String
(optional)
$class: 'GitLabBrowser'
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
.
projectUrl : String
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
$class: 'GitList'
repoUrl : String
$class: 'GitWeb'
repoUrl : String
$class: 'GiteaBrowser'
repoUrl : String
https://gitea.example.com
then the URL for bob's skunkworks project repository might be https://gitea.example.com/bob/skunkworks
$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: 'ScmManagerGitRepositoryBrowser'
repoUrl : String
$class: 'Stash'
repoUrl : String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl : String
If TFS is also used as the repository server, this can usually be left blank.
$class: 'TracGitRepositoryBrowser'
$class: 'TuleapBrowser'
repositoryUrl : String
$class: 'ViewGitWeb'
repoUrl : String
projectName : String
gitTool : String
Absolute path to the git executable.
This is different from other Jenkins tool definitions. Rather than providing the directory that contains the executable, you must provide the complete path to the executable. Setting '/usr/bin/git
' would be correct, while setting '/usr/bin/
' is not correct.
extensions
Extensions add new behavior or modify existing plugin behavior for different uses. Extensions help users more precisely tune plugin behavior to meet their needs.
Extensions include:
$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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
doGenerateSubmoduleConfigurations : boolean
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value and always uses false
as its value.
submoduleCfg
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value(s) and always uses empty values.
submoduleName : String
Removed in git plugin 4.6.0.
branches : Array / List of String
Removed in git plugin 4.6.0.
$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: 'IntegritySCM'
serverConfig : String
configPath : String
configurationName : String
CPBasedMode : boolean
(optional)
alternateWorkspace : String
(optional)
browser
(optional)
$class: 'IntegrityWebUI'
url : String
checkoutThreadPoolSize : int
(optional)
checkoutThreadTimeout : int
(optional)
checkpointBeforeBuild : boolean
(optional)
checkpointLabel : String
(optional)
cleanCopy : boolean
(optional)
deleteNonMembers : boolean
(optional)
excludeList : String
(optional)
fetchChangedWorkspaceFiles : boolean
(optional)
includeList : String
(optional)
lineTerminator : String
(optional)
localClient : boolean
(optional)
password : String
(optional)
restoreTimestamp : boolean
(optional)
sandboxScope : String
(optional)
skipAuthorInfo : boolean
(optional)
userName : String
(optional)
$class: 'IspwConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
serverStream : String
serverApplication : String
serverLevel : String
levelOption : String
componentType : String
folderName : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
ispwDownloadWithCompileOnly : boolean
$class: 'IspwContainerConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
containerName : String
containerType : String
serverLevel : String
componentType : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
$class: 'MercurialSCM'
source : String
browser
(optional)
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
(optional)
credentialsId : String
(optional)
disableChangeLog : boolean
(optional)
installation : String
(optional)
modules : String
(optional)
revision : String
(optional)
default
branch.)
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir : String
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
none
$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
perforce
credential : String
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
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 : String
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.
pinHost : boolean
name : String
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.
spec
allwrite : boolean
clobber : boolean
compress : boolean
locked : boolean
modtime : boolean
rmdir : boolean
streamName : String
line : String
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.
view : String
Lines to map depot files into the client workspace.
The variable ${P4_CLIENT} will expand to the client name, for example, a simple mapping:
//depot/... //${P4_CLIENT}/...
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'.
To support migration from the old Perforce plugin, a View Mapping can be inserted from a file in Perforce. Add the depot path to the "View Mappings" field Prefix "@" (this only applies to the "Manual" Workspace behaviour).
changeView : String
type : String
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.
serverID : String
backup : boolean
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
cleanup : boolean
syncID : String
(optional)
specFileSpec
charset : String
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.
pinHost : boolean
name : String
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.
specPath : String
syncID : String
(optional)
staticSpec
charset : String
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.
pinHost : boolean
name : String
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
syncID : String
(optional)
streamSpec
charset : String
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.
pinHost : boolean
streamName : String
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-streamformat : String
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
syncID : String
(optional)
templateSpec
charset : String
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.
pinHost : boolean
templateName : String
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
format : String
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
syncID : String
(optional)
filter
latest
latestChange : boolean
pathFilter
path : String
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.
viewPattern
patternText : String
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
caseSensitive : boolean
incremental
perChange : boolean
When enabled, only the one, oldest changelist returned by polling is built.
If P4_INCREMENTAL
environment variable (or build parameter) is set to "false", polling per change is ignored and all changelists are built.
userFilter
user : String
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
viewFilter
viewMask : String
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
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 : boolean
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
delete : boolean
Perforce will delete any local files that are not in the depot.
tidy : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
previewOnly
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
flushOnly
quiet : boolean
pin : String
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).
forceClean
have : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
graphClean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
syncOnly
revert : boolean
have : boolean
force : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
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
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
workingMode
NONE
, UP
, LDAP
credentialsId : String
useMultipleWorkspaces : boolean
additionalWorkspaces
selector : String
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
directory : String
pollOnController : boolean
directory : String
$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 : boolean
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
buildTool : String
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.
serverURI : String
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
timeout : int
The timeout period in seconds for Jazz repository requests made during the build.
userId : String
The build user id. Either credentials or a user id and password information should be supplied.
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.
class hudson.util.Secret
passwordFile : String
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.
credentialsId : String
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
buildType
value : String
buildDefinition : String
buildWorkspace : String
buildSnapshot : String
buildStream : String
acceptBeforeLoad : boolean
(optional)
addLinksToWorkItems : boolean
(optional)
buildSnapshotContext
(optional)
snapshotOwnerType : String
processAreaOfOwningStream : String
owningStream : String
owningWorkspace : String
clearLoadDirectory : boolean
(optional)
componentLoadConfig : String
(optional)
componentsToExclude : String
(optional)
createFoldersForComponents : boolean
(optional)
currentSnapshotOwnerType : String
(optional)
customizedSnapshotName : String
(optional)
generateChangelogWithGoodBuild : boolean
(optional)
loadDirectory : String
(optional)
loadPolicy : String
(optional)
overrideDefaultSnapshotName : boolean
(optional)
pathToLoadRuleFile : String
(optional)
pollingOnly : boolean
(optional)
pollingOnlyData
(optional)
snapshotUUID : String
processArea : String
(optional)
useDynamicLoadRules : boolean
(optional)
avoidUsingToolkit : boolean
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 agent nodes.
$class: 'SCLMSCM'
server : String
port : int
credentialsId : String
JESINTERFACELEVEL1 : boolean
FTPActiveMode : 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 : String
/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.
viewname : String
branch : String
filter : 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 : String
.
) may be used to check out the project directly into the workspace rather than into a subdirectory.
depthOption : String
ignoreExternalsOption : boolean
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.
cancelProcessOnExternalsFail : boolean
workspaceUpdater
$class: 'CheckoutUpdater'
$class: 'NoopUpdater'
$class: 'UpdateUpdater'
$class: 'UpdateWithCleanUpdater'
$class: 'UpdateWithRevertUpdater'
browser
$class: 'Assembla'
spaceName : String
$class: 'BacklogRepositoryBrowser'
url : String
When no value is set, project of "Backlog URL" set above is used.
svnPhabricator
url : String
repo : String
$class: 'PolarionRepositoryBrowser'
url : String
location : String
$class: 'RedmineRepositoryBrowser'
repositoryId : String
$class: 'SVNWeb'
url : String
$class: 'ScmManagerSvnRepositoryBrowser'
repoUrl : String
$class: 'TeamForge'
connectionFactory
url : String
This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.
username : String
The user who will upload the files.
password : String
The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.
project : String
repo : String
$class: 'TracRepositoryBrowser'
$class: 'ViewVCRepositoryBrowser'
url : String
location : String
$class: 'VisualSVN'
url : String
excludedRegions : String
/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.
excludedUsers : String
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.
excludedRevprop : String
excludedCommitMessages : String
includedRegions : String
/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.
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 : String
<scheme://hostname(:port)> name
, while for servers accessed via svn+ssh
it is of the format (username@)svn+ssh://hostname(:port)
.
credentialsId : String
quietOperation : boolean
Mimics subversion command line --quiet
parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.
$class: 'SurroundSCM'
server : String
serverPort : String
branch : String
repository : String
credentialsId : String
rsaKey
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyType
(optional)
NoKey
, Path
, ID
rsaKeyValue : String
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyPath : String
(optional)
$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: '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'
The repo plugin provides Repo as an SCM tools in Jenkins.
The repo plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select repo plugin checkout options and provides online help for each of the options.
manifestRepositoryUrl : String
The URL of the manifest. This is passed to repo as repo init -u url
.
cleanFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git clean -fdx"
currentBranch : boolean
(optional)
Fetch only the current branch from server. Increases the speed of the repo sync operation. This is passed to repo as repo init --current-branch
and repo sync -c
.
depth : int
(optional)
Specify the depth in history to sync from the source. The default is to sync all of the history. Use 1 to just sync the most recent commit. This is passed to repo as repo init --depth=n
.
destinationDir : String
(optional)
The sub-directory of the workspace where the source should be synced. The default is the root of the workspace.
extraEnvVars
(optional)
java.util.Map<java.lang.String, java.lang.String>
fetchSubmodules : boolean
(optional)
Fetch submodules for from server. This is passed to repo as repo sync --fetch-submodules
.
forceSync : boolean
(optional)
Overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. This is passed to repo as repo sync --force-sync
.
ignoreProjects : String
(optional)
jobs : int
(optional)
Specify the number of projects to fetch simultaneously. The default is 1. This is passed to repo as repo sync --jobs=n
.
localManifest : String
(optional)
The contents of .repo/local_manifests/local.xml
. This is written prior to calling sync. The default is to not use a local.xml
file.
The contents may be given here literally, as XML; see the example below. Such literal content must start with the string <?xml
. Alternatively, the content may be given as an URL, in which case the file pointed by the URL is used. If the content does not start with the <?xml
prefix, it is assumed to be an URL.
An example
<?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="external/project" name="org/project" remote="github" revision="master" /> </manifest>
manifestBranch : String
(optional)
The branch of the manifest to use. This is passed to repo as repo init -b branchname
. Repo will default to master if a branch name isn't provided.
manifestFile : String
(optional)
The initial manifest file to use while initializing the repo. This is passed to repo as repo init -m manifestFile
. If a manifest file is not specified, repo uses the default of "default.xml".
manifestGroup : String
(optional)
Restricts manifest projects to ones tagged with provided group name. This is passed to repo as repo init -g groupName
. If a group name is not provided, the -g
option is not passed to repo and it will default to fetching projects that are tagged with 'default'.
manifestPlatform : String
(optional)
Restrict manifest projects to ones with a specified platform group [auto|all|none|linux|darwin|...]
This is passed to repo as repo init -P platformName
. If a platform is not provided, the -p
option is not passed to repo and it will default to auto
and ony fetch projects which needed for current system.
manifestSubmodules : boolean
(optional)
Sync any submodules associated with the manifest repo. This is passed to repo as repo init --submodules
.
mirrorDir : String
(optional)
The location of the mirror directory to reference when initialising the repository. This is passed to repo as repo sync --reference=DIR
. This speeds up fetching code and isn't used by default.
noCloneBundle : boolean
(optional)
When this is checked --no-clone-bundle
is used when running the repo init
and repo sync
commands.
noTags : boolean
(optional)
Don't fetch tags. This is passed to repo as repo init --no-tags
and repo sync --no-tags
.
quiet : boolean
(optional)
Make repo more quiet. This is passed to repo as repo sync -q
.
repoBranch : String
(optional)
Use a specific branch for pulling repo itself. By default this is empty, and repo will be using its default branch (i.e. stable)
repoUrl : String
(optional)
Pull repo itself from this git repository. By default this is empty, and repo will be pulled from its default git url (i.e. googles)
resetFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git reset --hard"
showAllChanges : boolean
(optional)
When this is checked --first-parent
is no longer passed to git log
when determining changesets.
trace : boolean
(optional)
Trace git command execution. This is passed to repo as repo --trace <subcommand>
.
worktree : boolean
(optional)
Use `git worktree` for checkouts (At least, Git version 2.15 is required to avoid dangerous gc bugs). Usefull under Windows because it no longer require symlinks at all.
none
$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
perforce
credential : String
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
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 : String
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.
pinHost : boolean
name : String
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.
spec
allwrite : boolean
clobber : boolean
compress : boolean
locked : boolean
modtime : boolean
rmdir : boolean
streamName : String
line : String
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.
view : String
Lines to map depot files into the client workspace.
The variable ${P4_CLIENT} will expand to the client name, for example, a simple mapping:
//depot/... //${P4_CLIENT}/...
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'.
To support migration from the old Perforce plugin, a View Mapping can be inserted from a file in Perforce. Add the depot path to the "View Mappings" field Prefix "@" (this only applies to the "Manual" Workspace behaviour).
changeView : String
type : String
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.
serverID : String
backup : boolean
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
cleanup : boolean
syncID : String
(optional)
specFileSpec
charset : String
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.
pinHost : boolean
name : String
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.
specPath : String
syncID : String
(optional)
staticSpec
charset : String
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.
pinHost : boolean
name : String
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
syncID : String
(optional)
streamSpec
charset : String
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.
pinHost : boolean
streamName : String
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-streamformat : String
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
syncID : String
(optional)
templateSpec
charset : String
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.
pinHost : boolean
templateName : String
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
format : String
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
syncID : String
(optional)
filter
latest
latestChange : boolean
pathFilter
path : String
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.
viewPattern
patternText : String
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
caseSensitive : boolean
incremental
perChange : boolean
When enabled, only the one, oldest changelist returned by polling is built.
If P4_INCREMENTAL
environment variable (or build parameter) is set to "false", polling per change is ignored and all changelists are built.
userFilter
user : String
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
viewFilter
viewMask : String
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
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 : boolean
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
delete : boolean
Perforce will delete any local files that are not in the depot.
tidy : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
previewOnly
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
flushOnly
quiet : boolean
pin : String
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).
forceClean
have : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
graphClean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
syncOnly
revert : boolean
have : boolean
force : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
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
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
workingMode
NONE
, UP
, LDAP
credentialsId : String
useMultipleWorkspaces : boolean
additionalWorkspaces
selector : String
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
directory : String
pollOnController : boolean
directory : String
$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 : boolean
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
buildTool : String
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.
serverURI : String
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
timeout : int
The timeout period in seconds for Jazz repository requests made during the build.
userId : String
The build user id. Either credentials or a user id and password information should be supplied.
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.
class hudson.util.Secret
passwordFile : String
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.
credentialsId : String
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
buildType
value : String
buildDefinition : String
buildWorkspace : String
buildSnapshot : String
buildStream : String
acceptBeforeLoad : boolean
(optional)
addLinksToWorkItems : boolean
(optional)
buildSnapshotContext
(optional)
snapshotOwnerType : String
processAreaOfOwningStream : String
owningStream : String
owningWorkspace : String
clearLoadDirectory : boolean
(optional)
componentLoadConfig : String
(optional)
componentsToExclude : String
(optional)
createFoldersForComponents : boolean
(optional)
currentSnapshotOwnerType : String
(optional)
customizedSnapshotName : String
(optional)
generateChangelogWithGoodBuild : boolean
(optional)
loadDirectory : String
(optional)
loadPolicy : String
(optional)
overrideDefaultSnapshotName : boolean
(optional)
pathToLoadRuleFile : String
(optional)
pollingOnly : boolean
(optional)
pollingOnlyData
(optional)
snapshotUUID : String
processArea : String
(optional)
useDynamicLoadRules : boolean
(optional)
avoidUsingToolkit : boolean
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 agent nodes.
$class: 'SCLMSCM'
server : String
port : int
credentialsId : String
JESINTERFACELEVEL1 : boolean
FTPActiveMode : 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 : String
/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.
viewname : String
branch : String
filter : 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 : String
.
) may be used to check out the project directly into the workspace rather than into a subdirectory.
depthOption : String
ignoreExternalsOption : boolean
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.
cancelProcessOnExternalsFail : boolean
workspaceUpdater
$class: 'CheckoutUpdater'
$class: 'NoopUpdater'
$class: 'UpdateUpdater'
$class: 'UpdateWithCleanUpdater'
$class: 'UpdateWithRevertUpdater'
browser
$class: 'Assembla'
spaceName : String
$class: 'BacklogRepositoryBrowser'
url : String
When no value is set, project of "Backlog URL" set above is used.
svnPhabricator
url : String
repo : String
$class: 'PolarionRepositoryBrowser'
url : String
location : String
$class: 'RedmineRepositoryBrowser'
repositoryId : String
$class: 'SVNWeb'
url : String
$class: 'ScmManagerSvnRepositoryBrowser'
repoUrl : String
$class: 'TeamForge'
connectionFactory
url : String
This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.
username : String
The user who will upload the files.
password : String
The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.
project : String
repo : String
$class: 'TracRepositoryBrowser'
$class: 'ViewVCRepositoryBrowser'
url : String
location : String
$class: 'VisualSVN'
url : String
excludedRegions : String
/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.
excludedUsers : String
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.
excludedRevprop : String
excludedCommitMessages : String
includedRegions : String
/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.
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 : String
<scheme://hostname(:port)> name
, while for servers accessed via svn+ssh
it is of the format (username@)svn+ssh://hostname(:port)
.
credentialsId : String
quietOperation : boolean
Mimics subversion command line --quiet
parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.
$class: 'SurroundSCM'
server : String
serverPort : String
branch : String
repository : String
credentialsId : String
rsaKey
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyType
(optional)
NoKey
, Path
, ID
rsaKeyValue : String
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyPath : String
(optional)
$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: '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'
The repo plugin provides Repo as an SCM tools in Jenkins.
The repo plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select repo plugin checkout options and provides online help for each of the options.
manifestRepositoryUrl : String
The URL of the manifest. This is passed to repo as repo init -u url
.
cleanFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git clean -fdx"
currentBranch : boolean
(optional)
Fetch only the current branch from server. Increases the speed of the repo sync operation. This is passed to repo as repo init --current-branch
and repo sync -c
.
depth : int
(optional)
Specify the depth in history to sync from the source. The default is to sync all of the history. Use 1 to just sync the most recent commit. This is passed to repo as repo init --depth=n
.
destinationDir : String
(optional)
The sub-directory of the workspace where the source should be synced. The default is the root of the workspace.
extraEnvVars
(optional)
java.util.Map<java.lang.String, java.lang.String>
fetchSubmodules : boolean
(optional)
Fetch submodules for from server. This is passed to repo as repo sync --fetch-submodules
.
forceSync : boolean
(optional)
Overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. This is passed to repo as repo sync --force-sync
.
ignoreProjects : String
(optional)
jobs : int
(optional)
Specify the number of projects to fetch simultaneously. The default is 1. This is passed to repo as repo sync --jobs=n
.
localManifest : String
(optional)
The contents of .repo/local_manifests/local.xml
. This is written prior to calling sync. The default is to not use a local.xml
file.
The contents may be given here literally, as XML; see the example below. Such literal content must start with the string <?xml
. Alternatively, the content may be given as an URL, in which case the file pointed by the URL is used. If the content does not start with the <?xml
prefix, it is assumed to be an URL.
An example
<?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="external/project" name="org/project" remote="github" revision="master" /> </manifest>
manifestBranch : String
(optional)
The branch of the manifest to use. This is passed to repo as repo init -b branchname
. Repo will default to master if a branch name isn't provided.
manifestFile : String
(optional)
The initial manifest file to use while initializing the repo. This is passed to repo as repo init -m manifestFile
. If a manifest file is not specified, repo uses the default of "default.xml".
manifestGroup : String
(optional)
Restricts manifest projects to ones tagged with provided group name. This is passed to repo as repo init -g groupName
. If a group name is not provided, the -g
option is not passed to repo and it will default to fetching projects that are tagged with 'default'.
manifestPlatform : String
(optional)
Restrict manifest projects to ones with a specified platform group [auto|all|none|linux|darwin|...]
This is passed to repo as repo init -P platformName
. If a platform is not provided, the -p
option is not passed to repo and it will default to auto
and ony fetch projects which needed for current system.
manifestSubmodules : boolean
(optional)
Sync any submodules associated with the manifest repo. This is passed to repo as repo init --submodules
.
mirrorDir : String
(optional)
The location of the mirror directory to reference when initialising the repository. This is passed to repo as repo sync --reference=DIR
. This speeds up fetching code and isn't used by default.
noCloneBundle : boolean
(optional)
When this is checked --no-clone-bundle
is used when running the repo init
and repo sync
commands.
noTags : boolean
(optional)
Don't fetch tags. This is passed to repo as repo init --no-tags
and repo sync --no-tags
.
quiet : boolean
(optional)
Make repo more quiet. This is passed to repo as repo sync -q
.
repoBranch : String
(optional)
Use a specific branch for pulling repo itself. By default this is empty, and repo will be using its default branch (i.e. stable)
repoUrl : String
(optional)
Pull repo itself from this git repository. By default this is empty, and repo will be pulled from its default git url (i.e. googles)
resetFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git reset --hard"
showAllChanges : boolean
(optional)
When this is checked --first-parent
is no longer passed to git log
when determining changesets.
trace : boolean
(optional)
Trace git command execution. This is passed to repo as repo --trace <subcommand>
.
worktree : boolean
(optional)
Use `git worktree` for checkouts (At least, Git version 2.15 is required to avoid dangerous gc bugs). Usefull under Windows because it no longer require symlinks at all.
changelog : boolean
(optional)
If 'Include in changelog' is enabled for an SCM source, then when a build occurs, the changes from that SCM source will be included in the changelog.
If 'Include in changelog' is disabled, then when a build occurs, the changes from this SCM source will not be included in the changelog.
poll : boolean
(optional)
If 'Include in polling' is enabled or 'Include in changelog' is enabled, then when polling occurs, the job will be started if changes are detected from this SCM source.
If 'Include in polling' is disabled and 'Include in changelog' is disabled, then when polling occurs, changes that are detected from this repository will be ignored.
getDatabaseConnection
: Get Database Connectionid : String
(optional)
sql
steptype
(optional)
GLOBAL
, PERITEM
load
: Evaluate a Groovy source file into the Pipeline scriptThe loaded file can contain statements at top level or just load and run a closure. For example:
def pipeline node('slave') { pipeline = load 'pipeline.groovy' pipeline.functionA() } pipeline.functionB()
Where pipeline.groovy
defines functionA and functionB functions (among others) before ending with return this;
path : String
Current directory (pwd()
) relative path to the Groovy file to load.
parallel
: Execute in parallel
Takes a map from branch names to closures and an optional argument failFast
which will terminate all branches upon a failure in any other branch:
parallel firstBranch: { // do something }, secondBranch: { // do something else }, failFast: true|false
sql
: Run SQLsql : String
sql sql: "SELECT * FROM jobs WHERE id = ?", parameters: [1]
connection : String
(optional)
getDatabaseConnection
stepparameters : Array / List of Object
(optional)
stage
: StageAn older, deprecated mode of this step did not take a block argument, and accepted a concurrency
parameter.
name : String
concurrency : int
(optional)
archiveArtifacts
: Archive the artifactsarchiveArtifacts artifacts: '**/*.txt',
allowEmptyArchive: true,
fingerprint: true,
onlyIfSuccessful: true
artifacts : String
","
(comma) is the only supported separator. The base directory is the workspace. You can only archive files that are located in your workspace.
Here are some examples of usage for pipeline:
archiveArtifacts artifacts: 'target/*.jar'
archiveArtifacts artifacts: 'target/*.jar, target/*.war'
archiveArtifacts artifacts: '**/*.jar'
allowEmptyArchive : boolean
(optional)
caseSensitive : boolean
(optional)
org.apache.tools.ant.DirectoryScanner
which by default is case sensitive. For instance, if the job produces *.hpi files, pattern "**/*.HPI" will fail to find them.defaultExcludes : boolean
(optional)
excludes : String
(optional)
fingerprint : boolean
(optional)
followSymlinks : boolean
(optional)
onlyIfSuccessful : boolean
(optional)
clover
: Publish OpenClover coverage reportcloverReportDir : String
cloverReportFileName : String
healthyTarget
methodCoverage : int
conditionalCoverage : int
statementCoverage : int
unhealthyTarget
methodCoverage : int
conditionalCoverage : int
statementCoverage : int
failingTarget
methodCoverage : int
conditionalCoverage : int
statementCoverage : int
step([$class: 'CriticalBlockEnd'])
: Critical block endRelease all resources that Critical block start had allocated for this job.
step([$class: 'CriticalBlockStart'])
: Critical block startDelimit the beginning of the exclusion zone. All build steps that follow will be managed by exclusion plugin.
fingerprint
: Record fingerprints of files to track usagefoo.jar
on my HDD but which build number of FOO did it come from?foo.jar
from the FOO project.foo.jar
is used in BAR #51?foo.jar
#32?To use this feature, all of the involved projects (not just the project in which a file is produced, but also the projects in which the file is used) need to use this and record fingerprints.
See this document for more details.
targets : String
module/dist/**/*.zip
(see the @includes of Ant fileset for the exact format). The base directory is the workspace.
caseSensitive : boolean
(optional)
org.apache.tools.ant.DirectoryScanner
which by default is case sensitive. For instance, if the job produces *.hpi files, pattern "**/*.HPI" will fail to find them.defaultExcludes : boolean
(optional)
excludes : String
(optional)
step([$class: 'GitChangelogRecorder'])
: Git ChangelogSee Git Changelog Plugin for details on how to configure and use this plugin.
config
configFile : String
(optional)
createFileTemplateContent : String
(optional)
createFileTemplateFile : String
(optional)
createFileUseTemplateContent : boolean
(optional)
createFileUseTemplateFile : boolean
(optional)
customIssues
(optional)
name : String
pattern : String
link : String
title : String
dateFormat : String
(optional)
file : String
(optional)
fromReference : String
(optional)
fromType : String
(optional)
gitHubApi : String
(optional)
gitHubApiTokenCredentialsId : String
(optional)
gitHubIssuePattern : String
(optional)
gitHubToken : String
(optional)
gitLabApiTokenCredentialsId : String
(optional)
gitLabProjectName : String
(optional)
gitLabServer : String
(optional)
gitLabToken : String
(optional)
ignoreCommitsIfMessageMatches : String
(optional)
ignoreCommitsWithoutIssue : boolean
(optional)
ignoreTagsIfNameMatches : String
(optional)
jiraBasicAuthString : String
(optional)
jiraBasicAuthStringCredentialsId : String
(optional)
jiraBearer : String
(optional)
jiraBearerCredentialsId : String
(optional)
jiraIssuePattern : String
(optional)
jiraPassword : String
(optional)
jiraServer : String
(optional)
jiraUsername : String
(optional)
jiraUsernamePasswordCredentialsId : String
(optional)
noIssueName : String
(optional)
readableTagName : String
(optional)
redmineIssuePattern : String
(optional)
redminePassword : String
(optional)
redmineServer : String
(optional)
redmineToken : String
(optional)
redmineTokenCredentialsId : String
(optional)
redmineUserNamePasswordCredentialsId : String
(optional)
redmineUsername : String
(optional)
showSummary : boolean
(optional)
showSummaryTemplateContent : String
(optional)
showSummaryTemplateFile : String
(optional)
showSummaryUseTemplateContent : boolean
(optional)
showSummaryUseTemplateFile : boolean
(optional)
subDirectory : String
(optional)
timeZone : String
(optional)
toReference : String
(optional)
toType : String
(optional)
untaggedName : String
(optional)
useConfigFile : boolean
(optional)
useFile : boolean
(optional)
useGitHub : boolean
(optional)
useGitLab : boolean
(optional)
useIgnoreTagsIfNameMatches : boolean
(optional)
useJira : boolean
(optional)
useReadableTagName : boolean
(optional)
useRedmine : boolean
(optional)
useSubDirectory : boolean
(optional)
step([$class: 'JiraIssueUpdater'])
: Jira: Update relevant issuesissueSelector
$class: 'DefaultIssueSelector'
$class: 'ExplicitIssueSelector'
issueKeys : String
$class: 'JqlIssueSelector'
jql : String
$class: 'P4JobIssueSelector'
scm
$class: 'AWSCodePipelineSCM'
name : String
clearWorkspace : boolean
region : String
awsAccessKey : String
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.
awsSecretKey : String
>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.
proxyHost : String
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.
proxyPort : String
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.
category : String
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.
provider : String
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.
version : String
Leave the default as 1.
accurev
depot : String
stream : String
serverName : String
(optional)
serverUUID : String
(optional)
wspaceORreftree : String
(optional)
accurevTool : String
(optional)
cleanreftree : boolean
(optional)
directoryOffset : String
(optional)
dontPopContent : boolean
(optional)
filterForPollSCM : String
(optional)
ignoreStreamParent : boolean
(optional)
reftree : String
(optional)
snapshotNameFormat : String
(optional)
subPath : String
(optional)
subPathOnly : boolean
(optional)
synctime : boolean
(optional)
useSnapshot : boolean
(optional)
workspace : String
(optional)
$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
BbS
id : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
credentialsId : String
When running a job, Jenkins requires credentials to authenticate with Bitbucket Server. For example, to checkout the source code for builds. To do this, it needs credentials with access to the projects and repositories you want it to build from.
You can provide Jenkins with credentials here by:
In addition, you can provide Jenkins with SSH credentials below. If you do, Jenkins will use them for clone operations instead of the credentials you select here.
sshCredentialsId : String
If specified, Jenkins will use these credentials to check out the source code for builds. If no SSH credentials are specified, Jenkins will use the basic credentials instead.
To provide Jenkins with SSH credentials, you can:
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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
gitTool : String
projectName : String
Enter the name of the Bitbucket Server project containing the repository you want Jenkins to build from. To find a project, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter a tilde (~
) followed by repository owner's username. For example, ~jsmith.
repositoryName : String
Enter the Bitbucket Server repository you want Jenkins to build from. To find a repository, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter its slug. This is the URL-friendly version of the repository name. For example, a repository called my example repo will have the slug my-example-repo, and you can see this in its URL, https://bitbucketserver.mycompany.com/myproject/my-example-repo.
serverId : String
Choose the Bitbucket Server instance containing the repository you want Jenkins to build from. If you can't find your instance, check this plugin's configuration and try again.
mirrorName : String
Choose the location that Jenkins should clone from when running this build. This can be the primary server or a mirror if one is available. To see available mirrors, first choose a Bitbucket Server project and repository.
$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 : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
$class: 'PollRebaseMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
excludeList : String
(optional)
$class: 'PollSelfMode'
levelToPoll : String
component : String
(optional)
newest : boolean
(optional)
$class: 'PollSiblingMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
useHyperLinkForPolling : boolean
(optional)
$class: 'PollSubscribeMode'
levelToPoll : String
componentsToMonitor
componentSelection : String
jobsToMonitor
jobname : String
ignores : String
jobName : String
(optional)
cascadePromotion : boolean
(optional)
component : String
(optional)
newest : boolean
(optional)
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 : boolean
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".
skipChangeLog : boolean
pruneEmptyDirectories : boolean
disableCvsQuiet : boolean
cleanOnFailedUpdate : boolean
forceCleanCopy : boolean
checkoutCurrentTimestamp : boolean
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$class: 'SpecificViewStorage'
winStorageDir : String
unixStorageDir : String
buildFoundationBaseline : boolean
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.
$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 : boolean
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
targets
baselineName : String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed : boolean
useNewest : boolean
(optional)
$class: 'Git'
targets
name : String
repository : String
branch : String
commitId : String
fixed : boolean
useNewest : boolean
(optional)
$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: 'DimensionsSCM'
project : String
credentialsType : String
userName : String
password : String
pluginServer : String
userServer : String
keystoreServer : String
pluginDatabase : String
userDatabase : String
keystoreDatabase : String
keystorePath : String
certificateAlias : String
credentialsId : String
certificatePassword : String
keystorePassword : String
certificatePath : String
remoteCertificatePassword : String
secureAgentAuth : boolean
canJobDelete : boolean
(optional)
canJobExpand : boolean
(optional)
canJobForce : boolean
(optional)
canJobNoMetadata : boolean
(optional)
canJobNoTouch : boolean
(optional)
canJobRevert : boolean
(optional)
canJobUpdate : boolean
(optional)
eol : String
(optional)
folders
(optional)
value : String
pathsToExclude
(optional)
value : String
permissions : String
(optional)
timeZone : String
(optional)
webUrl : String
(optional)
$class: 'DrushMakefileSCM'
makefile : String
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
root : String
$class: 'EndevorConfiguration'
connectionId : String
filterPattern : String
fileExtension : String
credentialsId : String
targetFolder : String
filesystem
path : String
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)
clearWorkspace : boolean
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.
copyHidden : boolean
If true, the system will copy hidden files and folders as well. Default is false.
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 : String
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 (/)
$class: 'FeatureBranchAwareMercurialSCM'
installation : String
source : String
branch : String
modules : String
subdir : String
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
browser
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
branchPattern : String
$class: 'GeneXusServerSCM'
gxInstallationId : String
GeneXus installation to use when creating (or updating) a local copy of a Knowledge Base from a GeneXus Server.
Select "(Custom)" if you want to specify a custom GeneXus path for this project (see Advanced Options).
The options that appear here are those you may configure in Jenkins "Global Tool Configuration" for GeneXus.
gxCustomPath : String
Custom path to a GeneXus installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server. This custom path is used when the "Custom" option is selected for the GeneXus Installation
msbuildCustomPath : String
Custom path to the MSBuild installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server.
serverURL : String
credentialsId : String
Credentials to use when authenticating to the GeneXus Server.
Select the credentials you want to use or click "Add" to enter a new user/password pair.
kbName : String
kbVersion : String
Name of the Version that will be selected when creating a local copy of the Knowledge Base.
If you leave it blank the 'Trunk' version will be selected by default.
localKbPath : String
Path to the local Knowledge Base to use as working copy.
If you leave it blank the default ${WORKSPACE}\KBname
will apply.
localKbVersion : String
Name of the Version in the local Knowledge Base that is linked to the Version in the server.
If you leave it blank the 'Trunk' version will be selected by default.
kbDbServerInstance : String
kbDbCredentialsId : String
Credentials to use when to connecting to SQL Server.
Select "none" for Windows Authentication.
kbDbName : String
Name of the SQL Server database used for the local Knowledge Base.
Leave it blank to use the default database name.
kbDbInSameFolder : boolean
Create the database files in the same folder as the Knowledge Base when checking out. Default is 'true
'.
If kbDbInSameFolder
is true or not set, then the database files will be created in the same folder as the Knowledge Base. If kbDbInSameFolder
is false, then the database files will be created in the default folder configured for the SQL Server at kbDbServerInstance (optional)
.
$class: 'GitSCM'
The git plugin provides fundamental git operations for Jenkins projects. It can poll, fetch, checkout, and merge contents of git repositories.
The git plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select git plugin checkout options and provides online help for each of the options.
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url : String
git clone
command.
name : String
origin
, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote
command. If left empty, Jenkins will generate unique names for you.
You normally want to specify this when you have multiple remote repositories.
refspec : String
git fetch
, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME
. This default behaviour is OK for most cases.
In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME
is the value you specify in the above "name of repository" textbox.
When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master
would only retrieve the master branch and nothing else.
The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.
Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop
retrieves the master branch and the develop branch and nothing else.
See the refspec definition in Git user manual for more details.
credentialsId : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
browser
$class: 'AssemblaWeb'
repoUrl : String
$class: 'BacklogGitRepositoryBrowser'
repoName : String
repoUrl : String
bitbucketServer
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 : String
(optional)
$class: 'GitLabBrowser'
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
.
projectUrl : String
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
$class: 'GitList'
repoUrl : String
$class: 'GitWeb'
repoUrl : String
$class: 'GiteaBrowser'
repoUrl : String
https://gitea.example.com
then the URL for bob's skunkworks project repository might be https://gitea.example.com/bob/skunkworks
$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: 'ScmManagerGitRepositoryBrowser'
repoUrl : String
$class: 'Stash'
repoUrl : String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl : String
If TFS is also used as the repository server, this can usually be left blank.
$class: 'TracGitRepositoryBrowser'
$class: 'TuleapBrowser'
repositoryUrl : String
$class: 'ViewGitWeb'
repoUrl : String
projectName : String
gitTool : String
Absolute path to the git executable.
This is different from other Jenkins tool definitions. Rather than providing the directory that contains the executable, you must provide the complete path to the executable. Setting '/usr/bin/git
' would be correct, while setting '/usr/bin/
' is not correct.
extensions
Extensions add new behavior or modify existing plugin behavior for different uses. Extensions help users more precisely tune plugin behavior to meet their needs.
Extensions include:
$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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
doGenerateSubmoduleConfigurations : boolean
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value and always uses false
as its value.
submoduleCfg
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value(s) and always uses empty values.
submoduleName : String
Removed in git plugin 4.6.0.
branches : Array / List of String
Removed in git plugin 4.6.0.
$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: 'IntegritySCM'
serverConfig : String
configPath : String
configurationName : String
CPBasedMode : boolean
(optional)
alternateWorkspace : String
(optional)
browser
(optional)
$class: 'IntegrityWebUI'
url : String
checkoutThreadPoolSize : int
(optional)
checkoutThreadTimeout : int
(optional)
checkpointBeforeBuild : boolean
(optional)
checkpointLabel : String
(optional)
cleanCopy : boolean
(optional)
deleteNonMembers : boolean
(optional)
excludeList : String
(optional)
fetchChangedWorkspaceFiles : boolean
(optional)
includeList : String
(optional)
lineTerminator : String
(optional)
localClient : boolean
(optional)
password : String
(optional)
restoreTimestamp : boolean
(optional)
sandboxScope : String
(optional)
skipAuthorInfo : boolean
(optional)
userName : String
(optional)
$class: 'IspwConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
serverStream : String
serverApplication : String
serverLevel : String
levelOption : String
componentType : String
folderName : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
ispwDownloadWithCompileOnly : boolean
$class: 'IspwContainerConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
containerName : String
containerType : String
serverLevel : String
componentType : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
$class: 'MercurialSCM'
source : String
browser
(optional)
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
(optional)
credentialsId : String
(optional)
disableChangeLog : boolean
(optional)
installation : String
(optional)
modules : String
(optional)
revision : String
(optional)
default
branch.)
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir : String
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
scmList
$class: 'AWSCodePipelineSCM'
name : String
clearWorkspace : boolean
region : String
awsAccessKey : String
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.
awsSecretKey : String
>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.
proxyHost : String
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.
proxyPort : String
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.
category : String
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.
provider : String
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.
version : String
Leave the default as 1.
accurev
depot : String
stream : String
serverName : String
(optional)
serverUUID : String
(optional)
wspaceORreftree : String
(optional)
accurevTool : String
(optional)
cleanreftree : boolean
(optional)
directoryOffset : String
(optional)
dontPopContent : boolean
(optional)
filterForPollSCM : String
(optional)
ignoreStreamParent : boolean
(optional)
reftree : String
(optional)
snapshotNameFormat : String
(optional)
subPath : String
(optional)
subPathOnly : boolean
(optional)
synctime : boolean
(optional)
useSnapshot : boolean
(optional)
workspace : String
(optional)
$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
BbS
id : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
credentialsId : String
When running a job, Jenkins requires credentials to authenticate with Bitbucket Server. For example, to checkout the source code for builds. To do this, it needs credentials with access to the projects and repositories you want it to build from.
You can provide Jenkins with credentials here by:
In addition, you can provide Jenkins with SSH credentials below. If you do, Jenkins will use them for clone operations instead of the credentials you select here.
sshCredentialsId : String
If specified, Jenkins will use these credentials to check out the source code for builds. If no SSH credentials are specified, Jenkins will use the basic credentials instead.
To provide Jenkins with SSH credentials, you can:
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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
gitTool : String
projectName : String
Enter the name of the Bitbucket Server project containing the repository you want Jenkins to build from. To find a project, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter a tilde (~
) followed by repository owner's username. For example, ~jsmith.
repositoryName : String
Enter the Bitbucket Server repository you want Jenkins to build from. To find a repository, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.
To get Jenkins to build from a personal repository, enter its slug. This is the URL-friendly version of the repository name. For example, a repository called my example repo will have the slug my-example-repo, and you can see this in its URL, https://bitbucketserver.mycompany.com/myproject/my-example-repo.
serverId : String
Choose the Bitbucket Server instance containing the repository you want Jenkins to build from. If you can't find your instance, check this plugin's configuration and try again.
mirrorName : String
Choose the location that Jenkins should clone from when running this build. This can be the primary server or a mirror if one is available. To see available mirrors, first choose a Bitbucket Server project and repository.
$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 : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
$class: 'PollRebaseMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
excludeList : String
(optional)
$class: 'PollSelfMode'
levelToPoll : String
component : String
(optional)
newest : boolean
(optional)
$class: 'PollSiblingMode'
levelToPoll : String
component : String
(optional)
createBaseline : boolean
(optional)
Check this if you want create a baseline after a completed deliver.
This is only applicable for child and sibling poll mode.
newest : boolean
(optional)
useHyperLinkForPolling : boolean
(optional)
$class: 'PollSubscribeMode'
levelToPoll : String
componentsToMonitor
componentSelection : String
jobsToMonitor
jobname : String
ignores : String
jobName : String
(optional)
cascadePromotion : boolean
(optional)
component : String
(optional)
newest : boolean
(optional)
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 : boolean
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".
skipChangeLog : boolean
pruneEmptyDirectories : boolean
disableCvsQuiet : boolean
cleanOnFailedUpdate : boolean
forceCleanCopy : boolean
checkoutCurrentTimestamp : boolean
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$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 : String
Label expression used to populate view storage location dropdown.
server : String
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.
$class: 'SpecificViewStorage'
winStorageDir : String
unixStorageDir : String
buildFoundationBaseline : boolean
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.
$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 : boolean
Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.
targets
baselineName : String
level
INITIAL
, BUILT
, TESTED
, RELEASED
, REJECTED
fixed : boolean
useNewest : boolean
(optional)
$class: 'Git'
targets
name : String
repository : String
branch : String
commitId : String
fixed : boolean
useNewest : boolean
(optional)
$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: 'DimensionsSCM'
project : String
credentialsType : String
userName : String
password : String
pluginServer : String
userServer : String
keystoreServer : String
pluginDatabase : String
userDatabase : String
keystoreDatabase : String
keystorePath : String
certificateAlias : String
credentialsId : String
certificatePassword : String
keystorePassword : String
certificatePath : String
remoteCertificatePassword : String
secureAgentAuth : boolean
canJobDelete : boolean
(optional)
canJobExpand : boolean
(optional)
canJobForce : boolean
(optional)
canJobNoMetadata : boolean
(optional)
canJobNoTouch : boolean
(optional)
canJobRevert : boolean
(optional)
canJobUpdate : boolean
(optional)
eol : String
(optional)
folders
(optional)
value : String
pathsToExclude
(optional)
value : String
permissions : String
(optional)
timeZone : String
(optional)
webUrl : String
(optional)
$class: 'DrushMakefileSCM'
makefile : String
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
root : String
$class: 'EndevorConfiguration'
connectionId : String
filterPattern : String
fileExtension : String
credentialsId : String
targetFolder : String
filesystem
path : String
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)
clearWorkspace : boolean
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.
copyHidden : boolean
If true, the system will copy hidden files and folders as well. Default is false.
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 : String
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 (/)
$class: 'FeatureBranchAwareMercurialSCM'
installation : String
source : String
branch : String
modules : String
subdir : String
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
browser
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
branchPattern : String
$class: 'GeneXusServerSCM'
gxInstallationId : String
GeneXus installation to use when creating (or updating) a local copy of a Knowledge Base from a GeneXus Server.
Select "(Custom)" if you want to specify a custom GeneXus path for this project (see Advanced Options).
The options that appear here are those you may configure in Jenkins "Global Tool Configuration" for GeneXus.
gxCustomPath : String
Custom path to a GeneXus installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server. This custom path is used when the "Custom" option is selected for the GeneXus Installation
msbuildCustomPath : String
Custom path to the MSBuild installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server.
serverURL : String
credentialsId : String
Credentials to use when authenticating to the GeneXus Server.
Select the credentials you want to use or click "Add" to enter a new user/password pair.
kbName : String
kbVersion : String
Name of the Version that will be selected when creating a local copy of the Knowledge Base.
If you leave it blank the 'Trunk' version will be selected by default.
localKbPath : String
Path to the local Knowledge Base to use as working copy.
If you leave it blank the default ${WORKSPACE}\KBname
will apply.
localKbVersion : String
Name of the Version in the local Knowledge Base that is linked to the Version in the server.
If you leave it blank the 'Trunk' version will be selected by default.
kbDbServerInstance : String
kbDbCredentialsId : String
Credentials to use when to connecting to SQL Server.
Select "none" for Windows Authentication.
kbDbName : String
Name of the SQL Server database used for the local Knowledge Base.
Leave it blank to use the default database name.
kbDbInSameFolder : boolean
Create the database files in the same folder as the Knowledge Base when checking out. Default is 'true
'.
If kbDbInSameFolder
is true or not set, then the database files will be created in the same folder as the Knowledge Base. If kbDbInSameFolder
is false, then the database files will be created in the default folder configured for the SQL Server at kbDbServerInstance (optional)
.
$class: 'GitSCM'
The git plugin provides fundamental git operations for Jenkins projects. It can poll, fetch, checkout, and merge contents of git repositories.
The git plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select git plugin checkout options and provides online help for each of the options.
userRemoteConfigs
${SUPER_PROJECT_URL}/${SUBMODULE}
, rather than relying on information from .gitmodules.url : String
git clone
command.
name : String
origin
, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote
command. If left empty, Jenkins will generate unique names for you.
You normally want to specify this when you have multiple remote repositories.
refspec : String
git fetch
, which retrieves all the branch heads as remotes/REPOSITORYNAME/BRANCHNAME
. This default behaviour is OK for most cases.
In other words, the default refspec is "+refs/heads/*:refs/remotes/REPOSITORYNAME/*" where REPOSITORYNAME
is the value you specify in the above "name of repository" textbox.
When do you want to modify this value? A good example is when you want to just retrieve one branch. For example, +refs/heads/master:refs/remotes/origin/master
would only retrieve the master branch and nothing else.
The plugin uses a default refspec for its initial fetch, unless the "Advanced Clone Option" is set to honor refspec. This keeps compatibility with previous behavior, and allows the job definition to decide if the refspec should be honored on initial clone.
Multiple refspecs can be entered by separating them with a space character. +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop
retrieves the master branch and the develop branch and nothing else.
See the refspec definition in Git user manual for more details.
credentialsId : String
branches
name : String
Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
The safest way is to use the refs/heads/<branchName>
syntax. This way the expected branch is unambiguous.
If your branch name has a /
in it make sure to use the full reference above. When not presented with a full path the plugin will only use the part of the string right of the last slash. Meaning foo/bar
will actually match bar
.
If you use a wildcard branch specifier, with a slash (e.g. release/
), you'll need to specify the origin repository in the branch names to make sure changes are picked up. So e.g. origin/release/
Possible options:
<branchName>
refs/heads/<branchName>
.master
, feature1
, ...refs/heads/<branchName>
refs/heads/master
, refs/heads/feature1/master
, ...<remoteRepoName>/<branchName>
refs/heads/<branchName>
.origin/master
remotes/<remoteRepoName>/<branchName>
remotes/origin/master
refs/remotes/<remoteRepoName>/<branchName>
refs/remotes/origin/master
<tagName>
refs/tags/<tagName>
instead.git-2.3.0
refs/tags/<tagName>
refs/tags/git-2.3.0
<commitId>
5062ac843f2b947733e6a3b105977056821bd352
, 5062ac84
, ...${ENV_VARIABLE}
${TREEISH}
, refs/tags/${TAGNAME}
, ...<Wildcards>
REPOSITORYNAME/BRANCH
. In addition, BRANCH
is recognized as a shorthand of */BRANCH
, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches*
would match origin/branches-foo
but not origin/branches/foo
, while origin/branches**
would match both origin/branches-foo
and origin/branches/foo
.:<regular expression>
:regexp
. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.:^(?!(origin/prefix)).*
origin
or origin/master
or origin/feature
origin/prefix
or origin/prefix_123
or origin/prefix-abc
:origin/release-\d{8}
origin/release-20150101
origin/release-2015010
or origin/release-201501011
or origin/release-20150101-something
:^(?!origin/master$|origin/develop$).*
origin/branch1
or origin/branch-2
or origin/master123
or origin/develop-123
origin/master
or origin/develop
browser
$class: 'AssemblaWeb'
repoUrl : String
$class: 'BacklogGitRepositoryBrowser'
repoName : String
repoUrl : String
bitbucketServer
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 : String
(optional)
$class: 'GitLabBrowser'
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
.
projectUrl : String
https://gitLab.example.com
then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
$class: 'GitList'
repoUrl : String
$class: 'GitWeb'
repoUrl : String
$class: 'GiteaBrowser'
repoUrl : String
https://gitea.example.com
then the URL for bob's skunkworks project repository might be https://gitea.example.com/bob/skunkworks
$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: 'ScmManagerGitRepositoryBrowser'
repoUrl : String
$class: 'Stash'
repoUrl : String
$class: 'TFS2013GitRepositoryBrowser'
repoUrl : String
If TFS is also used as the repository server, this can usually be left blank.
$class: 'TracGitRepositoryBrowser'
$class: 'TuleapBrowser'
repositoryUrl : String
$class: 'ViewGitWeb'
repoUrl : String
projectName : String
gitTool : String
Absolute path to the git executable.
This is different from other Jenkins tool definitions. Rather than providing the directory that contains the executable, you must provide the complete path to the executable. Setting '/usr/bin/git
' would be correct, while setting '/usr/bin/
' is not correct.
extensions
Extensions add new behavior or modify existing plugin behavior for different uses. Extensions help users more precisely tune plugin behavior to meet their needs.
Extensions include:
$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: 'BuildSingleRevisionOnly'
$class: 'ChangelogToBranch'
options
compareRemote : String
origin
, that contains the branch you specify below.
compareTarget : String
$class: 'CheckoutOption'
timeout : int
$class: 'CleanBeforeCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CleanCheckout'
.gitignore
. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.
deleteUntrackedNestedRepositories : boolean
(optional)
.git
directories.
$class: 'CloneOption'
shallow : boolean
noTags : boolean
reference : String
timeout : int
depth : int
(optional)
honorRefspec : boolean
(optional)
$class: 'CodeCommitURLHelper'
credentialId : String
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.
repositoryName : String
$class: 'DisableRemotePoll'
$class: 'ExcludeFromChangeSet'
$class: 'ExcludeFromPoll'
$class: 'GitLFSPull'
$class: 'GitSCMChecksExtension'
verboseConsoleLog : boolean
(optional)
$class: 'GitSCMStatusChecksExtension'
name : String
(optional)
skip : boolean
(optional)
skipProgressUpdates : boolean
(optional)
suppressLogs : boolean
(optional)
unstableBuildNeutral : boolean
(optional)
$class: 'GitTagMessageExtension'
useMostRecentTag : boolean
(optional)
$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 : String
.*\[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.
$class: 'PathRestriction'
includedRegions : String
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.
excludedRegions : String
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.
$class: 'PerBuildTag'
$class: 'PreBuildMerge'
options
mergeTarget : String
master
.
fastForwardMode
(optional)
FF
, FF_ONLY
, NO_FF
mergeRemote : String
(optional)
origin
, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
mergeStrategy
(optional)
DEFAULT
, RESOLVE
, RECURSIVE
, OCTOPUS
, OURS
, SUBTREE
, RECURSIVE_THEIRS
pretestedIntegration
gitIntegrationStrategy
accumulated
shortCommitMessage : boolean
(optional)
ffonly
shortCommitMessage : boolean
(optional)
squash
integrationBranch : String
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>
repoName : String
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
$class: 'PruneStaleBranch'
pruneTags
pruneTags : boolean
$class: 'RelativeTargetDirectory'
relativeTargetDir : String
This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.
$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 : String
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
timeout : int
parentCredentials : boolean
depth : int
(optional)
shallow : boolean
(optional)
threads : int
(optional)
$class: 'UserExclusion'
excludedUsers : String
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.
$class: 'UserIdentity'
name : String
If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.
email : String
If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.
$class: 'WipeWorkspace'
doGenerateSubmoduleConfigurations : boolean
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value and always uses false
as its value.
submoduleCfg
(optional)
Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value(s) and always uses empty values.
submoduleName : String
Removed in git plugin 4.6.0.
branches : Array / List of String
Removed in git plugin 4.6.0.
$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: 'IntegritySCM'
serverConfig : String
configPath : String
configurationName : String
CPBasedMode : boolean
(optional)
alternateWorkspace : String
(optional)
browser
(optional)
$class: 'IntegrityWebUI'
url : String
checkoutThreadPoolSize : int
(optional)
checkoutThreadTimeout : int
(optional)
checkpointBeforeBuild : boolean
(optional)
checkpointLabel : String
(optional)
cleanCopy : boolean
(optional)
deleteNonMembers : boolean
(optional)
excludeList : String
(optional)
fetchChangedWorkspaceFiles : boolean
(optional)
includeList : String
(optional)
lineTerminator : String
(optional)
localClient : boolean
(optional)
password : String
(optional)
restoreTimestamp : boolean
(optional)
sandboxScope : String
(optional)
skipAuthorInfo : boolean
(optional)
userName : String
(optional)
$class: 'IspwConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
serverStream : String
serverApplication : String
serverLevel : String
levelOption : String
componentType : String
folderName : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
ispwDownloadWithCompileOnly : boolean
$class: 'IspwContainerConfiguration'
connectionId : String
credentialsId : String
serverConfig : String
containerName : String
containerType : String
serverLevel : String
componentType : String
ispwDownloadAll : boolean
targetFolder : String
ispwDownloadIncl : boolean
$class: 'MercurialSCM'
source : String
browser
(optional)
$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: 'ScmManager'
url : String
http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/
).
clean : boolean
(optional)
credentialsId : String
(optional)
disableChangeLog : boolean
(optional)
installation : String
(optional)
modules : String
(optional)
revision : String
(optional)
default
branch.)
revisionType
(optional)
BRANCH
, TAG
, CHANGESET
, REVSET
subdir : String
(optional)
my/sources
(use forward slashes). If changing this entry, you probably want to clean the workspace first.
$class: 'MergeBotUpdater'
$class: 'MultiSCM'
none
$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
perforce
credential : String
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
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 : String
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.
pinHost : boolean
name : String
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.
spec
allwrite : boolean
clobber : boolean
compress : boolean
locked : boolean
modtime : boolean
rmdir : boolean
streamName : String
line : String
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.
view : String
Lines to map depot files into the client workspace.
The variable ${P4_CLIENT} will expand to the client name, for example, a simple mapping:
//depot/... //${P4_CLIENT}/...
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'.
To support migration from the old Perforce plugin, a View Mapping can be inserted from a file in Perforce. Add the depot path to the "View Mappings" field Prefix "@" (this only applies to the "Manual" Workspace behaviour).
changeView : String
type : String
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.
serverID : String
backup : boolean
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
cleanup : boolean
syncID : String
(optional)
specFileSpec
charset : String
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.
pinHost : boolean
name : String
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.
specPath : String
syncID : String
(optional)
staticSpec
charset : String
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.
pinHost : boolean
name : String
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
syncID : String
(optional)
streamSpec
charset : String
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.
pinHost : boolean
streamName : String
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-streamformat : String
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
syncID : String
(optional)
templateSpec
charset : String
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.
pinHost : boolean
templateName : String
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
format : String
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
syncID : String
(optional)
filter
latest
latestChange : boolean
pathFilter
path : String
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.
viewPattern
patternText : String
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
caseSensitive : boolean
incremental
perChange : boolean
When enabled, only the one, oldest changelist returned by polling is built.
If P4_INCREMENTAL
environment variable (or build parameter) is set to "false", polling per change is ignored and all changelists are built.
userFilter
user : String
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
viewFilter
viewMask : String
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
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 : boolean
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
delete : boolean
Perforce will delete any local files that are not in the depot.
tidy : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
previewOnly
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
flushOnly
quiet : boolean
pin : String
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).
forceClean
have : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
graphClean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
syncOnly
revert : boolean
have : boolean
force : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
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
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
workingMode
NONE
, UP
, LDAP
credentialsId : String
useMultipleWorkspaces : boolean
additionalWorkspaces
selector : String
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
directory : String
pollOnController : boolean
directory : String
$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 : boolean
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
buildTool : String
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.
serverURI : String
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
timeout : int
The timeout period in seconds for Jazz repository requests made during the build.
userId : String
The build user id. Either credentials or a user id and password information should be supplied.
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.
class hudson.util.Secret
passwordFile : String
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.
credentialsId : String
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
buildType
value : String
buildDefinition : String
buildWorkspace : String
buildSnapshot : String
buildStream : String
acceptBeforeLoad : boolean
(optional)
addLinksToWorkItems : boolean
(optional)
buildSnapshotContext
(optional)
snapshotOwnerType : String
processAreaOfOwningStream : String
owningStream : String
owningWorkspace : String
clearLoadDirectory : boolean
(optional)
componentLoadConfig : String
(optional)
componentsToExclude : String
(optional)
createFoldersForComponents : boolean
(optional)
currentSnapshotOwnerType : String
(optional)
customizedSnapshotName : String
(optional)
generateChangelogWithGoodBuild : boolean
(optional)
loadDirectory : String
(optional)
loadPolicy : String
(optional)
overrideDefaultSnapshotName : boolean
(optional)
pathToLoadRuleFile : String
(optional)
pollingOnly : boolean
(optional)
pollingOnlyData
(optional)
snapshotUUID : String
processArea : String
(optional)
useDynamicLoadRules : boolean
(optional)
avoidUsingToolkit : boolean
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 agent nodes.
$class: 'SCLMSCM'
server : String
port : int
credentialsId : String
JESINTERFACELEVEL1 : boolean
FTPActiveMode : 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 : String
/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.
viewname : String
branch : String
filter : 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 : String
.
) may be used to check out the project directly into the workspace rather than into a subdirectory.
depthOption : String
ignoreExternalsOption : boolean
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.
cancelProcessOnExternalsFail : boolean
workspaceUpdater
$class: 'CheckoutUpdater'
$class: 'NoopUpdater'
$class: 'UpdateUpdater'
$class: 'UpdateWithCleanUpdater'
$class: 'UpdateWithRevertUpdater'
browser
$class: 'Assembla'
spaceName : String
$class: 'BacklogRepositoryBrowser'
url : String
When no value is set, project of "Backlog URL" set above is used.
svnPhabricator
url : String
repo : String
$class: 'PolarionRepositoryBrowser'
url : String
location : String
$class: 'RedmineRepositoryBrowser'
repositoryId : String
$class: 'SVNWeb'
url : String
$class: 'ScmManagerSvnRepositoryBrowser'
repoUrl : String
$class: 'TeamForge'
connectionFactory
url : String
This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.
username : String
The user who will upload the files.
password : String
The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.
project : String
repo : String
$class: 'TracRepositoryBrowser'
$class: 'ViewVCRepositoryBrowser'
url : String
location : String
$class: 'VisualSVN'
url : String
excludedRegions : String
/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.
excludedUsers : String
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.
excludedRevprop : String
excludedCommitMessages : String
includedRegions : String
/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.
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 : String
<scheme://hostname(:port)> name
, while for servers accessed via svn+ssh
it is of the format (username@)svn+ssh://hostname(:port)
.
credentialsId : String
quietOperation : boolean
Mimics subversion command line --quiet
parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.
$class: 'SurroundSCM'
server : String
serverPort : String
branch : String
repository : String
credentialsId : String
rsaKey
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyType
(optional)
NoKey
, Path
, ID
rsaKeyValue : String
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyPath : String
(optional)
$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: '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'
The repo plugin provides Repo as an SCM tools in Jenkins.
The repo plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select repo plugin checkout options and provides online help for each of the options.
manifestRepositoryUrl : String
The URL of the manifest. This is passed to repo as repo init -u url
.
cleanFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git clean -fdx"
currentBranch : boolean
(optional)
Fetch only the current branch from server. Increases the speed of the repo sync operation. This is passed to repo as repo init --current-branch
and repo sync -c
.
depth : int
(optional)
Specify the depth in history to sync from the source. The default is to sync all of the history. Use 1 to just sync the most recent commit. This is passed to repo as repo init --depth=n
.
destinationDir : String
(optional)
The sub-directory of the workspace where the source should be synced. The default is the root of the workspace.
extraEnvVars
(optional)
java.util.Map<java.lang.String, java.lang.String>
fetchSubmodules : boolean
(optional)
Fetch submodules for from server. This is passed to repo as repo sync --fetch-submodules
.
forceSync : boolean
(optional)
Overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. This is passed to repo as repo sync --force-sync
.
ignoreProjects : String
(optional)
jobs : int
(optional)
Specify the number of projects to fetch simultaneously. The default is 1. This is passed to repo as repo sync --jobs=n
.
localManifest : String
(optional)
The contents of .repo/local_manifests/local.xml
. This is written prior to calling sync. The default is to not use a local.xml
file.
The contents may be given here literally, as XML; see the example below. Such literal content must start with the string <?xml
. Alternatively, the content may be given as an URL, in which case the file pointed by the URL is used. If the content does not start with the <?xml
prefix, it is assumed to be an URL.
An example
<?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="external/project" name="org/project" remote="github" revision="master" /> </manifest>
manifestBranch : String
(optional)
The branch of the manifest to use. This is passed to repo as repo init -b branchname
. Repo will default to master if a branch name isn't provided.
manifestFile : String
(optional)
The initial manifest file to use while initializing the repo. This is passed to repo as repo init -m manifestFile
. If a manifest file is not specified, repo uses the default of "default.xml".
manifestGroup : String
(optional)
Restricts manifest projects to ones tagged with provided group name. This is passed to repo as repo init -g groupName
. If a group name is not provided, the -g
option is not passed to repo and it will default to fetching projects that are tagged with 'default'.
manifestPlatform : String
(optional)
Restrict manifest projects to ones with a specified platform group [auto|all|none|linux|darwin|...]
This is passed to repo as repo init -P platformName
. If a platform is not provided, the -p
option is not passed to repo and it will default to auto
and ony fetch projects which needed for current system.
manifestSubmodules : boolean
(optional)
Sync any submodules associated with the manifest repo. This is passed to repo as repo init --submodules
.
mirrorDir : String
(optional)
The location of the mirror directory to reference when initialising the repository. This is passed to repo as repo sync --reference=DIR
. This speeds up fetching code and isn't used by default.
noCloneBundle : boolean
(optional)
When this is checked --no-clone-bundle
is used when running the repo init
and repo sync
commands.
noTags : boolean
(optional)
Don't fetch tags. This is passed to repo as repo init --no-tags
and repo sync --no-tags
.
quiet : boolean
(optional)
Make repo more quiet. This is passed to repo as repo sync -q
.
repoBranch : String
(optional)
Use a specific branch for pulling repo itself. By default this is empty, and repo will be using its default branch (i.e. stable)
repoUrl : String
(optional)
Pull repo itself from this git repository. By default this is empty, and repo will be pulled from its default git url (i.e. googles)
resetFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git reset --hard"
showAllChanges : boolean
(optional)
When this is checked --first-parent
is no longer passed to git log
when determining changesets.
trace : boolean
(optional)
Trace git command execution. This is passed to repo as repo --trace <subcommand>
.
worktree : boolean
(optional)
Use `git worktree` for checkouts (At least, Git version 2.15 is required to avoid dangerous gc bugs). Usefull under Windows because it no longer require symlinks at all.
none
$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
perforce
credential : String
Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.
There are two types:
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 : String
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.
pinHost : boolean
name : String
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.
spec
allwrite : boolean
clobber : boolean
compress : boolean
locked : boolean
modtime : boolean
rmdir : boolean
streamName : String
line : String
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.
view : String
Lines to map depot files into the client workspace.
The variable ${P4_CLIENT} will expand to the client name, for example, a simple mapping:
//depot/... //${P4_CLIENT}/...
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'.
To support migration from the old Perforce plugin, a View Mapping can be inserted from a file in Perforce. Add the depot path to the "View Mappings" field Prefix "@" (this only applies to the "Manual" Workspace behaviour).
changeView : String
type : String
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.
serverID : String
backup : boolean
Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.
cleanup : boolean
syncID : String
(optional)
specFileSpec
charset : String
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.
pinHost : boolean
name : String
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.
specPath : String
syncID : String
(optional)
staticSpec
charset : String
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.
pinHost : boolean
name : String
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
syncID : String
(optional)
streamSpec
charset : String
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.
pinHost : boolean
streamName : String
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-streamformat : String
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
syncID : String
(optional)
templateSpec
charset : String
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.
pinHost : boolean
templateName : String
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
format : String
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
syncID : String
(optional)
filter
latest
latestChange : boolean
pathFilter
path : String
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.
viewPattern
patternText : String
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
caseSensitive : boolean
incremental
perChange : boolean
When enabled, only the one, oldest changelist returned by polling is built.
If P4_INCREMENTAL
environment variable (or build parameter) is set to "false", polling per change is ignored and all changelists are built.
userFilter
user : String
Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.
viewFilter
viewMask : String
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
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 : boolean
Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.
delete : boolean
Perforce will delete any local files that are not in the depot.
tidy : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
previewOnly
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
flushOnly
quiet : boolean
pin : String
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).
forceClean
have : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
graphClean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
parallel
enable : boolean
path : String
threads : String
minfiles : String
minbytes : String
syncOnly
revert : boolean
have : boolean
force : boolean
modtime : boolean
quiet : boolean
Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.
pin : String
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).
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
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
workingMode
NONE
, UP
, LDAP
credentialsId : String
useMultipleWorkspaces : boolean
additionalWorkspaces
selector : String
cleanup
MINIMAL
, STANDARD
, FULL
, DELETE
directory : String
pollOnController : boolean
directory : String
$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 : boolean
The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.
buildTool : String
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.
serverURI : String
The Jazz Repository connection URI for the Rational Team Concert (RTC) server
timeout : int
The timeout period in seconds for Jazz repository requests made during the build.
userId : String
The build user id. Either credentials or a user id and password information should be supplied.
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.
class hudson.util.Secret
passwordFile : String
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.
credentialsId : String
Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.
buildType
value : String
buildDefinition : String
buildWorkspace : String
buildSnapshot : String
buildStream : String
acceptBeforeLoad : boolean
(optional)
addLinksToWorkItems : boolean
(optional)
buildSnapshotContext
(optional)
snapshotOwnerType : String
processAreaOfOwningStream : String
owningStream : String
owningWorkspace : String
clearLoadDirectory : boolean
(optional)
componentLoadConfig : String
(optional)
componentsToExclude : String
(optional)
createFoldersForComponents : boolean
(optional)
currentSnapshotOwnerType : String
(optional)
customizedSnapshotName : String
(optional)
generateChangelogWithGoodBuild : boolean
(optional)
loadDirectory : String
(optional)
loadPolicy : String
(optional)
overrideDefaultSnapshotName : boolean
(optional)
pathToLoadRuleFile : String
(optional)
pollingOnly : boolean
(optional)
pollingOnlyData
(optional)
snapshotUUID : String
processArea : String
(optional)
useDynamicLoadRules : boolean
(optional)
avoidUsingToolkit : boolean
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 agent nodes.
$class: 'SCLMSCM'
server : String
port : int
credentialsId : String
JESINTERFACELEVEL1 : boolean
FTPActiveMode : 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 : String
/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.
viewname : String
branch : String
filter : 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 : String
.
) may be used to check out the project directly into the workspace rather than into a subdirectory.
depthOption : String
ignoreExternalsOption : boolean
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.
cancelProcessOnExternalsFail : boolean
workspaceUpdater
$class: 'CheckoutUpdater'
$class: 'NoopUpdater'
$class: 'UpdateUpdater'
$class: 'UpdateWithCleanUpdater'
$class: 'UpdateWithRevertUpdater'
browser
$class: 'Assembla'
spaceName : String
$class: 'BacklogRepositoryBrowser'
url : String
When no value is set, project of "Backlog URL" set above is used.
svnPhabricator
url : String
repo : String
$class: 'PolarionRepositoryBrowser'
url : String
location : String
$class: 'RedmineRepositoryBrowser'
repositoryId : String
$class: 'SVNWeb'
url : String
$class: 'ScmManagerSvnRepositoryBrowser'
repoUrl : String
$class: 'TeamForge'
connectionFactory
url : String
This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.
username : String
The user who will upload the files.
password : String
The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.
project : String
repo : String
$class: 'TracRepositoryBrowser'
$class: 'ViewVCRepositoryBrowser'
url : String
location : String
$class: 'VisualSVN'
url : String
excludedRegions : String
/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.
excludedUsers : String
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.
excludedRevprop : String
excludedCommitMessages : String
includedRegions : String
/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.
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 : String
<scheme://hostname(:port)> name
, while for servers accessed via svn+ssh
it is of the format (username@)svn+ssh://hostname(:port)
.
credentialsId : String
quietOperation : boolean
Mimics subversion command line --quiet
parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.
$class: 'SurroundSCM'
server : String
serverPort : String
branch : String
repository : String
credentialsId : String
rsaKey
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyType
(optional)
NoKey
, Path
, ID
rsaKeyValue : String
(optional)
rsaKeyFileId : String
(optional)
rsaKeyFilePath : String
(optional)
rsaKeyPath : String
(optional)
$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: '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'
The repo plugin provides Repo as an SCM tools in Jenkins.
The repo plugin provides an SCM implementation to be used with the Pipeline SCM checkout
step. The Pipeline Syntax Snippet Generator guides the user to select repo plugin checkout options and provides online help for each of the options.
manifestRepositoryUrl : String
The URL of the manifest. This is passed to repo as repo init -u url
.
cleanFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git clean -fdx"
currentBranch : boolean
(optional)
Fetch only the current branch from server. Increases the speed of the repo sync operation. This is passed to repo as repo init --current-branch
and repo sync -c
.
depth : int
(optional)
Specify the depth in history to sync from the source. The default is to sync all of the history. Use 1 to just sync the most recent commit. This is passed to repo as repo init --depth=n
.
destinationDir : String
(optional)
The sub-directory of the workspace where the source should be synced. The default is the root of the workspace.
extraEnvVars
(optional)
java.util.Map<java.lang.String, java.lang.String>
fetchSubmodules : boolean
(optional)
Fetch submodules for from server. This is passed to repo as repo sync --fetch-submodules
.
forceSync : boolean
(optional)
Overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. This is passed to repo as repo sync --force-sync
.
ignoreProjects : String
(optional)
jobs : int
(optional)
Specify the number of projects to fetch simultaneously. The default is 1. This is passed to repo as repo sync --jobs=n
.
localManifest : String
(optional)
The contents of .repo/local_manifests/local.xml
. This is written prior to calling sync. The default is to not use a local.xml
file.
The contents may be given here literally, as XML; see the example below. Such literal content must start with the string <?xml
. Alternatively, the content may be given as an URL, in which case the file pointed by the URL is used. If the content does not start with the <?xml
prefix, it is assumed to be an URL.
An example
<?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="external/project" name="org/project" remote="github" revision="master" /> </manifest>
manifestBranch : String
(optional)
The branch of the manifest to use. This is passed to repo as repo init -b branchname
. Repo will default to master if a branch name isn't provided.
manifestFile : String
(optional)
The initial manifest file to use while initializing the repo. This is passed to repo as repo init -m manifestFile
. If a manifest file is not specified, repo uses the default of "default.xml".
manifestGroup : String
(optional)
Restricts manifest projects to ones tagged with provided group name. This is passed to repo as repo init -g groupName
. If a group name is not provided, the -g
option is not passed to repo and it will default to fetching projects that are tagged with 'default'.
manifestPlatform : String
(optional)
Restrict manifest projects to ones with a specified platform group [auto|all|none|linux|darwin|...]
This is passed to repo as repo init -P platformName
. If a platform is not provided, the -p
option is not passed to repo and it will default to auto
and ony fetch projects which needed for current system.
manifestSubmodules : boolean
(optional)
Sync any submodules associated with the manifest repo. This is passed to repo as repo init --submodules
.
mirrorDir : String
(optional)
The location of the mirror directory to reference when initialising the repository. This is passed to repo as repo sync --reference=DIR
. This speeds up fetching code and isn't used by default.
noCloneBundle : boolean
(optional)
When this is checked --no-clone-bundle
is used when running the repo init
and repo sync
commands.
noTags : boolean
(optional)
Don't fetch tags. This is passed to repo as repo init --no-tags
and repo sync --no-tags
.
quiet : boolean
(optional)
Make repo more quiet. This is passed to repo as repo sync -q
.
repoBranch : String
(optional)
Use a specific branch for pulling repo itself. By default this is empty, and repo will be using its default branch (i.e. stable)
repoUrl : String
(optional)
Pull repo itself from this git repository. By default this is empty, and repo will be pulled from its default git url (i.e. googles)
resetFirst : boolean
(optional)
When this is checked the first thing to do will be a
repo forall -c "git reset --hard"
showAllChanges : boolean
(optional)
When this is checked --first-parent
is no longer passed to git log
when determining changesets.
trace : boolean
(optional)
Trace git command execution. This is passed to repo as repo --trace <subcommand>
.
worktree : boolean
(optional)
Use `git worktree` for checkouts (At least, Git version 2.15 is required to avoid dangerous gc bugs). Usefull under Windows because it no longer require symlinks at all.
labels : Array / List of String
step([$class: 'JiraReleaseVersionUpdaterBuilder'])
: Jira: Mark a version as ReleasedjiraProjectKey : String
Specify the project key. A project key is the all capitals part before the issue number in Jira.
(EXAMPLE-100)
jiraRelease : String
jiraDescription : String
step([$class: 'JiraVersionCreatorBuilder'])
: Jira: Create new versionjiraVersion : String
jiraProjectKey : String
Specify the project key. A project key is the all capitals part before the issue number in Jira.
(EXAMPLE-100)
step([$class: 'MavenInvokerRecorder'])
: Maven Invoker Plugin ResultsreportsFilenamePattern : String
This is a file name pattern that can be used to locate the Maven Invoker report files (for example **/target/invoker-reports/BUILD*.xml).
invokerBuildDir : String
This is the directory where Maven Invoker runs. It is used to find the builds logs (for example **/target/its).
step([$class: 'NSNDIntegrationResultsPublisher'])
: NS/NC-ND Integration Performance PublishernsIntegrationUri : String
nsUsername : String
nsPassword : String
ndIntegrationUri : String
ndUsername : String
ndPassword : String
base1StartTime : String
base1EndTime : String
base2StartTime : String
base2EndTime : String
base3StartTime : String
base3EndTime : String
checkProfilePath : String
criThreshold : String
warThreshold : String
failThreshold : String
timePeriod : String
curStartTimeAbsolute : String
curEndTimeAbsolute : String
curStartTimeElapsed : String
curEndTimeElapsed : String
phase : String
base1MSRName : String
base2MSRName : String
base3MSRName : String
step([$class: 'NetDiagnosticsResultsPublisher'])
: NetDiagnostics Performance PublishernetdiagnosticsUri : String
username : String
password : String
base1StartTime : String
base1EndTime : String
base2EndTime : String
base2StartTime : String
base3StartTime : String
base3EndTime : String
checkProfilePath : String
criThreshold : String
warThreshold : String
failThreshold : String
curStartTime : String
curEndTime : String
base1MSRName : String
base2MSRName : String
base3MSRName : String
profile : String
step([$class: 'NetStormResultsPublisher'])
: NetStorm/NetCloud Performance PublishernetstormUri : String
username : String
password : String
htmlTable
class net.sf.json.JSONObject
project : String
subProject : String
scenario : String
durationReport : boolean
profile : String
timeout : String
perfpublisher
: Activate PerfPublisher for this projectname : String
threshold : String
unstableThreshold : String
healthy : String
unhealthy : String
metrics : String
parseAllMetrics : boolean
step([$class: 'Publisher'])
: Publish TestNG ResultsescapeExceptionMsg : boolean
(optional)
If checked, the plug-in escapes the test method's exception messages.
If unchecked, this allows you to use HTML tags to format the exception message e.g. embed links in the text. (Enabled by default)
However, if this field is unchecked, you are vulnerable to a cross-site scripting attack through an HTML exception message.
escapeTestDescp : boolean
(optional)
If checked, the plug-in escapes the description string associated with the test method while displaying test method details.
If unchecked, this allows you to use HTML tags to format the description. (Enabled by default)
However, if this field is unchecked, you are vulnerable to a cross-site scripting attack through an HTML test description.
failedFails : int
(optional)
A build is marked FAILURE if the number/percentage of failed tests exceeds the specified threshold.
failedSkips : int
(optional)
A build is marked FAILURE if the number/percentage of skipped tests exceeds the specified threshold.
failureOnFailedTestConfig : boolean
(optional)
Allows for a distinction between failing tests and failing configuration methods. Failing tests can be seen as an unstable build whereas failing configuration methods are a failed build. This will trump any settings in Thresholds section.
reportFilenamePattern : String
(optional)
This is a file name pattern that can be used to locate the TestNG XML report files (for example **/target/testng-results.xml).
The path is an Ant-style pattern (e.g. fileset) or a list of files and folders separated by the characters ;:,
TestNG must be configured to generate XML reports using org.testng.reporters.XMLReporter for this plug-in to function.
showFailedBuilds : boolean
(optional)
If checked, the plug-in includes results from failed builds in the trend graph. (Disabled by default)
Note:
-Dmaven.test.failure.ignore=true
option. This results in build with test failures being marked as Unstable, thus distinguishing it from build that failed because of non test related issuesthresholdMode : int
(optional)
unstableFails : int
(optional)
A build is marked UNSTABLE if the number/percentage of failed tests exceeds the specified threshold.
unstableSkips : int
(optional)
A build is marked UNSTABLE if the number/percentage of skipped tests exceeds the specified threshold.
qyWechatNotification
: 企业微信通知failNotify : boolean
(optional)
mentionedId : String
(optional)
mentionedMobile : String
(optional)
webhookUrl : String
(optional)
step([$class: 'RcovPublisher'])
: Publish Rcov reportreportDir : String
targets
(optional)
metric
TOTAL_COVERAGE
, CODE_COVERAGE
healthy : int
unhealthy : int
unstable : int
s3Upload
: Publish artifacts to S3 BucketprofileName : String
entries
bucket : String
sourceFile : String
excludedFile : String
storageClass : String
selectedRegion : String
noUploadOnFailure : boolean
uploadFromSlave : boolean
managedArtifacts : boolean
useServerSideEncryption : boolean
flatten : boolean
gzipFiles : boolean
keepForever : boolean
showDirectlyInBrowser : boolean
userMetadata
key : String
value : String
userMetadata
key : String
value : String
dontWaitForConcurrentBuildCompletion : boolean
consoleLogLevel : String
pluginFailureResultConstraint : String
dontSetBuildResultOnFailure : boolean
step([$class: 'ScoveragePublisher'])
: Publish Scoverage ReportreportDir : String
reportFile : String
step([$class: 'TargetPlatformPublisher'])
: Archive and publish an Eclipse Target PlatformarchiveArtifacts artifacts: '**/*.txt',
allowEmptyArchive: true,
fingerprint: true,
onlyIfSuccessful: true
artifacts : String
","
(comma) is the only supported separator. The base directory is the workspace. You can only archive files that are located in your workspace.
Here are some examples of usage for pipeline:
archiveArtifacts artifacts: 'target/*.jar'
archiveArtifacts artifacts: 'target/*.jar, target/*.war'
archiveArtifacts artifacts: '**/*.jar'
latestOnly : boolean
targetPlatformName : String
excludes : String
(optional)
allowEmptyArchive : boolean
(optional)
caseSensitive : boolean
(optional)
org.apache.tools.ant.DirectoryScanner
which by default is case sensitive. For instance, if the job produces *.hpi files, pattern "**/*.HPI" will fail to find them.defaultExcludes : boolean
(optional)
fingerprint : boolean
(optional)
followSymlinks : boolean
(optional)
onlyIfSuccessful : boolean
(optional)
step([$class: 'ValgrindPublisher'])
: Publish Valgrind resultspattern : String
failThresholdInvalidReadWrite : String
failThresholdDefinitelyLost : String
failThresholdTotal : String
unstableThresholdInvalidReadWrite : String
unstableThresholdDefinitelyLost : String
unstableThresholdTotal : String
sourceSubstitutionPaths : String
publishResultsForAbortedBuilds : boolean
publishResultsForFailedBuilds : boolean
failBuildOnMissingReports : boolean
failBuildOnInvalidReports : boolean
step([$class: 'VectorCASTPublisher'])
: Record VectorCAST Coverage Informationincludes : String
(optional)
useThreshold : boolean
(optional)
healthyTarget
(optional)
minStatement : int
maxStatement : int
minBranch : int
maxBranch : int
minBasisPath : int
maxBasisPath : int
minMCDC : int
maxMCDC : int
minFunction : int
maxFunction : int
minFunctionCall : int
maxFunctionCall : int
unhealthyTarget
(optional)
minStatement : int
maxStatement : int
minBranch : int
maxBranch : int
minBasisPath : int
maxBasisPath : int
minMCDC : int
maxMCDC : int
minFunction : int
maxFunction : int
minFunctionCall : int
maxFunctionCall : int
healthReports
(optional)
minStatement : int
maxStatement : int
minBranch : int
maxBranch : int
minBasisPath : int
maxBasisPath : int
minMCDC : int
maxMCDC : int
minFunction : int
maxFunction : int
minFunctionCall : int
maxFunctionCall : int
zulipNotification
: Zulip NotificationsmartNotification : String
(optional)
stream : String
(optional)
topic : String
(optional)
withCredentials
: Bind credentials to variablesAllows various kinds of credentials (secrets) to be used in idiosyncratic ways. (Some steps explicitly ask for credentials of a particular kind, usually as a credentialsId
parameter, in which case this step is unnecessary.) Each binding will define an environment variable active within the scope of the step. You can then use them directly from any other steps that expect environment variables to be set:
node {
withCredentials([usernameColonPassword(credentialsId: 'mylogin', variable: 'USERPASS')]) {
sh '''
set +x
curl -u "$USERPASS" https://private.server/ > output
'''
}
}
As another example (use Snippet Generator to see all options):
node {
withCredentials([string(credentialsId: 'mytoken', variable: 'TOKEN')]) {
sh '''
set +x
curl -H "Token: $TOKEN" https://some.api/
'''
}
}
Note the use of single quotes to define the script
(implicit parameter to sh
) in Groovy above. You want the secret to be expanded by the shell as an environment variable. The following idiom is potentially less secure, as the secret is interpolated by Groovy and so (for example) typical operating system process listings will accidentally disclose it:
node {
withCredentials([string(credentialsId: 'mytoken', variable: 'TOKEN')]) {
sh /* WRONG! */ """
set +x
curl -H 'Token: $TOKEN' https://some.api/
"""
}
}
At least on Linux, environment variables can be obtained by other processes running in the same account, so you should not run a job which uses secrets on the same node as a job controlled by untrusted parties. In any event, you should always prefer expansion as environment variables to inclusion in the command, since Jenkins visualizations such as Blue Ocean will attempt to detect step parameters containing secrets and refuse to display them.
The secret(s) will be masked (****
) in case they are printed to the build log. This prevents you from accidentally disclosing passwords and the like via the log. (Bourne shell set +x
, or Windows batch @echo off
, blocks secrets from being displayed in echoed commands; but build tools in debug mode might dump all environment variables to standard output/error, or poorly designed network clients might display authentication, etc.) The masking could of course be trivially circumvented; anyone permitted to configure a job or define Pipeline steps is assumed to be trusted to use any credentials in scope however they like.
Beware that certain tools mangle secrets when displaying them. As one example, Bash (as opposed to Ubuntu’s plainer Dash) does so with text containing '
in echo mode:
$ export PASS=foo"'"bar
$ env|fgrep PASS
PASS=foo'bar
$ sh -xc 'echo $PASS'
+ echo foo'bar
foo'bar
$ bash -xc 'echo $PASS'
+ echo 'foo'\''bar'
foo'bar
Mangled secrets can only be detected on a best-effort basis. By default, Jenkins will attempt to mask mangled secrets as they would appear in output of Bourne shell, Bash, Almquist shell and Windows batch. Without these strategies in place, mangled secrets would appear in plain text in log files. In the example above, this would result in:
+ echo 'foo'\''bar'
****
This particular issue can be more safely prevented by turning off echo with set +x
or avoiding the use of shell metacharacters in secrets.
For bindings which store a secret file, beware that
node {
dir('subdir') {
withCredentials([file(credentialsId: 'secret', variable: 'FILE')]) {
sh 'use $FILE'
}
}
}
is not safe, as $FILE
might be inside the workspace (in subdir@tmp/secretFiles/
), and thus visible to anyone able to browse the job’s workspace. If you need to run steps in a different directory than the usual workspace, you should instead use
node {
withCredentials([file(credentialsId: 'secret', variable: 'FILE')]) {
dir('subdir') {
sh 'use $FILE'
}
}
}
to ensure that the secrets are outside the workspace; or choose a different workspace entirely:
node {
ws {
withCredentials([file(credentialsId: 'secret', variable: 'FILE')]) {
sh 'use $FILE'
}
}
}
Also see the Limitations of Credentials Masking blog post for more background.
bindings
aws
accessKeyVariable : String
AWS_ACCESS_KEY_ID
will be used.
secretKeyVariable : String
AWS_SECRET_ACCESS_KEY
will be used.
credentialsId : String
roleArn : String
(optional)
roleSessionDurationSeconds : int
(optional)
roleSessionName : String
(optional)
token
variable : String
credentialsId : String
$class: 'AwsBucketCredentialsBinding'
usernameVariable : String
passwordVariable : String
credentialsId : String
certificate
ps e
.
keystoreVariable : String
credentialsId : String
aliasVariable : String
(optional)
passwordVariable : String
(optional)
ConjurSecretApplianceCredentials
credentialsId : String
sPath : String
(optional)
variable : String
(optional)
conjurSecretCredential
credentialsId : String
variable : String
(optional)
conjurSecretUsername
credentialsId : String
passwordVariable : String
(optional)
usernameVariable : String
(optional)
conjurSecretUsernameSSHKey
credentialsId : String
secretVariable : String
(optional)
usernameVariable : String
(optional)
dockerCert
variable : String
{ca,cert,key}.pem
files will be created.DOCKER_CERT_PATH
, which will be understood by the docker client binary.credentialsId : String
file
variable : String
credentialsId : String
gitUsernamePassword
gitToolName : String
Specify the Git tool installation name
credentialsId : String
Shell example
withCredentials([gitUsernamePassword(credentialsId: 'my-credentials-id', gitToolName: 'git-tool')]) { sh 'git fetch --all' }
Batch example
withCredentials([gitUsernamePassword(credentialsId: 'my-credentials-id', gitToolName: 'git-tool')]) { bat 'git submodule update --init --recursive' }
Powershell example
withCredentials([gitUsernamePassword(credentialsId: 'my-credentials-id', gitToolName: 'git-tool')]) { powershell 'git push' }
$class: 'KeychainPasswordAndPathBinding'
keychainPathVariable : String
passwordVariable : String
inSearchPathVariable : String
credentialsId : String
kubeconfigContent
variable : String
credentialsId : String
kubeconfigFile
variable : String
credentialsId : String
OSFBuilderSuiteOpenCommerceAPICredentials
clientIdVariable : String
clientPasswordVariable : String
credentialsId : String
sshUserPrivateKey
keyFileVariable : String
credentialsId : String
passphraseVariable : String
(optional)
usernameVariable : String
(optional)
string
ps e
.
variable : String
credentialsId : String
OSFBuilderSuiteTwoFactorAuthCredentials
serverCertificateVariable : String
clientCertificateVariable : String
clientPrivateKeyVariable : String
credentialsId : String
usernameColonPassword
:
).
ps e
.
variable : String
credentialsId : String
usernamePassword
ps e
.
usernameVariable : String
passwordVariable : String
credentialsId : String
$class: 'VaultCertificateCredentialsBinding'
keyStoreVariable : String
passwordVariable : String
credentialsId : String
vaultFile
variable : String
credentialsId : String
$class: 'VaultSSHUserPrivateKeyBinding'
usernameVariable : String
privateKeyVariable : String
passphraseVariable : String
credentialsId : String
vaultString
variable : String
credentialsId : String
$class: 'VaultTokenCredentialBinding'
addrVariable : String
tokenVariable : String
credentialsId : String
vaultAddr : String
namespaceVariable : String
(optional)
vaultNamespace : String
(optional)
$class: 'VaultUsernamePasswordCredentialBinding'
usernameVariable : String
passwordVariable : String
credentialsId : String
zip
variable : String
credentialsId : String
azureServicePrincipal
credentialsId : String
clientIdVariable : String
(optional)
clientSecretVariable : String
(optional)
subscriptionIdVariable : String
(optional)
tenantIdVariable : String
(optional)
azureStorage
credentialsId : String
blobEndpointUrlVariable : String
(optional)
storageAccountKeyVariable : String
(optional)
storageAccountNameVariable : String
(optional)
wrap([$class: 'LogfilesizecheckerWrapper'])
: Abort the build if its log file size is too bigmaxLogSize : int
failBuild : boolean
setOwn : boolean
Please submit your feedback about this page through this quick form.
Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?
See existing feedback here.