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.
$class: 'BacklogPullRequestSCMSource'remote : String
credentialsId : String
includes : String
excludes : String
ignoreOnPushNotifications : boolean
url : String
apiKey : String
API key when using Backlog API version 2.
id : String (optional)
browser (optional)
assemblarepoUrl : String
$class: 'BacklogGitRepositoryBrowser'repoName : String
repoUrl : String
bitbucketServerrepoUrl : String
bitbucketrepoUrl : String
cgitrepoUrl : String
fisheyerepoUrl : String
gitblitrepoUrl : String
projectName : String
$class: 'GitBucketBrowser'url : String
gitLabrepoUrl : String
version : String (optional)
gitLabBrowserhttps://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
gitListrepoUrl : String
gitWebrepoUrl : 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
githubrepoUrl : String
gitilesrepoUrl : String
$class: 'GitoriousWeb'repoUrl : String
gogsrepoUrl : String
kilnrepoUrl : String
phabricatorrepoUrl : String
repo : String
redminerepoUrl : String
rhodeCoderepoUrl : String
$class: 'ScmManagerGitRepositoryBrowser'repoUrl : String
jbSpacerepoUrl : String
$class: 'Stash'repoUrl : String
teamFoundationrepoUrl : String
If TFS is also used as the repository server, this can usually be left blank.
$class: 'TracGitRepositoryBrowser'$class: 'TuleapBrowser'repositoryUrl : String
viewgitrepoUrl : String
projectName : String
extensions (optional)
authorInChangelog$class: 'BitbucketEnvVarExtension'owner : String
repository : String
projectKey : String
serverURL : String
$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'buildSingleRevisionOnlychangelogToBranchoptions
compareRemote : String
origin, that contains the branch you specify below.
compareTarget : String
checkoutOptiontimeout : int
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.
cleanAfterCheckout.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.
cloneOptionshallow : 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: 'FallbackToOtherRepositoryGitSCMExtension'cloneLink : String
remoteName : String
branchWithHashes
class com.cloudbees.jenkins.plugins.bitbucket.BranchWithHashfirstBuildChangelogmakeChangelog : boolean (optional)
$class: 'GitClientAuthenticatorExtension'url : String
serverURL : String
scmOwner : String
credentialsId : String
lfs$class: 'GitSCMChecksExtension'verboseConsoleLog : boolean (optional)
$class: 'GitSCMStatusChecksExtension'name : String (optional)
skip : boolean (optional)
skipProgressUpdates : boolean (optional)
suppressLogs : boolean (optional)
unstableBuildNeutral : boolean (optional)
$class: 'GitTagMessageExtension'If the revision has more than one tag associated with it, only the most recent tag will be taken into account, unless the refspec contains "refs/tags/" — i.e. builds are only triggered when certain tag names or patterns are matched — in which case the exact tag name that triggered the build will be used, even if it's not the most recent tag for this commit.
For this reason, if you're not using a tag-specific refspec but you are using the "Create a tag for every build" behaviour, you should make sure that the build-tagging behaviour is configured to run after this "export git tag message" behaviour.
Tag and commit messages which span multiple lines are no problem, though only the first 10000 lines of a tag's message will be exported.
useMostRecentTag : boolean (optional)
$class: 'IgnoreNotifyCommit'localBranchIf 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
Exclusion uses Pattern matching
.*\[maven-release-plugin\].*The example above illustrates that if only revisions with "[maven-release-plugin]" message in first comment line have been committed to the SCM a build will not occur.
You can create more complex patterns using embedded flag expressions.
(?s).*FOO.*This example will search FOO message in all comment lines.
$class: 'PathRestriction'Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.
includedRegions : String
myapp/src/main/web/.*\.html
myapp/src/main/web/.*\.jpeg
myapp/src/main/web/.*\.gif
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.
excludedRegions : String
myapp/src/main/web/.*\.html
myapp/src/main/web/.*\.jpeg
myapp/src/main/web/.*\.gif
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.
perBuildTag$class: 'PreBuildMerge'options
mergeTarget : String
master.
fastForwardMode (optional)
FF, FF_ONLY, NO_FFmergeRemote : 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_THEIRSpretestedIntegrationgitIntegrationStrategy
accumulatedshortCommitMessage : boolean (optional)
ffonlyshortCommitMessage : boolean (optional)
squashintegrationBranch : 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
pruneStaleBranchpruneTagspruneTags : 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
sparseCheckoutSpecify 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
submoduledepth : int (optional)
disableSubmodules : boolean (optional)
parentCredentials : boolean (optional)
recursiveSubmodules : boolean (optional)
reference : String (optional)
git init --bare git remote add SubProject1 https://gitrepo.com/subproject1 git remote add SubProject2 https://gitrepo.com/subproject2 git fetch --all
shallow : boolean (optional)
threads : int (optional)
timeout : int (optional)
trackingSubmodules : boolean (optional)
$class: 'UserExclusion'excludedUsers : String
Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.
Each exclusion uses exact string comparison and must be separated by a new line. User names are only excluded if they exactly match one of the names in this list.
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 (optional)
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.