Pipeline: SCM Step

checkout: General SCM

This is a special step that allows to run checkouts using any configuration options offered by any Pipeline-compatible SCM plugin. To use a concrete SCM implementations, just install the corresponding plugin and check if it is shown in the list below. Then select the SCM to use from the dropdown list and configure it as needed.

This step returns a Map of any variables the SCM plugin would set in a Freestyle job, so if your SCM is git, you can do:

        def scmVars = checkout scm
        def commitHash = scmVars.GIT_COMMIT

        // or

        def commitHash = checkout(scm).GIT_COMMIT
    

Any other specific step to run checkouts (like svn or git) are simplistic options of this step.

scm

Nested Choice of Objects $class: AWSCodePipelineSCM name:::

+ Type: String

clearWorkspace

Type: boolean

region

Type: String

awsAccessKey

In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.

Type: String

awsSecretKey

>In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.

Type: String

proxyHost

You might need a proxy host address if you are hosting Jenkins on a private network. The proxy name can be an IP address or DNS address. The AWS CodePipeline Plugin for Jenkins requires internet access. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.

Type: String

proxyPort

You might need a proxy port for your proxy host address if you are hosting Jenkins on a private network. The proxy port is a number, might be on port 8080, 3128, or 8443, depending on your network protocols and security settings. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.

Type: String

category

This is the category of the action type in AWS CodePipeline, and is usually either Build or Test. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.

Type: String

provider

This is the provider name of the action type in AWS CodePipeline. You must provide this exact string when adding an action for Jenkins in AWS CodePipeline. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.

Type: String

version

Leave the default as 1.

Type: String

$class: AccurevSCM serverUUID:::

+ Type: String

depot

Type: String

stream

Type: String

accurevTool (optional)

Type: String

cleanreftree (optional)

Type: boolean

directoryOffset (optional)

Type: String

dontPopContent (optional)

Type: boolean

filterForPollSCM (optional)

Type: String

ignoreStreamParent (optional)

Type: boolean

reftree (optional)

Type: String

serverName (optional)

Type: String

snapshotNameFormat (optional)

Type: String

subPath (optional)

Type: String

synctime (optional)

Type: boolean

useSnapshot (optional)

Type: boolean

workspace (optional)

Type: String

wspaceORreftree (optional)

Type: String

$class: BazaarSCM source:::

+ Type: String

cleantree

Type: boolean

browser

Nested Choice of Objects $class: Loggerhead url::::

+

Loggerhead is a web-based interface for Bazaar branches. It is used by Launchpad, so if your code is hosted on Launchpad, you are using Loggerhead.
The repository browser URL for the root of the project. For example, a Launchpad project called myproject would use http://bazaar.launchpad.net/~myteam/myproject/mybranch.

Type: String

$class: OpenGrok url::::

+

The repository browser URL for the root of the project. For example, the OpenGrok project would use http://src.opensolaris.org/source/.

Type: String

rootModule
Specify the root Bazaar module that this OpenGrok monitors. For example, for http://src.opensolaris.org/source/xref/opengrok/trunk/, this field would be opengrok/trunk/ because it displays the directory "/opengrok/trunk/".

Type: String

checkout

Type: boolean

$class: BitKeeperSCM parent:::

+ Type: String

localRepository

Type: String

usePull

Type: boolean

quiet

Type: boolean

$class: BlameSubversionSCM

if it is false and the build is not triggered by upstream job,

the plugin will not collect any svn info from upstream job.

else the plugin will collect svn info from latest upstream job

alwaysCollectSVNInfo

Type: boolean

$class: CCUCMScm loadModule:::

+ Type: String

newest

Type: boolean

mode

Nested Choice of Objects $class: PollChildMode levelToPoll::::

+ Type: String

component (optional)

Type: String

createBaseline (optional)

Check this if you want create a baseline after a completed deliver.

This is only applicable for child and sibling poll mode.

Type: boolean

newest (optional)
Selects the newest baseline on the stream. Skipping intermediates.

Type: boolean

$class: PollRebaseMode levelToPoll::::

+ Type: String

component (optional)
The component used to figure out the correct baseline to recommend due to the following bug:
http://www-01.ibm.com/support/docview.wss?uid=swg21269043

Type: String

createBaseline (optional)

Type: boolean

excludeList (optional)

Type: String

$class: PollSelfMode levelToPoll::::

+ Type: String

component (optional)

Type: String

newest (optional)
Selects the newest baseline on the stream. Skipping intermediates.

Type: boolean

$class: PollSiblingMode levelToPoll::::

+ Type: String

component (optional)

Type: String

createBaseline (optional)

Check this if you want create a baseline after a completed deliver.

This is only applicable for child and sibling poll mode.

Type: boolean

newest (optional)
Selects the newest baseline on the stream. Skipping intermediates.

Type: boolean

useHyperLinkForPolling (optional)
Instead of using the integration streams default deliver target. Use the value specified in the hyperlink. The hyperlink type to be used can be configured in the global configuration.

Type: boolean

$class: PollSubscribeMode levelToPoll::::

+ Type: String

componentsToMonitor

Array/List

Nested Object

componentSelection:

Type: String

jobsToMonitor

Array/List

Nested Object

jobname:

Type: String

ignores:
A comma seperated list of components which should not be included when checking if the requirements are met. That is to say that not all components are interesting in every job specified.

Type: String

jobName (optional):
Specifies the name of the job in which all selected baselines must be present.

Type: String

cascadePromotion (optional)

Type: boolean

component (optional)

Type: String

newest (optional)

Type: boolean

stream
Specify the stream you want to poll for with ClearCase UCM SCM. Syntax: [stream]@[PVOB]

Type: String

treatUnstable

Type: String

nameTemplate

Type: String

forceDeliver

Type: boolean

recommend

Type: boolean

makeTag

Type: boolean

setDescription

Type: boolean

buildProject

Type: String

removeViewPrivateFiles

Type: boolean

trimmedChangeSet

Type: boolean

discard

Type: boolean

$class: CVSSCM repositories:::

+ Array/List

Nested Object

cvsRoot
The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)

Type: String

passwordRequired

Type: boolean

password

Type: String

repositoryItems

Array/List

Nested Object

location:

Nested Choice of Objects $class: BranchRepositoryLocation branchName::::::

+ Type: String

useHeadIfNotFound::

Type: boolean

$class: HeadRepositoryLocation $class: TagRepositoryLocation tagName::::::

+ Type: String

useHeadIfNotFound::

Type: boolean

modules:

Array/List

Nested Object

remoteName::
The name of the module in the repository at CVSROOT

Type: String

localName::
The name to be applied to this module in the local workspace. If this is left blank then the remote module name will be used. This is similar to the 'checkout-as' function available on many CVS clients.

Type: String

projectsetFileName::
The name of the file in this module to parse for projectset entries.

Type: String

excludedRegions
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders in this list when determining if a build needs to be triggered.

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

	 src/main/web/.*\.html
	 src/main/web/.*\.jpeg
	 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.

More information on regular expressions can be found here.

Array/List

Nested Object

pattern:

Type: String

compressionLevel

Type: int

repositoryBrowser

Nested Choice of Objects $class: FishEyeCVS url:::::

+

Specify the root URL of FishEye for this repository (such as this.)

Type: String

$class: OpenGrok url:::::

+

Specify the root URL of OpenGrok for this repository.

Type: String

$class: ViewCVS url:::::

+

Specify the root URL of ViewCVS for this repository (such as this).

Type: String

canUseUpdate
If checked, Jenkins will use 'cvs update' whenever possible for builds. This makes a build faster. But this also causes the artifacts from the previous build to remain in the file system when a new build starts, making it not a true clean build.

Type: boolean

legacy
Hudson 1.20 and earlier used to create redundant directories inside the workspace. For example, if the CVS module name is "foo/bar", it first created "foo/bar" and then put everything below. With this option checked off, there will be no more such unnecessary intermediate directories.

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".

Type: boolean

skipChangeLog
Prevent the changelog being generated after checkout has completed. This will stop any changes being shown on the changes screen but reduces load on your CVS server.

Type: boolean

pruneEmptyDirectories
Remove empty directories after checkout using the CVS '-P' option.

Type: boolean

disableCvsQuiet
Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.

Type: boolean

cleanOnFailedUpdate
If the job is configured to use CVS update and the update step fails for any reason then the workspace will be wiped-out and a clean checkout done instead.

Type: boolean

forceCleanCopy
If checked, Jenkins will add the 'C' option to the CVS update command to force it to over-write any files with local modifications, rather than attempt a merge or leave them as they are.

Type: boolean

checkoutCurrentTimestamp
Advanced option. Should probably be left unchecked.

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.

Type: boolean

$class: ClearCaseSCM branch:::

+ Type: String

label

Type: String

extractConfigSpec

Type: boolean

configSpecFileName

Type: String

refreshConfigSpec

Type: boolean

refreshConfigSpecCommand

Type: String

configSpec

Type: String

viewTag

Type: String

useupdate

Type: boolean

extractLoadRules

Type: boolean

loadRules

Type: String

useOtherLoadRulesForPolling

Type: boolean

loadRulesForPolling

Type: String

usedynamicview

Type: boolean

viewdrive

Type: String

mkviewoptionalparam

Type: String

filterOutDestroySubBranchEvent

Type: boolean

doNotUpdateConfigSpec

Type: boolean

rmviewonrename

Type: boolean

excludedRegions

Type: String

multiSitePollBuffer

Type: String

useTimeRule

Type: boolean

createDynView

Type: boolean

viewPath

Type: String

changeset

Values:

  • ALL

  • BRANCH

  • NONE

  • UPDT

viewStorage

Three strategies are currently available to manage view storage location.

  • Default. This entry doesn't generate any additional argument to the cleartool mkview command. The behaviour will change depending on how your clearcase server is configured.
  • Use server storage location. This entry generates a -stgloc argument to the cleartool mkview command.
  • Use explicit path. This entry generates a -vws argument to the cleartool mkview command.

Nested Choice of Objects $class: DefaultViewStorage $class: ServerViewStorage assignedLabelString::::

+

Label expression used to populate view storage location dropdown.

Type: String

server

The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.

Type: String

$class: SpecificViewStorage winStorageDir::::

+ Type: String

unixStorageDir

Type: String

$class: ClearCaseUcmBaselineSCM

When used (and fully set up), this option will display a field at build-time so that the user is able to select a ClearCase UCM baseline from which to download the content for this project.

$class: ClearCaseUcmSCM stream:::

+ Type: String

loadrules

Type: String

viewTag

Type: String

usedynamicview

Type: boolean

viewdrive

Type: String

mkviewoptionalparam

Type: String

filterOutDestroySubBranchEvent

Type: boolean

useUpdate

Type: boolean

rmviewonrename

Type: boolean

excludedRegions

Type: String

multiSitePollBuffer

Type: String

overrideBranchName

Type: String

createDynView

Type: boolean

freezeCode

Type: boolean

recreateView

Type: boolean

allocateViewName

Type: boolean

viewPath

Type: String

useManualLoadRules

Type: boolean

changeset

Values:

  • ALL

  • BRANCH

  • NONE

  • UPDT

viewStorage

Three strategies are currently available to manage view storage location.

  • Default. This entry doesn't generate any additional argument to the cleartool mkview command. The behaviour will change depending on how your clearcase server is configured.
  • Use server storage location. This entry generates a -stgloc argument to the cleartool mkview command.
  • Use explicit path. This entry generates a -vws argument to the cleartool mkview command.

Nested Choice of Objects $class: DefaultViewStorage $class: ServerViewStorage assignedLabelString::::

+

Label expression used to populate view storage location dropdown.

Type: String

server

The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.

Type: String

$class: SpecificViewStorage winStorageDir::::

+ Type: String

unixStorageDir

Type: String

buildFoundationBaseline

If checked, instead of creating a view on the current stream, the job will look up the current foundation baselines for the given stream and work in readonly on these baselines. If polling is enabled, the build will be triggered every time a new foundation baseline is detected on the given stream.

Type: boolean

$class: CloneWorkspaceSCM parentJobName:::

+ Type: String

criteria

Type: String

$class: CmvcSCM family:::

+ Type: String

become

Type: String

releases

Type: String

checkoutScript

Type: String

trackViewReportWhereClause

Type: String

$class: ConfigurationRotator acrs:::

+ Nested Choice of Objects $class: ClearCaseUCM pvobName::::

+ Type: String

contribute

Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.

Type: boolean

targets

Array/List

Nested Object

baselineName:

Type: String

level:

Values:

  • INITIAL

  • BUILT

  • TESTED

  • RELEASED

  • REJECTED

    fixed:

    Type: boolean

useNewest (optional)

Type: boolean

$class: Git targets::::

+ Array/List

Nested Object

name:

Type: String

repository:

Type: String

branch:

Type: String

commitId:

Type: String

fixed:

Type: boolean

useNewest (optional)

Type: boolean

$class: CvsProjectset repositories:::

+ Array/List

Nested Object

cvsRoot
The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)

Type: String

passwordRequired

Type: boolean

password

Type: String

repositoryItems

Array/List

Nested Object

location:

Nested Choice of Objects $class: BranchRepositoryLocation branchName::::::

+ Type: String

useHeadIfNotFound::

Type: boolean

$class: HeadRepositoryLocation $class: TagRepositoryLocation tagName::::::

+ Type: String

useHeadIfNotFound::

Type: boolean

modules:

Array/List

Nested Object

remoteName::
The name of the module in the repository at CVSROOT

Type: String

localName::
The name to be applied to this module in the local workspace. If this is left blank then the remote module name will be used. This is similar to the 'checkout-as' function available on many CVS clients.

Type: String

projectsetFileName::
The name of the file in this module to parse for projectset entries.

Type: String

excludedRegions
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders in this list when determining if a build needs to be triggered.

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

	 src/main/web/.*\.html
	 src/main/web/.*\.jpeg
	 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.

More information on regular expressions can be found here.

Array/List

Nested Object

pattern:

Type: String

compressionLevel

Type: int

repositoryBrowser

Nested Choice of Objects $class: FishEyeCVS url:::::

+

Specify the root URL of FishEye for this repository (such as this.)

Type: String

$class: OpenGrok url:::::

+

Specify the root URL of OpenGrok for this repository.

Type: String

$class: ViewCVS url:::::

+

Specify the root URL of ViewCVS for this repository (such as this).

Type: String

canUseUpdate
If checked, Jenkins will use 'cvs update' whenever possible for builds. This makes a build faster. But this also causes the artifacts from the previous build to remain in the file system when a new build starts, making it not a true clean build.

Type: boolean

username
This username will be used for the checkout of any modules parsed from the projectset file if no match was found against the parsed CVSROOT using the globally configured authentication.

Type: String

password
This password will be used for the checkout of any modules parsed from the projectset file if no match was found against the parsed CVSROOT using the globally configured authentication.

Type: String

browser

Nested Choice of Objects $class: FishEyeCVS url::::

+

Specify the root URL of FishEye for this repository (such as this.)

Type: String

$class: OpenGrok url::::

+

Specify the root URL of OpenGrok for this repository.

Type: String

$class: ViewCVS url::::

+

Specify the root URL of ViewCVS for this repository (such as this).

Type: String

skipChangeLog
Prevent the changelog being generated after checkout has completed. This will stop any changes being shown on the changes screen but reduces load on your CVS server.

Type: boolean

pruneEmptyDirectories
Remove empty directories after checkout using the CVS '-P' option.

Type: boolean

disableCvsQuiet
Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.

Type: boolean

cleanOnFailedUpdate
If the job is configured to use CVS update and the update step fails for any reason then the workspace will be wiped-out and a clean checkout done instead.

Type: boolean

forceCleanCopy

Type: boolean

$class: DarcsScm source:::

+ Type: String

localDir

Type: String

clean

Type: boolean

browser

Nested Choice of Objects $class: DarcsWeb url::::

+ Type: String

repo

Type: String

$class: Darcsden url::::

+ Type: String

$class: DelegateSCM clazz:::

+ Type: String

$class: DimensionsSCM project:::

+ Type: String

folders

Array/List

Type: String

pathsToExclude

Array/List

Type: String

workarea

Type: String

canJobDelete

Type: boolean

canJobForce

Type: boolean

canJobRevert

Type: boolean

jobUserName

Type: String

jobPasswd

Type: String

jobServer

Type: String

jobDatabase

Type: String

canJobUpdate

Type: boolean

jobTimeZone

Type: String

jobWebUrl

Type: String

directory

Type: String

permissions

Type: String

eol

Type: String

canJobExpand

Type: boolean

canJobNoMetadata

Type: boolean

canJobNoTouch

Type: boolean

forceAsSlave

Type: boolean

$class: DrushMakefileSCM makefile:::

+

Specify the content of the Makefile. Support for YAML Makefiles depends on the version of Drush you have installed.

This example will generate a vanilla Drupal 7.38:

    api=2
    core=7.x
    projects[drupal][version]=7.38
    

Type: String

root
Specify a local directory for the Drupal root (relative to the workspace root).

Type: String

$class: EndevorConfiguration hostPort:::

+

The host address and port number for the mainframe server. The host and port must be separated by a ':' character.

Type: String

filterPattern
Filter pattern used by the mainframe to determine which Endevor elements to download. Multiple filters can be defined, one filter per line. Each filter must be in the format Environment.System.Subsystem.Type.Stage.Element. Use * as wildcards. Wildcards can only be used at the end of each classification piece of the Endevor element. Wildcarding the stage will download the latest revision of an element.

Type: String

fileExtension
File extension assigned to checked-out datasets. All datasets will be assigned the same file extension. If you want to use multiple fileextensions, multiple jobs must be created.

Type: String

credentialsId
The available credentials to use for logging onto the host. Alternatively, click Add to add credentials using the Credentials Plugin. Refer to the Jenkins documentation for the Credentials Plugin.

Type: String

codePage
The code page to be used for this connection. The code page is used to translate data sent to and from the host. The default is 1047.

Type: String

$class: FeatureBranchAwareMercurialSCM installation:::

+ Type: String

source
Specify the repository to track. This can be URL or a local file path.

Type: String

branch
Specify the branch name if you'd like to track a specific branch in a repository. Leave this field empty otherwise, to track the "default" branch.

Type: String

modules
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)

Type: String

subdir
If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.

Type: String

browser

Nested Choice of Objects $class: BitBucket url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: FishEye url::::

+

Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/

Type: String

$class: GoogleCode url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: HgWeb url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: Kallithea url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: KilnHG url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCode url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCodeLegacy url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

clean
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.

Type: boolean

branchPattern

Type: String

$class: GitSCM userRemoteConfigs:::

+

Specify the repository to track. This can be a URL or a local file path. Note that for super-projects (repositories with submodules), only a local file path or a complete URL is valid. The following are examples of valid git URLs.
  • ssh://git@github.com/github/git.git
  • git@github.com:github/git.git (short notation for ssh protocol)
  • ssh://user@other.host.com/~/repos/R.git (to access the repos/R.git repository in the user's home directory)
  • https://github.com/github/git.git
  • git://github.com/github/git.git

If the repository is a super-project, the location from which to clone submodules is dependent on whether the repository is bare or non-bare (i.e. has a working directory).
  • If the super-project is bare, the location of the submodules will be taken from .gitmodules.
  • If the super-project is not bare, it is assumed that the repository has each of its submodules cloned and checked out appropriately. Thus, the submodules will be taken directly from a path like ${SUPER_PROJECT_URL}/${SUBMODULE}, rather than relying on information from .gitmodules.
For a local URL/path to a super-project, git rev-parse --is-bare-repository is used to detect whether the super-project is bare or not.
For a remote URL to a super-project, the ending of the URL determines whether a bare or non-bare repository is assumed:
  • If the remote URL ends with /.git, a non-bare repository is assumed.
  • If the remote URL does NOT end with /.git, a bare repository is assumed.

Array/List

Nested Object

url
Specify the URL of this remote repository. This uses the same syntax as your git clone command.

Type: String

name
ID of the repository, such as origin, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote command. If left empty, Jenkins will generate unique names for you.

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

Type: String

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

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

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

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

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

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

Type: String

credentialsId

Type: String

branches

Array/List

Nested Object

name

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

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

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

.

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

Possible options:

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

Type: String

doGenerateSubmoduleConfigurations

Type: boolean

submoduleCfg

Array/List

hudson.plugins.git.SubmoduleConfig

browser

Nested Choice of Objects $class: AssemblaWeb repoUrl::::

+ Type: String

$class: BacklogGitRepositoryBrowser repoName::::

+ Type: String

url
Set the project URL of Repository Browser used with this project. Sample of URL are shown below.
  • https://demo.backlog.jp/projects/DORA

When no value is set, project of "Backlog URL" set above is used.

Type: String

$class: BitbucketWeb repoUrl::::

+ Type: String

$class: CGit repoUrl::::

+ Type: String

$class: FisheyeGitRepositoryBrowser repoUrl::::

+ Type: String

$class: GitBlitRepositoryBrowser repoUrl::::

+ Type: String

projectName
Specify the name of the project in GitBlit

Type: String

$class: GitBucketBrowser url::::

+ Type: String

$class: GitLab repoUrl::::

+ Type: String

version
Specify the major and minor version of gitlab you use (such as 3.1).

Type: String

$class: GitList repoUrl::::

+ Type: String

$class: GitWeb repoUrl::::

+ Type: String

$class: GithubWeb repoUrl::::

+ Type: String

$class: Gitiles repoUrl::::

+ Type: String

$class: GitoriousWeb repoUrl::::

+ Type: String

$class: GogsGit repoUrl::::

+ Type: String

$class: KilnGit repoUrl::::

+ Type: String

$class: Phabricator repoUrl::::

+ Type: String

repo
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.exmaple.com/diffusion/foo/browse)

Type: String

$class: RedmineWeb repoUrl::::

+ Type: String

$class: RhodeCode repoUrl::::

+ Type: String

$class: Stash repoUrl::::

+ Type: String

$class: TFS2013GitRepositoryBrowser repoUrl::::

+

Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

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

Type: String

$class: TracGitRepositoryBrowser $class: ViewGitWeb repoUrl::::

+ Type: String

projectName
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)

Type: String

gitTool

Type: String

extensions

Array/List

Nested Choice of Objects $class: AuthorInChangelog

The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

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

$class: BuildChooserSetting

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

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

buildChooser

Nested Choice of Objects $class: AlternativeBuildChooser $class: AncestryBuildChooser maximumAgeInDays:::::

+ Type: int

ancestorCommitSha1:

Type: String

$class: DefaultBuildChooser $class: DeflakeGitBuildChooser $class: GerritTriggerBuildChooser $class: InverseBuildChooser

$class: ChangelogToBranch

This method calculates the changelog against the specified branch.

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

Nested Object

compareRemote:
Name of the repository, such as origin, that contains the branch you specify below.

Type: String

compareTarget:
The name of the branch within the named repository to compare against.

Type: String

$class: CheckoutOption timeout::::

+

Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).

Type: int

$class: CleanBeforeCheckout

Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.

$class: CleanCheckout

Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.

$class: CloneOption shallow::::

+

Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.

Type: boolean

noTags
Perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.

Type: boolean

reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.

Type: String

timeout
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).

Type: int

depth (optional)
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.

Type: int

honorRefspec (optional)
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.

Type: boolean

$class: CodeCommitURLHelper credentialId::::

+ Type: String

repositoryName

Type: String

$class: DisableRemotePoll

Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

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

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).

$class: GitLFSPull $class: GitTagMessageExtension

If the revision checked out has a git tag associated with it, the tag name will be exported during the build as GIT_TAG_NAME.
If a message was specified when creating the tag, then that message will be exported during the build as the GIT_TAG_MESSAGE environment variable.
If no tag message was specified, the commit message will be used.

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.

$class: IgnoreNotifyCommit

If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.

$class: LocalBranch

If given, checkout the revision to build as HEAD on this branch.

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

Please note that this has not been tested with submodules.

localBranch

Type: String

$class: MessageExclusion excludedMessage::::

+

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

Exclusion uses Pattern matching

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

You can create more complex patterns using embedded flag expressions.
(?s).*FOO.*
This example will search FOO message in all comment lines.

Type: String

$class: PathRestriction

If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.
includedRegions
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.

Type: String

excludedRegions
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.

Type: String

$class: PerBuildTag

Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.

$class: PreBuildMerge

These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options

Nested Object

mergeRemote:
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.

Type: String

mergeTarget:
The name of the branch within the named repository to merge to, such as master.

Type: String

mergeStrategy:
Merge strategy selection. This feature is not fully implemented in JGIT.

Type: String

fastForwardMode:
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation

Values:

  • FF

  • FF_ONLY

  • NO_FF

$class: PruneStaleBranch

Run "git remote prune" for each remote, to prune obsolete local branches.

$class: RelativeTargetDirectory relativeTargetDir::::

+

Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.

Type: String

$class: ScmName

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

name

Type: String

$class: SparseCheckoutPaths

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

sparseCheckoutPaths

Array/List

Nested Object

path:

Type: String

$class: SubmoduleOption disableSubmodules::::

+

By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.

Type: boolean

recursiveSubmodules
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)

Type: boolean

trackingSubmodules
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)

Type: boolean

reference
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  

Type: String

timeout
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).

Type: int

parentCredentials
Use credentials from the default remote of the parent project.

Type: boolean

$class: UserExclusion excludedUsers::::

+

If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

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

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

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.

Type: String

$class: UserIdentity name::::

+

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

Type: String

email

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

Type: String

$class: WipeWorkspace

Delete the contents of the workspace before building, ensuring a fully fresh workspace.

$class: HarvestSCM broker:::

+ Type: String

passwordFile

Type: String

userId

Type: String

password

Type: String

projectName

Type: String

state

Type: String

viewPath

Type: String

clientPath

Type: String

processName

Type: String

recursiveSearch

Type: String

useSynchronize

Type: boolean

extraOptions

Type: String

$class: MercurialSCM source:::

+

Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.

Type: String

browser (optional)

Nested Choice of Objects $class: BitBucket url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: FishEye url::::

+

Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/

Type: String

$class: GoogleCode url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: HgWeb url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: Kallithea url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: KilnHG url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCode url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCodeLegacy url::::

+

Specify the root URL serving this repository (such as this.)

Type: String

clean (optional)
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.

Type: boolean

credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.

Type: String

disableChangeLog (optional)
When checked, Hudson will not calculate the Mercurial changelog for each build. Disabling the changelog can decrease the amount of time needed to update a very large repository.

Type: boolean

installation (optional)

Type: String

modules (optional)
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)

Type: String

revision (optional)
Specify the branch or tag name you would like to track. (If you do not type anything, the default value is the default branch.)

Type: String

revisionType (optional)
Specify the kind of revision you expect Jenkins to update your working copy to.

Values:

  • BRANCH

  • TAG

  • CHANGESET

  • REVSET

    subdir (optional)
    If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.

Type: String

$class: MultiSCM scmList:::

+ Array/List

Nested Choice of Objects $class: AWSCodePipelineSCM name::::

+ Type: String

clearWorkspace

Type: boolean

region

Type: String

awsAccessKey

In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.

Type: String

awsSecretKey

>In order to integrate with AWS CodePipeline, you must authorize access to the pipeline and its related artifacts. If you installed Jenkins on a supported Amazon EC2 instance type, such as Amazon Linux, you can install the AWS CLI and configure a profile with the required credentials. This is the preferred method. In all other cases, you can store AWS credentials in these fields. You should securely configure your Jenkins instance to use HTTPS so that these credentials are not sent unencrypted. For more information, see AWS CodePipeline Integration for Other Products and Services.

Type: String

proxyHost

You might need a proxy host address if you are hosting Jenkins on a private network. The proxy name can be an IP address or DNS address. The AWS CodePipeline Plugin for Jenkins requires internet access. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.

Type: String

proxyPort

You might need a proxy port for your proxy host address if you are hosting Jenkins on a private network. The proxy port is a number, might be on port 8080, 3128, or 8443, depending on your network protocols and security settings. If access is not configured, you might see errors in the AWS CodePipeline Polling Log.

Type: String

category

This is the category of the action type in AWS CodePipeline, and is usually either Build or Test. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.

Type: String

provider

This is the provider name of the action type in AWS CodePipeline. You must provide this exact string when adding an action for Jenkins in AWS CodePipeline. To see an example usage, see Install and Configure the AWS CodePipeline Plugin for Jenkins.

Type: String

version

Leave the default as 1.

Type: String

$class: AccurevSCM serverUUID::::

+ Type: String

depot

Type: String

stream

Type: String

accurevTool (optional)

Type: String

cleanreftree (optional)

Type: boolean

directoryOffset (optional)

Type: String

dontPopContent (optional)

Type: boolean

filterForPollSCM (optional)

Type: String

ignoreStreamParent (optional)

Type: boolean

reftree (optional)

Type: String

serverName (optional)

Type: String

snapshotNameFormat (optional)

Type: String

subPath (optional)

Type: String

synctime (optional)

Type: boolean

useSnapshot (optional)

Type: boolean

workspace (optional)

Type: String

wspaceORreftree (optional)

Type: String

$class: BazaarSCM source::::

+ Type: String

cleantree

Type: boolean

browser

Nested Choice of Objects $class: Loggerhead url:::::

+

Loggerhead is a web-based interface for Bazaar branches. It is used by Launchpad, so if your code is hosted on Launchpad, you are using Loggerhead.
The repository browser URL for the root of the project. For example, a Launchpad project called myproject would use http://bazaar.launchpad.net/~myteam/myproject/mybranch.

Type: String

$class: OpenGrok url:::::

+

The repository browser URL for the root of the project. For example, the OpenGrok project would use http://src.opensolaris.org/source/.

Type: String

rootModule:
Specify the root Bazaar module that this OpenGrok monitors. For example, for http://src.opensolaris.org/source/xref/opengrok/trunk/, this field would be opengrok/trunk/ because it displays the directory "/opengrok/trunk/".

Type: String

checkout

Type: boolean

$class: BitKeeperSCM parent::::

+ Type: String

localRepository

Type: String

usePull

Type: boolean

quiet

Type: boolean

$class: BlameSubversionSCM

if it is false and the build is not triggered by upstream job,

the plugin will not collect any svn info from upstream job.

else the plugin will collect svn info from latest upstream job

alwaysCollectSVNInfo

Type: boolean

$class: CCUCMScm loadModule::::

+ Type: String

newest

Type: boolean

mode

Nested Choice of Objects $class: PollChildMode levelToPoll:::::

+ Type: String

component (optional):

Type: String

createBaseline (optional):

Check this if you want create a baseline after a completed deliver.

This is only applicable for child and sibling poll mode.

Type: boolean

newest (optional):
Selects the newest baseline on the stream. Skipping intermediates.

Type: boolean

$class: PollRebaseMode levelToPoll:::::

+ Type: String

component (optional):
The component used to figure out the correct baseline to recommend due to the following bug:
http://www-01.ibm.com/support/docview.wss?uid=swg21269043

Type: String

createBaseline (optional):

Type: boolean

excludeList (optional):

Type: String

$class: PollSelfMode levelToPoll:::::

+ Type: String

component (optional):

Type: String

newest (optional):
Selects the newest baseline on the stream. Skipping intermediates.

Type: boolean

$class: PollSiblingMode levelToPoll:::::

+ Type: String

component (optional):

Type: String

createBaseline (optional):

Check this if you want create a baseline after a completed deliver.

This is only applicable for child and sibling poll mode.

Type: boolean

newest (optional):
Selects the newest baseline on the stream. Skipping intermediates.

Type: boolean

useHyperLinkForPolling (optional):
Instead of using the integration streams default deliver target. Use the value specified in the hyperlink. The hyperlink type to be used can be configured in the global configuration.

Type: boolean

$class: PollSubscribeMode levelToPoll:::::

+ Type: String

componentsToMonitor:

Array/List

Nested Object

componentSelection::

Type: String

jobsToMonitor:

Array/List

Nested Object

jobname::

Type: String

ignores::
A comma seperated list of components which should not be included when checking if the requirements are met. That is to say that not all components are interesting in every job specified.

Type: String

jobName (optional)::
Specifies the name of the job in which all selected baselines must be present.

Type: String

cascadePromotion (optional):

Type: boolean

component (optional):

Type: String

newest (optional):

Type: boolean

stream
Specify the stream you want to poll for with ClearCase UCM SCM. Syntax: [stream]@[PVOB]

Type: String

treatUnstable

Type: String

nameTemplate

Type: String

forceDeliver

Type: boolean

recommend

Type: boolean

makeTag

Type: boolean

setDescription

Type: boolean

buildProject

Type: String

removeViewPrivateFiles

Type: boolean

trimmedChangeSet

Type: boolean

discard

Type: boolean

$class: CVSSCM repositories::::

+ Array/List

Nested Object

cvsRoot:
The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)

Type: String

passwordRequired:

Type: boolean

password:

Type: String

repositoryItems:

Array/List

Nested Object

location::

Nested Choice of Objects $class: BranchRepositoryLocation branchName:::::::

+ Type: String

useHeadIfNotFound:::

Type: boolean

$class: HeadRepositoryLocation $class: TagRepositoryLocation tagName:::::::

+ Type: String

useHeadIfNotFound:::

Type: boolean

modules::

Array/List

Nested Object

remoteName:::
The name of the module in the repository at CVSROOT

Type: String

localName:::
The name to be applied to this module in the local workspace. If this is left blank then the remote module name will be used. This is similar to the 'checkout-as' function available on many CVS clients.

Type: String

projectsetFileName:::
The name of the file in this module to parse for projectset entries.

Type: String

excludedRegions:
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders in this list when determining if a build needs to be triggered.

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

	 src/main/web/.*\.html
	 src/main/web/.*\.jpeg
	 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.

More information on regular expressions can be found here.

Array/List

Nested Object

pattern::

Type: String

compressionLevel:

Type: int

repositoryBrowser:

Nested Choice of Objects $class: FishEyeCVS url::::::

+

Specify the root URL of FishEye for this repository (such as this.)

Type: String

$class: OpenGrok url::::::

+

Specify the root URL of OpenGrok for this repository.

Type: String

$class: ViewCVS url::::::

+

Specify the root URL of ViewCVS for this repository (such as this).

Type: String

canUseUpdate
If checked, Jenkins will use 'cvs update' whenever possible for builds. This makes a build faster. But this also causes the artifacts from the previous build to remain in the file system when a new build starts, making it not a true clean build.

Type: boolean

legacy
Hudson 1.20 and earlier used to create redundant directories inside the workspace. For example, if the CVS module name is "foo/bar", it first created "foo/bar" and then put everything below. With this option checked off, there will be no more such unnecessary intermediate directories.

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".

Type: boolean

skipChangeLog
Prevent the changelog being generated after checkout has completed. This will stop any changes being shown on the changes screen but reduces load on your CVS server.

Type: boolean

pruneEmptyDirectories
Remove empty directories after checkout using the CVS '-P' option.

Type: boolean

disableCvsQuiet
Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.

Type: boolean

cleanOnFailedUpdate
If the job is configured to use CVS update and the update step fails for any reason then the workspace will be wiped-out and a clean checkout done instead.

Type: boolean

forceCleanCopy
If checked, Jenkins will add the 'C' option to the CVS update command to force it to over-write any files with local modifications, rather than attempt a merge or leave them as they are.

Type: boolean

checkoutCurrentTimestamp
Advanced option. Should probably be left unchecked.

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.

Type: boolean

$class: ClearCaseSCM branch::::

+ Type: String

label

Type: String

extractConfigSpec

Type: boolean

configSpecFileName

Type: String

refreshConfigSpec

Type: boolean

refreshConfigSpecCommand

Type: String

configSpec

Type: String

viewTag

Type: String

useupdate

Type: boolean

extractLoadRules

Type: boolean

loadRules

Type: String

useOtherLoadRulesForPolling

Type: boolean

loadRulesForPolling

Type: String

usedynamicview

Type: boolean

viewdrive

Type: String

mkviewoptionalparam

Type: String

filterOutDestroySubBranchEvent

Type: boolean

doNotUpdateConfigSpec

Type: boolean

rmviewonrename

Type: boolean

excludedRegions

Type: String

multiSitePollBuffer

Type: String

useTimeRule

Type: boolean

createDynView

Type: boolean

viewPath

Type: String

changeset

Values:

  • ALL

  • BRANCH

  • NONE

  • UPDT

viewStorage

Three strategies are currently available to manage view storage location.

  • Default. This entry doesn't generate any additional argument to the cleartool mkview command. The behaviour will change depending on how your clearcase server is configured.
  • Use server storage location. This entry generates a -stgloc argument to the cleartool mkview command.
  • Use explicit path. This entry generates a -vws argument to the cleartool mkview command.

Nested Choice of Objects $class: DefaultViewStorage $class: ServerViewStorage assignedLabelString:::::

+

Label expression used to populate view storage location dropdown.

Type: String

server:

The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.

Type: String

$class: SpecificViewStorage winStorageDir:::::

+ Type: String

unixStorageDir:

Type: String

$class: ClearCaseUcmBaselineSCM

When used (and fully set up), this option will display a field at build-time so that the user is able to select a ClearCase UCM baseline from which to download the content for this project.

$class: ClearCaseUcmSCM stream::::

+ Type: String

loadrules

Type: String

viewTag

Type: String

usedynamicview

Type: boolean

viewdrive

Type: String

mkviewoptionalparam

Type: String

filterOutDestroySubBranchEvent

Type: boolean

useUpdate

Type: boolean

rmviewonrename

Type: boolean

excludedRegions

Type: String

multiSitePollBuffer

Type: String

overrideBranchName

Type: String

createDynView

Type: boolean

freezeCode

Type: boolean

recreateView

Type: boolean

allocateViewName

Type: boolean

viewPath

Type: String

useManualLoadRules

Type: boolean

changeset

Values:

  • ALL

  • BRANCH

  • NONE

  • UPDT

viewStorage

Three strategies are currently available to manage view storage location.

  • Default. This entry doesn't generate any additional argument to the cleartool mkview command. The behaviour will change depending on how your clearcase server is configured.
  • Use server storage location. This entry generates a -stgloc argument to the cleartool mkview command.
  • Use explicit path. This entry generates a -vws argument to the cleartool mkview command.

Nested Choice of Objects $class: DefaultViewStorage $class: ServerViewStorage assignedLabelString:::::

+

Label expression used to populate view storage location dropdown.

Type: String

server:

The view storage location that will be passed to the -stgloc option.
The list of available servers is retrieved using cleartool lsstgloc -view
Note that auto is always available.

Type: String

$class: SpecificViewStorage winStorageDir:::::

+ Type: String

unixStorageDir:

Type: String

buildFoundationBaseline

If checked, instead of creating a view on the current stream, the job will look up the current foundation baselines for the given stream and work in readonly on these baselines. If polling is enabled, the build will be triggered every time a new foundation baseline is detected on the given stream.

Type: boolean

$class: CloneWorkspaceSCM parentJobName::::

+ Type: String

criteria

Type: String

$class: CmvcSCM family::::

+ Type: String

become

Type: String

releases

Type: String

checkoutScript

Type: String

trackViewReportWhereClause

Type: String

$class: ConfigurationRotator acrs::::

+ Nested Choice of Objects $class: ClearCaseUCM pvobName:::::

+ Type: String

contribute:

Contribute data to a global database. Defined in the Compatibility Action Storage Plugin.

Type: boolean

targets:

Array/List

Nested Object

baselineName::

Type: String

level::

Values:

  • INITIAL

  • BUILT

  • TESTED

  • RELEASED

  • REJECTED

    fixed::

    Type: boolean

    useNewest (optional):

    Type: boolean

$class: Git targets:::::

+ Array/List

Nested Object

name::

Type: String

repository::

Type: String

branch::

Type: String

commitId::

Type: String

fixed::

Type: boolean

useNewest (optional):

Type: boolean

$class: CvsProjectset repositories::::

+ Array/List

Nested Object

cvsRoot:
The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)

Type: String

passwordRequired:

Type: boolean

password:

Type: String

repositoryItems:

Array/List

Nested Object

location::

Nested Choice of Objects $class: BranchRepositoryLocation branchName:::::::

+ Type: String

useHeadIfNotFound:::

Type: boolean

$class: HeadRepositoryLocation $class: TagRepositoryLocation tagName:::::::

+ Type: String

useHeadIfNotFound:::

Type: boolean

modules::

Array/List

Nested Object

remoteName:::
The name of the module in the repository at CVSROOT

Type: String

localName:::
The name to be applied to this module in the local workspace. If this is left blank then the remote module name will be used. This is similar to the 'checkout-as' function available on many CVS clients.

Type: String

projectsetFileName:::
The name of the file in this module to parse for projectset entries.

Type: String

excludedRegions:
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders in this list when determining if a build needs to be triggered.

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

	 src/main/web/.*\.html
	 src/main/web/.*\.jpeg
	 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.

More information on regular expressions can be found here.

Array/List

Nested Object

pattern::

Type: String

compressionLevel:

Type: int

repositoryBrowser:

Nested Choice of Objects $class: FishEyeCVS url::::::

+

Specify the root URL of FishEye for this repository (such as this.)

Type: String

$class: OpenGrok url::::::

+

Specify the root URL of OpenGrok for this repository.

Type: String

$class: ViewCVS url::::::

+

Specify the root URL of ViewCVS for this repository (such as this).

Type: String

canUseUpdate
If checked, Jenkins will use 'cvs update' whenever possible for builds. This makes a build faster. But this also causes the artifacts from the previous build to remain in the file system when a new build starts, making it not a true clean build.

Type: boolean

username
This username will be used for the checkout of any modules parsed from the projectset file if no match was found against the parsed CVSROOT using the globally configured authentication.

Type: String

password
This password will be used for the checkout of any modules parsed from the projectset file if no match was found against the parsed CVSROOT using the globally configured authentication.

Type: String

browser

Nested Choice of Objects $class: FishEyeCVS url:::::

+

Specify the root URL of FishEye for this repository (such as this.)

Type: String

$class: OpenGrok url:::::

+

Specify the root URL of OpenGrok for this repository.

Type: String

$class: ViewCVS url:::::

+

Specify the root URL of ViewCVS for this repository (such as this).

Type: String

skipChangeLog
Prevent the changelog being generated after checkout has completed. This will stop any changes being shown on the changes screen but reduces load on your CVS server.

Type: boolean

pruneEmptyDirectories
Remove empty directories after checkout using the CVS '-P' option.

Type: boolean

disableCvsQuiet
Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.

Type: boolean

cleanOnFailedUpdate
If the job is configured to use CVS update and the update step fails for any reason then the workspace will be wiped-out and a clean checkout done instead.

Type: boolean

forceCleanCopy

Type: boolean

$class: DarcsScm source::::

+ Type: String

localDir

Type: String

clean

Type: boolean

browser

Nested Choice of Objects $class: DarcsWeb url:::::

+ Type: String

repo:

Type: String

$class: Darcsden url:::::

+ Type: String

$class: DelegateSCM clazz::::

+ Type: String

$class: DimensionsSCM project::::

+ Type: String

folders

Array/List

Type: String

pathsToExclude

Array/List

Type: String

workarea

Type: String

canJobDelete

Type: boolean

canJobForce

Type: boolean

canJobRevert

Type: boolean

jobUserName

Type: String

jobPasswd

Type: String

jobServer

Type: String

jobDatabase

Type: String

canJobUpdate

Type: boolean

jobTimeZone

Type: String

jobWebUrl

Type: String

directory

Type: String

permissions

Type: String

eol

Type: String

canJobExpand

Type: boolean

canJobNoMetadata

Type: boolean

canJobNoTouch

Type: boolean

forceAsSlave

Type: boolean

$class: DrushMakefileSCM makefile::::

+

Specify the content of the Makefile. Support for YAML Makefiles depends on the version of Drush you have installed.

This example will generate a vanilla Drupal 7.38:

    api=2
    core=7.x
    projects[drupal][version]=7.38
    

Type: String

root
Specify a local directory for the Drupal root (relative to the workspace root).

Type: String

$class: EndevorConfiguration hostPort::::

+

The host address and port number for the mainframe server. The host and port must be separated by a ':' character.

Type: String

filterPattern
Filter pattern used by the mainframe to determine which Endevor elements to download. Multiple filters can be defined, one filter per line. Each filter must be in the format Environment.System.Subsystem.Type.Stage.Element. Use * as wildcards. Wildcards can only be used at the end of each classification piece of the Endevor element. Wildcarding the stage will download the latest revision of an element.

Type: String

fileExtension
File extension assigned to checked-out datasets. All datasets will be assigned the same file extension. If you want to use multiple fileextensions, multiple jobs must be created.

Type: String

credentialsId
The available credentials to use for logging onto the host. Alternatively, click Add to add credentials using the Credentials Plugin. Refer to the Jenkins documentation for the Credentials Plugin.

Type: String

codePage
The code page to be used for this connection. The code page is used to translate data sent to and from the host. The default is 1047.

Type: String

$class: FeatureBranchAwareMercurialSCM installation::::

+ Type: String

source
Specify the repository to track. This can be URL or a local file path.

Type: String

branch
Specify the branch name if you'd like to track a specific branch in a repository. Leave this field empty otherwise, to track the "default" branch.

Type: String

modules
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)

Type: String

subdir
If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.

Type: String

browser

Nested Choice of Objects $class: BitBucket url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: FishEye url:::::

+

Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/

Type: String

$class: GoogleCode url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: HgWeb url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: Kallithea url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: KilnHG url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCode url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCodeLegacy url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

clean
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.

Type: boolean

branchPattern

Type: String

$class: GitSCM userRemoteConfigs::::

+

Specify the repository to track. This can be a URL or a local file path. Note that for super-projects (repositories with submodules), only a local file path or a complete URL is valid. The following are examples of valid git URLs.
  • ssh://git@github.com/github/git.git
  • git@github.com:github/git.git (short notation for ssh protocol)
  • ssh://user@other.host.com/~/repos/R.git (to access the repos/R.git repository in the user's home directory)
  • https://github.com/github/git.git
  • git://github.com/github/git.git

If the repository is a super-project, the location from which to clone submodules is dependent on whether the repository is bare or non-bare (i.e. has a working directory).
  • If the super-project is bare, the location of the submodules will be taken from .gitmodules.
  • If the super-project is not bare, it is assumed that the repository has each of its submodules cloned and checked out appropriately. Thus, the submodules will be taken directly from a path like ${SUPER_PROJECT_URL}/${SUBMODULE}, rather than relying on information from .gitmodules.
For a local URL/path to a super-project, git rev-parse --is-bare-repository is used to detect whether the super-project is bare or not.
For a remote URL to a super-project, the ending of the URL determines whether a bare or non-bare repository is assumed:
  • If the remote URL ends with /.git, a non-bare repository is assumed.
  • If the remote URL does NOT end with /.git, a bare repository is assumed.

Array/List

Nested Object

url:
Specify the URL of this remote repository. This uses the same syntax as your git clone command.

Type: String

name:
ID of the repository, such as origin, to uniquely identify this repository among other remote repositories. This is the same "name" that you use in your git remote command. If left empty, Jenkins will generate unique names for you.

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

Type: String

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

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

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

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

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

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

Type: String

credentialsId:

Type: String

branches

Array/List

Nested Object

name:

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

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

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

.

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

Possible options:

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

Type: String

doGenerateSubmoduleConfigurations

Type: boolean

submoduleCfg

Array/List

hudson.plugins.git.SubmoduleConfig

browser

Nested Choice of Objects $class: AssemblaWeb repoUrl:::::

+ Type: String

$class: BacklogGitRepositoryBrowser repoName:::::

+ Type: String

url:
Set the project URL of Repository Browser used with this project. Sample of URL are shown below.
  • https://demo.backlog.jp/projects/DORA

When no value is set, project of "Backlog URL" set above is used.

Type: String

$class: BitbucketWeb repoUrl:::::

+ Type: String

$class: CGit repoUrl:::::

+ Type: String

$class: FisheyeGitRepositoryBrowser repoUrl:::::

+ Type: String

$class: GitBlitRepositoryBrowser repoUrl:::::

+ Type: String

projectName:
Specify the name of the project in GitBlit

Type: String

$class: GitBucketBrowser url:::::

+ Type: String

$class: GitLab repoUrl:::::

+ Type: String

version:
Specify the major and minor version of gitlab you use (such as 3.1).

Type: String

$class: GitList repoUrl:::::

+ Type: String

$class: GitWeb repoUrl:::::

+ Type: String

$class: GithubWeb repoUrl:::::

+ Type: String

$class: Gitiles repoUrl:::::

+ Type: String

$class: GitoriousWeb repoUrl:::::

+ Type: String

$class: GogsGit repoUrl:::::

+ Type: String

$class: KilnGit repoUrl:::::

+ Type: String

$class: Phabricator repoUrl:::::

+ Type: String

repo:
Specify the repository name in phabricator (e.g. the "foo" part of phabricator.exmaple.com/diffusion/foo/browse)

Type: String

$class: RedmineWeb repoUrl:::::

+ Type: String

$class: RhodeCode repoUrl:::::

+ Type: String

$class: Stash repoUrl:::::

+ Type: String

$class: TFS2013GitRepositoryBrowser repoUrl:::::

+

Either the name of the remote whose URL should be used, or the URL of this module in TFS (such as http://fisheye6.cenqua.com/tfs/myproject/_git/myrepo/). If empty (default), the URL of the "origin" repository is used.

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

Type: String

$class: TracGitRepositoryBrowser $class: ViewGitWeb repoUrl:::::

+ Type: String

projectName:
Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/)

Type: String

gitTool

Type: String

extensions

Array/List

Nested Choice of Objects $class: AuthorInChangelog

The default behavior is to use the Git commit's "Committer" value in Jenkins' build changesets. If this option is selected, the Git commit's "Author" value would be used instead.

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

$class: BuildChooserSetting

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

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

buildChooser:

Nested Choice of Objects $class: AlternativeBuildChooser $class: AncestryBuildChooser maximumAgeInDays::::::

+ Type: int

ancestorCommitSha1::

Type: String

$class: DefaultBuildChooser $class: DeflakeGitBuildChooser $class: GerritTriggerBuildChooser $class: InverseBuildChooser

$class: ChangelogToBranch

This method calculates the changelog against the specified branch.

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

Nested Object

compareRemote::
Name of the repository, such as origin, that contains the branch you specify below.

Type: String

compareTarget::
The name of the branch within the named repository to compare against.

Type: String

$class: CheckoutOption timeout:::::

+

Specify a timeout (in minutes) for checkout.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).

Type: int

$class: CleanBeforeCheckout

Clean up the workspace before every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.

$class: CleanCheckout

Clean up the workspace after every checkout by deleting all untracked files and directories, including those which are specified in .gitignore. It also resets all tracked files to their versioned state. This ensures that the workspace is in the same state as if you cloned and checked out in a brand-new empty directory, and ensures that your build is not affected by the files generated by the previous build.

$class: CloneOption shallow:::::

+

Perform shallow clone, so that git will not download history of the project, saving time and disk space when you just want to access the latest version of a repository.

Type: boolean

noTags:
Perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.

Type: boolean

reference:
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.

Type: String

timeout:
Specify a timeout (in minutes) for clone and fetch operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).

Type: int

depth (optional):
Set shallow clone depth, so that git will only download recent history of the project, saving time and disk space when you just want to access the latest version of a repository.

Type: int

honorRefspec (optional):
Perform initial clone using the refspec defined for the repository. This can save time, data transfer and disk space when you only need to access the references specified by the refspec.

Type: boolean

$class: CodeCommitURLHelper credentialId:::::

+ Type: String

repositoryName:

Type: String

$class: DisableRemotePoll

Git plugin uses git ls-remote polling mechanism by default when configured with a single branch (no wildcards!). This compare the latest built commit SHA with the remote branch without cloning a local copy of the repo.

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

If this option is selected, polling will require a workspace and might trigger unwanted builds (see JENKINS-10131).

$class: GitLFSPull $class: GitTagMessageExtension

If the revision checked out has a git tag associated with it, the tag name will be exported during the build as GIT_TAG_NAME.
If a message was specified when creating the tag, then that message will be exported during the build as the GIT_TAG_MESSAGE environment variable.
If no tag message was specified, the commit message will be used.

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.

$class: IgnoreNotifyCommit

If checked, this repository will be ignored when the notifyCommit-URL is accessed regardless of if the repository matches or not.

$class: LocalBranch

If given, checkout the revision to build as HEAD on this branch.

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

Please note that this has not been tested with submodules.

localBranch:

Type: String

$class: MessageExclusion excludedMessage:::::

+

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

Exclusion uses Pattern matching

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

You can create more complex patterns using embedded flag expressions.
(?s).*FOO.*
This example will search FOO message in all comment lines.

Type: String

$class: PathRestriction

If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered.

Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.
includedRegions:
Each inclusion uses java regular expression pattern matching, and must be separated by a new line. An empty list implies that everything is included.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that a build will only occur, if html/jpeg/gif files have been committed to the SCM. Exclusions take precedence over inclusions, if there is an overlap between included and excluded regions.

Type: String

excludedRegions:
Each exclusion uses java regular expression pattern matching, and must be separated by a new line.

    myapp/src/main/web/.*\.html
    myapp/src/main/web/.*\.jpeg
    myapp/src/main/web/.*\.gif
  
The example above illustrates that if only html/jpeg/gif files have been committed to the SCM a build will not occur.

Type: String

$class: PerBuildTag

Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.

$class: PreBuildMerge

These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
options:

Nested Object

mergeRemote::
Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.

Type: String

mergeTarget::
The name of the branch within the named repository to merge to, such as master.

Type: String

mergeStrategy::
Merge strategy selection. This feature is not fully implemented in JGIT.

Type: String

fastForwardMode::
Merge fast-forward mode selection.
The default, --ff, gracefully falls back to a merge commit when required.
For more information, see the Git Merge Documentation

Values:

  • FF

  • FF_ONLY

  • NO_FF

$class: PruneStaleBranch

Run "git remote prune" for each remote, to prune obsolete local branches.

$class: RelativeTargetDirectory relativeTargetDir:::::

+

Specify a local directory (relative to the workspace root) where the Git repository will be checked out. If left empty, the workspace root itself will be used.

Type: String

$class: ScmName

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

name:

Type: String

$class: SparseCheckoutPaths

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

sparseCheckoutPaths:

Array/List

Nested Object

path::

Type: String

$class: SubmoduleOption disableSubmodules:::::

+

By disabling support for submodules you can still keep using basic git plugin functionality and just have Jenkins to ignore submodules completely as if they didn't exist.

Type: boolean

recursiveSubmodules:
Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)

Type: boolean

trackingSubmodules:
Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)

Type: boolean

reference:
Specify a folder containing a repository that will be used by Git as a reference during clone operations.
This option will be ignored if the folder is not available on the master or slave where the clone is being executed.
To prepare a reference folder with multiple subprojects, create a bare git repository and add all the remote urls then perform a fetch:
  git init --bare
  git remote add SubProject1 https://gitrepo.com/subproject1
  git remote add SubProject2 https://gitrepo.com/subproject2
  git fetch --all
  

Type: String

timeout:
Specify a timeout (in minutes) for submodules operations.
This option overrides the default timeout of 10 minutes.
You can change the global git timeout via the property org.jenkinsci.plugins.gitclient.Git.timeOut (see JENKINS-11286). Note that property should be set on both master and slave to have effect (see JENKINS-22547).

Type: int

parentCredentials:
Use credentials from the default remote of the parent project.

Type: boolean

$class: UserExclusion excludedUsers:::::

+

If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

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

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

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.

Type: String

$class: UserIdentity name:::::

+

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

Type: String

email:

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

Type: String

$class: WipeWorkspace

Delete the contents of the workspace before building, ensuring a fully fresh workspace.

$class: HarvestSCM broker::::

+ Type: String

passwordFile

Type: String

userId

Type: String

password

Type: String

projectName

Type: String

state

Type: String

viewPath

Type: String

clientPath

Type: String

processName

Type: String

recursiveSearch

Type: String

useSynchronize

Type: boolean

extraOptions

Type: String

$class: MercurialSCM source::::

+

Specify the repository to track. This can be URL or a local file path. If you are specifying HTTP credentials, do not include a username in the URL.

Type: String

browser (optional)

Nested Choice of Objects $class: BitBucket url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: FishEye url:::::

+

Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/

Type: String

$class: GoogleCode url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: HgWeb url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: Kallithea url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: KilnHG url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCode url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

$class: RhodeCodeLegacy url:::::

+

Specify the root URL serving this repository (such as this.)

Type: String

clean (optional)
When this option is checked, each build will wipe any local modifications or untracked files in the repository checkout. This is often a convenient way to ensure that a build is not using any artifacts from earlier builds.

Type: boolean

credentialsId (optional)
Optional credentials to use when cloning or pulling from the remote repository. Supports username/password with HTTP(S) URLs, and SSH private key with SSH URLs.

Type: String

disableChangeLog (optional)
When checked, Hudson will not calculate the Mercurial changelog for each build. Disabling the changelog can decrease the amount of time needed to update a very large repository.

Type: boolean

installation (optional)

Type: String

modules (optional)
Reduce unnecessary builds by specifying a comma or space delimited list of "modules" within the repository. A module is a directory name within the repository that this project lives in. If this field is set, changes outside the specified modules will not trigger a build (even though the whole repository is checked out anyway due to the Mercurial limitation.)

Type: String

revision (optional)
Specify the branch or tag name you would like to track. (If you do not type anything, the default value is the default branch.)

Type: String

revisionType (optional)
Specify the kind of revision you expect Jenkins to update your working copy to.

Values:

  • BRANCH

  • TAG

  • CHANGESET

  • REVSET

    subdir (optional)
    If not empty, check out the Mercurial repository into this subdirectory of the job's workspace. For example: my/sources (use forward slashes). If changing this entry, you probably want to clean the workspace first.

Type: String

$class: MultiSCM $class: OpenShiftImageStreams imageStreamName::::

+

The name of the ImageStream is what shows up in the NAME column if you dump all the ImageStream's with the `oc get is` command invocation.

Type: String

tag
The specific image tag within the ImageStream to monitor.

Type: String

apiURL

Type: String

namespace

Type: String

authToken

Type: String

verbose

Type: String

$class: PdsConfiguration hostPort::::

+

The host address and port number for the mainframe server. The host and port must be separated by a ':' character.

Type: String

filterPattern
Filter pattern used by the mainframe to determine which datasets to download. Multiple filters can be defined, one filter per line. Use * as wildcards.

Type: String

fileExtension
File extension assigned to checked-out datasets. All datasets will be assigned the same file extension. If you want to use multiple fileextensions, multiple jobs must be created.

Type: String

credentialsId
The available credentials to use for logging onto the host. Alternatively, click Add to add credentials using the Credentials Plugin. Refer to the Jenkins documentation for the Credentials Plugin.

Type: String

codePage
The code page to be used for this connection. The code page is used to translate data sent to and from the host. The default is 1047.

Type: String

$class: PerforceSCM p4User::::

+ Type: String

p4Passwd

Type: String

p4Client

Type: String

p4Port

Type: String

projectOptions

Type: String

p4Tool

Type: String

p4SysRoot

Type: String

p4SysDrive

Type: String

p4Label

Type: String

p4Counter

Type: String

p4UpstreamProject

Type: String

lineEndValue

Type: String

p4Charset

Type: String

p4CommandCharset

Type: String

clientOwner

Type: String

updateCounterValue

Type: boolean

forceSync

Type: boolean

dontUpdateServer

Type: boolean

alwaysForceSync

Type: boolean

createWorkspace

Type: boolean

updateView

Type: boolean

disableChangeLogOnly

Type: boolean

disableSyncOnly

Type: boolean

showIntegChanges

Type: boolean

dontUpdateClient

Type: boolean

exposeP4Passwd

Type: boolean

pollOnlyOnMaster

Type: boolean

slaveClientNameFormat

Type: String

firstChange

Type: int

fileLimit

Type: int

browser

Nested Choice of Objects $class: FishEyePerforce url:::::

+ Type: String

rootModule:

Type: String

$class: P4Web url:::::

+ Type: String

$class: Perfbrowse url:::::

+ Type: String

excludedUsers

Type: String

excludedFiles

Type: String

excludedFilesCaseSensitivity

Type: boolean

depotType

Nested Object

value:

Type: String

p4Stream:

Type: String

clientSpec:

Type: String

projectPath:

Type: String

cleanWorkspace

Nested Object

cleanType:

Nested Object

value::

Type: String

restoreChangedDeletedFiles::

Type: boolean

wipeRepoBeforeBuild:

Type: boolean

useViewMask

Nested Object

viewMask:

Type: String

useViewMaskForPolling:

Type: boolean

useViewMaskForSyncing:

Type: boolean

useViewMaskForChangeLog:

Type: boolean

$class: PerforceScm credential::::

+

Perforce Credentials

Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.

There are two types:

  • 'Perforce Password Credential' for standard username/password authentication
  • 'Perforce Ticket Credential' for ticket based authentication.

Type: String

workspace
Workspace Behaviour

Select the appropriate Perforce workspace behaviour from the list. Not all modes will suit all Jenkins Job build types.

There are five types:

    Manual
    Manually define the Workspace view and sync options. Existing workspace will by updated or a new workspace created.
    Spec File
    Use a pre-defined Workspace Spec file versioned in Perforce.
    Static
    Use a pre-defined Workspace; must already exist and have a valid view.
    Streams
    Auto create/update a Streams workspace with a view determined by the chosen stream.
    Template
    Auto create/update a normal workspace with a view determined by the template workspace.

Nested Choice of Objects $class: ManualWorkspaceImpl charset:::::

+

P4CHARSET

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.

Type: String

pinHost:

Type: boolean

name:
Workspace name

Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.

Type: String

spec:

Nested Object

allwrite::

Type: boolean

clobber::

Type: boolean

compress::

Type: boolean

locked::

Type: boolean

modtime::

Type: boolean

rmdir::

Type: boolean

streamName::

Type: String

line::
Line Endings

Set line-ending character(s) for client text files.

  • UNIX

    linefeed: UNIX style.

  • MAC

    carriage return: Macintosh style. (obsolete)

  • WIN

    carriage return-linefeed: Windows style.

  • SHARE

    hybrid: writes UNIX style but reads UNIX, Mac or Windows style.

Type: String

view::
View

Lines to map depot files into the client workspace.

Maps files in the depot to files in your client workspace. Defines the files that you want in your client workspace and specifies where you want them to reside. The default view maps all depot files onto the client. See 'p4 help views' for view syntax. A new view takes effect on the next 'p4 sync'.

Type: String

changeView::

Type: String

type::
Type

Type of client: writeable/readonly/partitioned/graph

By default all clients are 'writeable', certain clients are short lived and perform long sync and build cycles. Over time these build clients can fragment the 'db.have' table which is used to track what files a client has synced. Setting a type of 'readonly' gives the client its own personal 'db.have' database table. A 'readonly' client cannot 'edit' or 'submit' files, however for build automation this is not usually a requirement and the performance tradeoff is worth considering if your build automation is causing issues with the 'db.have' table. This option requires that an administrator has first configured the 'client.readonly.dir' setting. If it is necessary to submit changes as part of your build, you may specify a 'partitioned' client: like a 'reaonly' client, this type also has a separate 'db.have' table under the 'client.readonly.dir' directory, but allows journalled 'edit' and 'submit' of files.

Type: String

serverID::

Type: String

backup::
Backup

Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.

Type: boolean

syncID (optional):

Type: String

$class: SpecWorkspaceImpl charset:::::

+

P4CHARSET

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.

Type: String

pinHost:

Type: boolean

name:
An existing workspace

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.

Type: String

specPath:

Type: String

syncID (optional):

Type: String

$class: StaticWorkspaceImpl charset:::::

+

P4CHARSET

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.

Type: String

pinHost:

Type: boolean

name:
An existing workspace

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

Type: String

syncID (optional):

Type: String

$class: StreamWorkspaceImpl charset:::::

+

P4CHARSET

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.

Type: String

pinHost:

Type: boolean

streamName:
Stream codeline

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-stream

Type: String

format:
Workspace name formatter

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

Type: String

syncID (optional):

Type: String

$class: TemplateWorkspaceImpl charset:::::

+

P4CHARSET

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.

Type: String

pinHost:

Type: boolean

templateName:
Templace workspace

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

Type: String

format:
Workspace name formatter

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

Type: String

syncID (optional):

Type: String

filter

Array/List

Nested Choice of Objects $class: FilterPathImpl path:::::

+

Depot path filter

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

Type: String

$class: FilterPerChangeImpl perChange:::::

+ Type: boolean

$class: FilterUserImpl user:::::

+

User name filter

Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.

Type: String

$class: FilterViewMaskImpl viewMask:::::

+

View Mask filter

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

Type: String

populate
Populate Options

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:

    Automatic Cleanup and Sync
    Efficient cleaning and syncing of file revisions. Extra (non versioned files) are removed, missing and modified files re-added.
    Best for clean builds.
    Force Clean and Sync
    Will remove all files from under the workspace root, then force sync the required files. Inefficient and NOT RECOMENDED.
    Sync Only
    No cleanup attempted; the sync will update all files (as CLOBBER is set) to the required set of revisions.
    Best for incremental builds.
    Preview Check Only
    No files Sync or cleanup attempted; the Workspace's have list is updated.
    Effective command 'p4 sync -k'.

Nested Choice of Objects $class: AutoCleanImpl replace:::::

+

REPLACE missing/modified files

Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.

Type: boolean

delete:
DELETE generated files

Perforce will delete any local files that are not in the depot.

Type: boolean

modtime:

Type: boolean

quiet:
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin:
Pinning a build at Perforce Label

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).

Type: String

parallel:

Nested Object

enable::

Type: boolean

path::

Type: String

threads::

Type: String

minfiles::

Type: String

minbytes::

Type: String

$class: CheckOnlyImpl have:::::

+ Type: boolean

force:

Type: boolean

modtime:

Type: boolean

quiet:
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin:

Type: String

$class: ForceCleanImpl have:::::

+ Type: boolean

quiet:
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin:
Pinning a build at Perforce Label

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).

Type: String

parallel:

Nested Object

enable::

Type: boolean

path::

Type: String

threads::

Type: String

minfiles::

Type: String

minbytes::

Type: String

$class: GraphHybridImpl quiet:::::

+

Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin:
Pinning a build at Perforce Label

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).

Type: String

parallel:

Nested Object

enable::

Type: boolean

path::

Type: String

threads::

Type: String

minfiles::

Type: String

minbytes::

Type: String

$class: SyncOnlyImpl revert:::::

+ Type: boolean

have:

Type: boolean

modtime:

Type: boolean

quiet:
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin:
Pinning a build at Perforce Label

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).

Type: String

parallel:

Nested Object

enable::

Type: boolean

path::

Type: String

threads::

Type: String

minfiles::

Type: String

minbytes::

Type: String

browser

Nested Choice of Objects $class: FishEyeBrowser url:::::

+ Type: String

rootModule:

Type: String

$class: OpenGrokBrowser url:::::

+ Type: String

depotPath:

Type: String

projectName:

Type: String

$class: P4WebBrowser url:::::

+ Type: String

$class: SwarmBrowser url:::::

+ Type: String

$class: PlasticSCM selector::::

+ Type: String

workspaceName

Type: String

useUpdate

Type: boolean

additionalWorkspaces

Array/List

Nested Object

selector:

Type: String

workspaceName:

Type: String

useUpdate:

Type: boolean

$class: ProxySCM projectName::::

+ Type: String

$class: PvcsScm projectRoot::::

+ Type: String

archiveRoot

Type: String

changeLogPrefixFudge

Type: String

moduleDir

Type: String

loginId

Type: String

pvcsWorkspace

Type: String

promotionGroup

Type: String

versionLabel

Type: String

cleanCopy

Type: boolean

$class: RTCScm overrideGlobal::::

+

The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.

Type: boolean

buildTool

The RTC build toolkit to use when performing builds. The toolkits available are defined in the system configuration (with the other tools like Ant and Java). The build toolkit is also necessary on the Master for polling and validating the job configuration unless the "Avoid using build toolkit on Master" option is enabled.

Type: String

serverURI

The Jazz Repository connection URI for the Rational Team Concert (RTC) server

Type: String

timeout

The timeout period in seconds for Jazz repository requests made during the build.

Type: int

userId

The build user id. Either credentials or a user id and password information should be supplied.

Type: String

password

The Jazz Repository password for the build user. The use of a password is not secure, it can be easily discovered by anyone with access to this page. Credentials, a password file or a password should be supplied.

hudson.util.Secret

passwordFile

The path to the file containing the obfuscated Jazz Repository password for the build user. Credentials, a password file or a password should be supplied.

Type: String

credentialsId

Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.

Type: String

buildType

Nested Object

value:

Type: String

buildDefinition:

Type: String

buildWorkspace:

Type: String

buildSnapshot:

Type: String

buildStream:

Type: String

acceptBeforeLoad (optional):

Type: boolean

buildSnapshotContext (optional):

Nested Object

snapshotOwnerType::

Type: String

processAreaOfOwningStream::

Type: String

owningStream::

Type: String

owningWorkspace::

Type: String

clearLoadDirectory (optional):

Type: boolean

createFoldersForComponents (optional):

Type: boolean

currentSnapshotOwnerType (optional):

Type: String

customizedSnapshotName (optional):

Type: String

generateChangelogWithGoodBuild (optional):

Type: boolean

loadDirectory (optional):

Type: String

overrideDefaultSnapshotName (optional):

Type: boolean

processArea (optional):

Type: String

avoidUsingToolkit

Where possible avoid using the Build toolkit when performing tasks on the Master. This is still in the experimental stage. You will require an RTC 5.0 server which provides some of the services used.

The Build toolkit will not be used when polling RTC and terminating the RTC Build. The toolkit is still required though. It is used for other configuration tasks on the Master (i.e. validating the connection to RTC, the build definition or workspace). It is also used for checkout tasks typically performed on slave nodes.

Type: boolean

$class: RepoScm manifestRepositoryUrl::::

+ Type: String

currentBranch (optional)

Type: boolean

depth (optional)

Type: int

destinationDir (optional)

Type: String

forceSync (optional)

Type: boolean

ignoreProjects (optional)

Type: String

jobs (optional)

Type: int

localManifest (optional)

Type: String

manifestBranch (optional)

Type: String

manifestFile (optional)

Type: String

manifestGroup (optional)

Type: String

mirrorDir (optional)

Type: String

noTags (optional)

Type: boolean

quiet (optional)

Type: boolean

repoUrl (optional)

Type: String

resetFirst (optional)

Type: boolean

showAllChanges (optional)

Type: boolean

trace (optional)

Type: boolean

$class: SCLMSCM server::::

+ Type: String

port

Type: int

userID

Type: String

password

Type: String

JESINTERFACELEVEL1

Type: boolean

project

Type: String

alternate

Type: String

group

Type: String

types

Type: String

custJobStep

Type: boolean

JobStep

Type: String

custJobHeader

Type: boolean

JobHeader

Type: String

$class: ShellScriptSCM checkoutShell::::

+ Type: String

pollingShell

Type: String

useCheckoutForPolling

Type: boolean

$class: SimpleClearCaseSCM loadRules::::

+

Specify the paths to the source code inside of ClearCase VOBS. one Path for each line. For instance:

/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.

Type: String

viewname
The viewname which has a configured config spec. This is external to the plugin as the way the config spec can be configured in many different ways. From updating the config spec dynamically with fixed intervals to having a constant one throughout a full project life time.

Type: String

branch
Specify which branch to follow. Not mandatory. If not set then all branches will be followed, i.e you will get notifications about changes in branches which your config specification isn't related to. Example value: main, dev etc.

Type: String

filter
Filters out mkbranch and rmbranch messages in lshistory. These changes isn't relevant if you are tracking source files in a specific branch.

Type: boolean

$class: StarTeamSCM hostname::::

+ Type: String

port

Type: int

projectname

Type: String

viewname

Type: String

foldername

Type: String

username

Type: String

password

Type: String

labelname

Type: String

promotionstate

Type: boolean

$class: StoreSCM scriptName::::

+ Type: String

repositoryName
Specify the name of the Store repository to be checked. It is assumed that the Smalltalk image being run by the "script" property will contain any necessary repository definitions.

Type: String

pundles
List the names of the top-level pundles (bundles and/or packages) to check for changes. All listed pundles and their recursive prerequisites will be checked.

Array/List

Nested Object

pundleType:

Values:

  • PACKAGE

  • BUNDLE

    name:

    Type: String

versionRegex
Specify a Regex11-style regular expression that specifies which pundle versions to consider when checking for changes. Examples:
  • .+ (the default) will match any version string
  • \d+ will match any integer version number
  • (7.9\s*-\s*)?\d+ will match any integer version number with an optional "7.9 - " prefix

Type: String

minimumBlessingLevel
Choose the minimum Store blessing level that should be considered. Pundle versions with a lower blessing level will be ignored.

Type: String

generateParcelBuilderInputFile
Check this if Jenkins should generate an input file for ParcelBuilder or a similar tool. A ParcelBuilder input file specifies the type, name, and version of all of the Pundles that are part of the current build.

Type: boolean

parcelBuilderInputFilename
The name of the file, relative to the Jenkins workspace directory, where the input file for ParcelBuilder will be written.

Type: String

$class: SubversionSCM

Checks out the source code from Subversion repositories. See post-commit hook set up for improved turn-around time and performance in polling.
locations

Array/List

Nested Object

remote:

Type: String

credentialsId:

Type: String

local:
Specify a local directory (relative to the workspace root) where this module is checked out. If left empty, the last path component of the URL is used as the default, just like the svn CLI. A single period ( .) may be used to check out the project directly into the workspace rather than into a subdirectory.

Type: String

depthOption:
--depth option for checkout and update commands. Default value is infinity.
  • empty includes only the immediate target of the operation, not any of its file or directory children.
  • files includes the immediate target of the operation and any of its immediate file children.
  • immediates includes the immediate target of the operation and any of its immediate file or directory children. The directory children will themselves be empty.
  • infinity includes the immediate target, its file and directory children, its children's children, and so on to full recursion.
  • as-it-is takes the working depth from the current working copy, allows for setting update depth manually using --set-depth option.
More information can be found here.

Type: String

ignoreExternalsOption:
"--ignore-externals" option will be used with svn checkout, svn update commands to disable externals definition processing.

More information can be found here.
Note: there is the potential to leverage 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.

Type: boolean

workspaceUpdater

Nested Choice of Objects $class: CheckoutUpdater $class: NoopUpdater $class: UpdateUpdater $class: UpdateWithCleanUpdater $class: UpdateWithRevertUpdater

browser

Nested Choice of Objects $class: Assembla spaceName:::::

+ Type: String

$class: BacklogRepositoryBrowser url:::::

+

Set the project URL of Repository Browser used with this project. Sample of URL are shown below.
  • https://demo.backlog.jp/projects/DORA

When no value is set, project of "Backlog URL" set above is used.

Type: String

$class: CollabNetSVN url:::::

+

The repository browser URL for the root of the project. For example, a Java.net project called myproject would use https://myproject.dev.java.net/source/browse/myproject.

Type: String

$class: FishEyeSVN url:::::

+

Specify the URL of this module in FishEye. (such as http://fisheye6.cenqua.com/browse/ant/)

Type: String

rootModule:
Specify the root Subversion module that this FishEye monitors. For example, for http://fisheye6.cenqua.com/browse/ant/, this field would be ant because it displays the directory "/ant" of the ASF repo. If FishEye is configured to display the whole SVN repository, leave this field empty.

Type: String

$class: Phabricator url:::::

+ Type: String

repo:

Type: String

$class: PolarionRepositoryBrowser url:::::

+ Type: String

location:

Type: String

$class: RedmineRepositoryBrowser repositoryId:::::

+ Type: String

$class: SVNWeb url:::::

+ Type: String

$class: Sventon url:::::

+

Specify the URL of the Sventon repository browser. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be http://somehost.com/svn/

Type: String

repositoryInstance:
Specify the Sventon repository instance name that references this subversion repository. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be local

Type: String

$class: Sventon2 url:::::

+

Specify the URL of the Sventon repository browser. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be http://somehost.com/svn/

Type: String

repositoryInstance:
Specify the Sventon repository instance name that references this subversion repository. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be local

Type: String

$class: TeamForge connectionFactory:::::

+ Nested Object

url::

This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.

Type: String

username::

The user who will upload the files.

Type: String

password::

The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.

Type: String

project:

Type: String

repo:

Type: String

$class: TracRepositoryBrowser $class: ViewSVN url:::::

+

Specify the root URL of ViewSVN for this repository (such as this).

Type: String

$class: ViewVCRepositoryBrowser url:::::

+ Type: String

location:

Type: String

$class: WebSVN url:::::

+ Type: String

$class: WebSVN2RepositoryBrowser url:::::

+ Type: String

excludedRegions
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders in this list when determining if a build needs to be triggered.

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

	/trunk/myapp/src/main/web/.*\.html
	/trunk/myapp/src/main/web/.*\.jpeg
	/trunk/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.

More information on regular expressions can be found here.

Type: String

excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

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

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.

Type: String

excludedRevprop
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions that are marked with the given revision property (revprop) when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with the correct revprop.

This type of exclusion only works with Subversion 1.5 servers and newer.

More information on revision properties can be found here.

Type: String

excludedCommitMessages
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions with commit messages containing any of the given regular expressions when determining if a build needs to be triggered.

Type: String

includedRegions
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders that are not in this list when determining if a build needs to be triggered.

Each inclusion uses regular expression pattern matching, and must be separated by a new line.

This is useful when you need to check out an entire resource for building, but only want to do the build when a subset has changed.

	/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.

Type: String

ignoreDirPropChanges
If set, Jenkins ignores svn-property only changes of directories. These changes are ignored when determining whether a build should be triggered and are removed from a build's changeset. Main usage of this property is to ignore svn:mergeinfo changes (which would otherwise e.g. lead to a complete rebuild of a maven project, in spite of incremental build option).

Type: boolean

filterChangelog
If set Jenkins will apply the same inclusion and exclusion patterns for displaying changelog entries as it does for polling for changes. If this is disabled, changes which are excluded for polling are still displayed in the changelog.

Type: 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:

  • If you access the repository via HTTP or HTTPS: Open the repo in a web browser without saved credentials. It will use the Realm Name (see above) in the authentication dialog.
  • Use the command line svn program.
    • If you don't have stored the credentials, run e.g. 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.
    • If you have already stored the credentials to access the repository, look for the realm name in one of the files in ~/.subversion/auth/svn/simple; it will be two lines below the line svn:realmstring.
  • When accessing a repository via the 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).

Array/List

Nested Object

realm:
This is the realm that the SvnKit library associates with a specific checkout. For most Subversion servers this will typically be of the format <scheme://hostname(:port)> name, while for servers accessed via svn+ssh it is of the format (username@)svn+ssh://hostname(:port).

Type: String

credentialsId:
Select the credential from the list of relevant credentials in order to use that credential for checking out the source code.

Type: String

$class: SurroundSCM server::::

+ Type: String

serverPort

Type: String

branch

Type: String

repository

Type: String

credentialsId

Type: String

rsaKey (optional)

Nested Object

rsaKeyFileId (optional):

Type: String

rsaKeyFilePath (optional):

Type: String

rsaKeyType (optional):

Values:

  • NoKey

  • Path

  • ID

    rsaKeyValue (optional):

    Type: String

rsaKeyFileId (optional)

Type: String

rsaKeyFilePath (optional)
Enter the full path to the RSA key file for the Surround SCM connection. Example: C:\SurroundRSAKeyFile.xml

Type: String

rsaKeyPath (optional)

Type: String

$class: SynergySCM project::::

+ Type: String

database

Type: String

release

Type: String

purpose

Type: String

username

Type: String

password

Type: String

engine

Type: String

oldProject

Type: String

baseline

Type: String

oldBaseline

Type: String

ccmHome

Type: String

remoteClient

Type: boolean

detectConflict

Type: boolean

replaceSubprojects

Type: boolean

checkForUpdateWarnings

Type: boolean

leaveSessionOpen

Type: boolean

maintainWorkarea

Type: boolean

checkTaskModifiedObjects

Type: boolean

$class: TeamFoundationServerScm serverUrl::::

+

NEW since 5.1.0: This field now allows you to select from a list that is built from the values configured under Team Project Collections at Jenkins > Manage Jenkins > Configure System.

If you are using Team Services, please omit the /DefaultCollection.
Examples:
  • http://tfs.example.com:8080/tfs/DefaultCollection
  • https://tfs.example.com:8080/tfs/CustomCollection
  • https://fabrikam-fiber-inc.visualstudio.com
Learn more about team project collections at MSDN.
Note:
Historically, this field was labeled "Server URL" because earlier versions of TFS did not support team project collections.

Type: String

projectPath

The name of the project as it is registered on the server.

Type: String

workspaceName

The name of the Workspace under which the source should be retrieved. This workspace is created as needed. You can normally omit the property unless you want to name a workspace to avoid conflicts on the server (i.e. when you have multiple projects on one server talking to TFS/Team Services)

The default value is to create a workspace named Hudson-${JOB_NAME}. The TFS plugin for Jenkins supports the following macros that are replaced in the workspace name:

  • ${JOB_NAME} - The name of the job.
  • ${USER_NAME} - The user name that the Hudson server or slave is running as.
  • ${NODE_NAME} - The name of the node/slave that the plugin currently is executed on. Note that this is not the hostname, this value is Hudson configured name of the slave/node.
  • ${ENV} - The environment variable that is set on the master or slave.

Type: String

userName

Type: String

password

hudson.util.Secret

cloakedPaths (optional)

Paths that are cloaked will not be pulled into the local workspace during a GET from the TFVC repository.
Check-ins that contain files only in cloaked folders (in other words, fully cloaked) will not trigger a build, whereas a check-in containing any path that isn't cloaked will trigger a build.

For example, suppose the Project path is $/Example/project/path, and the repository contains the following subfolders:

$/Example/project/path/A
$/Example/project/path/A/1
$/Example/project/path/A/2
$/Example/project/path/B
$/Example/project/path/C
Now, suppose the following paths were entered as Cloaked Paths:
$/Example/project/path/A/2
$/Example/project/path/B
...then the resulting workspace on the Jenkins server would only have the following folders:
$/Example/project/path/A
$/Example/project/path/A/1
$/Example/project/path/C

To continue with the example, the following check-in will not trigger a build, because it only contains changes under cloaked paths:

$/Example/project/path/A/2/alpha.txt
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt
...whereas this check-in will trigger a build, because it contains at least one path that isn't cloaked:
$/Example/project/path/A/1/first.txt
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt

Type: String

credentialsConfigurer (optional)
NEW since 5.1.0: Credentials for team project collections can now be configured once instead of once per job.
Automatic
Credentials will be looked up in the global configuration based on the Collection URL. Make sure you have added your credentials at Jenkins > Manage Jenkins > Configure Credentials and then add Team Project Collections that are linked to their corresponding credentials at Jenkins > Manage Jenkins > Configure System.

Consult the Global Configuration section in README.md for a walkthrough.
Manual
Credentials are specified in the job. This is the legacy behavior.

Nested Choice of Objects $class: AutomaticCredentialsConfigurer $class: ManualCredentialsConfigurer userName:::::

+

The name of the user that will be connecting to TFS/Team Services to query history, checkout files, etc.

Team Foundation Server (on-premises)

For [on-premises] Team Foundation Server, the user name can be specified in two ways:

  1. EXAMPLE-DOMAIN\user
  2. user@domain.example.com

Visual Studio Team Services (previously known as Visual Studio Online)

For Team Services, there are also two options:

  1. Personal access tokens (recommended)
    1. In Team Services, click your name in the top right corner and select Security.
    2. In the Personal access tokens area, select Add.
    3. Describe the token (use something like "Jenkins server at jenkins.example.com"), select an expiry timeframe, double-check the Team Services account the token will be valid for and, until the corresponding defect in Team Services is fixed, select All scopes.
    4. Click [Create Token] and copy the generated personal access token to the clipboard.
    5. Back to Jenkins, enter the e-mail address associated with your Team Services account as the User name and the generated personal access token as the User password.
  2. Alternate credentials
    1. In Team Services, click your name in the top right corner and select Security.
    2. In the Alternate credentials area, select Enable alternate authentication credentials.
    3. Enter a secondary user name and password, then click [Save].
    4. Back to Jenkins, re-enter those credentials in the User name and User password fields.

Type: String

password:

hudson.util.Secret

localPath (optional)

The folder where all files will be retrieved into. The folder name is a relative path, under the workspace of the current job.

The default setting is to retrieve the files into the workspace (ie. the workfolder is ".".

Type: String

useUpdate (optional)

Type: boolean

$class: UnityAssetSCM

Unity Asset Server Trigger
Starts a build when a change is detected on the unity asset server.
Configure the Postgres database with the right connection settings and the plugin will search for changes on the server with the interval of the Crontab.
Example, if the trigger start each hour based on the crontab schedule, it will search for changes in the last hour.

Plugin developed by Marcelo Adriano Brunken
BigPoint GmbH Germany

databaseUrl
Configure the Database IP Adress or Server name
Example: 127.0.0.1

Type: String

databasePort
Configure the Postgres Database port, default value is 10733

Type: int

instance
Configure the Database instance
Example: production-db

Type: String

user
Configure the Database User
Example: Admin

Type: String

password
Configure the Database User Password
Example: *****
LOL

Type: String

$class: VaultSCM serverName::::

+

Specify the hostname or IP address of the vault server.

Type: String

path

Type: String

userName

Type: String

password

Type: String

repositoryName

Type: String

vaultName

Type: String

sslEnabled

Type: boolean

useNonWorkingFolder

Type: boolean

merge

Type: String

fileTime

Type: String

makeWritableEnabled

Type: boolean

verboseEnabled

Type: boolean

$class: OpenShiftImageStreams imageStreamName:::

+

The name of the ImageStream is what shows up in the NAME column if you dump all the ImageStream's with the `oc get is` command invocation.

Type: String

tag
The specific image tag within the ImageStream to monitor.

Type: String

apiURL

Type: String

namespace

Type: String

authToken

Type: String

verbose

Type: String

$class: PdsConfiguration hostPort:::

+

The host address and port number for the mainframe server. The host and port must be separated by a ':' character.

Type: String

filterPattern
Filter pattern used by the mainframe to determine which datasets to download. Multiple filters can be defined, one filter per line. Use * as wildcards.

Type: String

fileExtension
File extension assigned to checked-out datasets. All datasets will be assigned the same file extension. If you want to use multiple fileextensions, multiple jobs must be created.

Type: String

credentialsId
The available credentials to use for logging onto the host. Alternatively, click Add to add credentials using the Credentials Plugin. Refer to the Jenkins documentation for the Credentials Plugin.

Type: String

codePage
The code page to be used for this connection. The code page is used to translate data sent to and from the host. The default is 1047.

Type: String

$class: PerforceSCM p4User:::

+ Type: String

p4Passwd

Type: String

p4Client

Type: String

p4Port

Type: String

projectOptions

Type: String

p4Tool

Type: String

p4SysRoot

Type: String

p4SysDrive

Type: String

p4Label

Type: String

p4Counter

Type: String

p4UpstreamProject

Type: String

lineEndValue

Type: String

p4Charset

Type: String

p4CommandCharset

Type: String

clientOwner

Type: String

updateCounterValue

Type: boolean

forceSync

Type: boolean

dontUpdateServer

Type: boolean

alwaysForceSync

Type: boolean

createWorkspace

Type: boolean

updateView

Type: boolean

disableChangeLogOnly

Type: boolean

disableSyncOnly

Type: boolean

showIntegChanges

Type: boolean

dontUpdateClient

Type: boolean

exposeP4Passwd

Type: boolean

pollOnlyOnMaster

Type: boolean

slaveClientNameFormat

Type: String

firstChange

Type: int

fileLimit

Type: int

browser

Nested Choice of Objects $class: FishEyePerforce url::::

+ Type: String

rootModule

Type: String

$class: P4Web url::::

+ Type: String

$class: Perfbrowse url::::

+ Type: String

excludedUsers

Type: String

excludedFiles

Type: String

excludedFilesCaseSensitivity

Type: boolean

depotType

Nested Object

value

Type: String

p4Stream

Type: String

clientSpec

Type: String

projectPath

Type: String

cleanWorkspace

Nested Object

cleanType

Nested Object

value:

Type: String

restoreChangedDeletedFiles:

Type: boolean

wipeRepoBeforeBuild

Type: boolean

useViewMask

Nested Object

viewMask

Type: String

useViewMaskForPolling

Type: boolean

useViewMaskForSyncing

Type: boolean

useViewMaskForChangeLog

Type: boolean

$class: PerforceScm credential:::

+

Perforce Credentials

Select the appropriate credential for the Perforce connection. Perforce Credentials are defined in the Jenkins Credentials plugin here.

There are two types:

  • 'Perforce Password Credential' for standard username/password authentication
  • 'Perforce Ticket Credential' for ticket based authentication.

Type: String

workspace
Workspace Behaviour

Select the appropriate Perforce workspace behaviour from the list. Not all modes will suit all Jenkins Job build types.

There are five types:

    Manual
    Manually define the Workspace view and sync options. Existing workspace will by updated or a new workspace created.
    Spec File
    Use a pre-defined Workspace Spec file versioned in Perforce.
    Static
    Use a pre-defined Workspace; must already exist and have a valid view.
    Streams
    Auto create/update a Streams workspace with a view determined by the chosen stream.
    Template
    Auto create/update a normal workspace with a view determined by the template workspace.

Nested Choice of Objects $class: ManualWorkspaceImpl charset::::

+

P4CHARSET

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.

Type: String

pinHost

Type: boolean

name
Workspace name

Specify the name of the Perforce workspace to be used as the Jenkins build workspace. If the workspace does not yet exist, the configuration will be saved in Jenkins; the workspace is created only when it is to be used. If the workspace exists and you are connected to a Perforce server the auto-text fill should list suitable workspaces; updates are only applied when the workspace is used.

Type: String

spec

Nested Object

allwrite:

Type: boolean

clobber:

Type: boolean

compress:

Type: boolean

locked:

Type: boolean

modtime:

Type: boolean

rmdir:

Type: boolean

streamName:

Type: String

line:
Line Endings

Set line-ending character(s) for client text files.

  • UNIX

    linefeed: UNIX style.

  • MAC

    carriage return: Macintosh style. (obsolete)

  • WIN

    carriage return-linefeed: Windows style.

  • SHARE

    hybrid: writes UNIX style but reads UNIX, Mac or Windows style.

Type: String

view:
View

Lines to map depot files into the client workspace.

Maps files in the depot to files in your client workspace. Defines the files that you want in your client workspace and specifies where you want them to reside. The default view maps all depot files onto the client. See 'p4 help views' for view syntax. A new view takes effect on the next 'p4 sync'.

Type: String

changeView:

Type: String

type:
Type

Type of client: writeable/readonly/partitioned/graph

By default all clients are 'writeable', certain clients are short lived and perform long sync and build cycles. Over time these build clients can fragment the 'db.have' table which is used to track what files a client has synced. Setting a type of 'readonly' gives the client its own personal 'db.have' database table. A 'readonly' client cannot 'edit' or 'submit' files, however for build automation this is not usually a requirement and the performance tradeoff is worth considering if your build automation is causing issues with the 'db.have' table. This option requires that an administrator has first configured the 'client.readonly.dir' setting. If it is necessary to submit changes as part of your build, you may specify a 'partitioned' client: like a 'reaonly' client, this type also has a separate 'db.have' table under the 'client.readonly.dir' directory, but allows journalled 'edit' and 'submit' of files.

Type: String

serverID:

Type: String

backup:
Backup

Client's participation in backup enable/disable. If not specified backup of a writable client defaults to enabled.

Type: boolean

syncID (optional)

Type: String

$class: SpecWorkspaceImpl charset::::

+

P4CHARSET

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.

Type: String

pinHost

Type: boolean

name
An existing workspace

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.

Type: String

specPath

Type: String

syncID (optional)

Type: String

$class: StaticWorkspaceImpl charset::::

+

P4CHARSET

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.

Type: String

pinHost

Type: boolean

name
An existing workspace

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

Type: String

syncID (optional)

Type: String

$class: StreamWorkspaceImpl charset::::

+

P4CHARSET

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.

Type: String

pinHost

Type: boolean

streamName
Stream codeline

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-stream

Type: String

format
Workspace name formatter

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

Type: String

syncID (optional)

Type: String

$class: TemplateWorkspaceImpl charset::::

+

P4CHARSET

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.

Type: String

pinHost

Type: boolean

templateName
Templace workspace

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

Type: String

format
Workspace name formatter

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

Type: String

syncID (optional)

Type: String

filter

Array/List

Nested Choice of Objects $class: FilterPathImpl path::::

+

Depot path filter

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

Type: String

$class: FilterPerChangeImpl perChange::::

+ Type: boolean

$class: FilterUserImpl user::::

+

User name filter

Changes can be filtered to not trigger a build; if the owner of a change matches the specified name, the build is filtered.

Type: String

$class: FilterViewMaskImpl viewMask::::

+

View Mask filter

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

Type: String

populate
Populate Options

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:

    Automatic Cleanup and Sync
    Efficient cleaning and syncing of file revisions. Extra (non versioned files) are removed, missing and modified files re-added.
    Best for clean builds.
    Force Clean and Sync
    Will remove all files from under the workspace root, then force sync the required files. Inefficient and NOT RECOMENDED.
    Sync Only
    No cleanup attempted; the sync will update all files (as CLOBBER is set) to the required set of revisions.
    Best for incremental builds.
    Preview Check Only
    No files Sync or cleanup attempted; the Workspace's have list is updated.
    Effective command 'p4 sync -k'.

Nested Choice of Objects $class: AutoCleanImpl replace::::

+

REPLACE missing/modified files

Perforce will check out and overwrite any depot files which are either missing from workspace, or have been modified locally.

Type: boolean

delete
DELETE generated files

Perforce will delete any local files that are not in the depot.

Type: boolean

modtime

Type: boolean

quiet
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin
Pinning a build at Perforce Label

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).

Type: String

parallel

Nested Object

enable:

Type: boolean

path:

Type: String

threads:

Type: String

minfiles:

Type: String

minbytes:

Type: String

$class: CheckOnlyImpl have::::

+ Type: boolean

force

Type: boolean

modtime

Type: boolean

quiet
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin

Type: String

$class: ForceCleanImpl have::::

+ Type: boolean

quiet
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin
Pinning a build at Perforce Label

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).

Type: String

parallel

Nested Object

enable:

Type: boolean

path:

Type: String

threads:

Type: String

minfiles:

Type: String

minbytes:

Type: String

$class: GraphHybridImpl quiet::::

+

Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin
Pinning a build at Perforce Label

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).

Type: String

parallel

Nested Object

enable:

Type: boolean

path:

Type: String

threads:

Type: String

minfiles:

Type: String

minbytes:

Type: String

$class: SyncOnlyImpl revert::::

+ Type: boolean

have

Type: boolean

modtime

Type: boolean

quiet
Suppressing info messages

Enables the -q flag for all applicable Perforce operations. Summary details will still be displayed.

Type: boolean

pin
Pinning a build at Perforce Label

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).

Type: String

parallel

Nested Object

enable:

Type: boolean

path:

Type: String

threads:

Type: String

minfiles:

Type: String

minbytes:

Type: String

browser

Nested Choice of Objects $class: FishEyeBrowser

url

Type: String

rootModule

Type: String

$class: OpenGrokBrowser url::::

+ Type: String

depotPath

Type: String

projectName

Type: String

$class: P4WebBrowser url::::

+ Type: String

$class: SwarmBrowser url::::

+ Type: String

$class: PlasticSCM selector:::

+ Type: String

workspaceName

Type: String

useUpdate

Type: boolean

additionalWorkspaces

Array/List

Nested Object

selector

Type: String

workspaceName

Type: String

useUpdate

Type: boolean

$class: ProxySCM projectName:::

+ Type: String

$class: PvcsScm projectRoot:::

+ Type: String

archiveRoot

Type: String

changeLogPrefixFudge

Type: String

moduleDir

Type: String

loginId

Type: String

pvcsWorkspace

Type: String

promotionGroup

Type: String

versionLabel

Type: String

cleanCopy

Type: boolean

$class: RTCScm overrideGlobal:::

+

The build toolkit location and Jazz Repository connection can be defined globally or overridden. If not defined globally, it must be overridden.

Type: boolean

buildTool

The RTC build toolkit to use when performing builds. The toolkits available are defined in the system configuration (with the other tools like Ant and Java). The build toolkit is also necessary on the Master for polling and validating the job configuration unless the "Avoid using build toolkit on Master" option is enabled.

Type: String

serverURI

The Jazz Repository connection URI for the Rational Team Concert (RTC) server

Type: String

timeout

The timeout period in seconds for Jazz repository requests made during the build.

Type: int

userId

The build user id. Either credentials or a user id and password information should be supplied.

Type: String

password

The Jazz Repository password for the build user. The use of a password is not secure, it can be easily discovered by anyone with access to this page. Credentials, a password file or a password should be supplied.

hudson.util.Secret

passwordFile

The path to the file containing the obfuscated Jazz Repository password for the build user. Credentials, a password file or a password should be supplied.

Type: String

credentialsId

Credentials to use for the build user. A user name and password credential for the Jazz Repository should be configured.

Type: String

buildType

Nested Object

value

Type: String

buildDefinition

Type: String

buildWorkspace

Type: String

buildSnapshot

Type: String

buildStream

Type: String

acceptBeforeLoad (optional)

Type: boolean

buildSnapshotContext (optional)

Nested Object

snapshotOwnerType:

Type: String

processAreaOfOwningStream:

Type: String

owningStream:

Type: String

owningWorkspace:

Type: String

clearLoadDirectory (optional)

Type: boolean

createFoldersForComponents (optional)

Type: boolean

currentSnapshotOwnerType (optional)

Type: String

customizedSnapshotName (optional)

Type: String

generateChangelogWithGoodBuild (optional)

Type: boolean

loadDirectory (optional)

Type: String

overrideDefaultSnapshotName (optional)

Type: boolean

processArea (optional)

Type: String

avoidUsingToolkit

Where possible avoid using the Build toolkit when performing tasks on the Master. This is still in the experimental stage. You will require an RTC 5.0 server which provides some of the services used.

The Build toolkit will not be used when polling RTC and terminating the RTC Build. The toolkit is still required though. It is used for other configuration tasks on the Master (i.e. validating the connection to RTC, the build definition or workspace). It is also used for checkout tasks typically performed on slave nodes.

Type: boolean

$class: RepoScm manifestRepositoryUrl:::

+ Type: String

currentBranch (optional)

Type: boolean

depth (optional)

Type: int

destinationDir (optional)

Type: String

forceSync (optional)

Type: boolean

ignoreProjects (optional)

Type: String

jobs (optional)

Type: int

localManifest (optional)

Type: String

manifestBranch (optional)

Type: String

manifestFile (optional)

Type: String

manifestGroup (optional)

Type: String

mirrorDir (optional)

Type: String

noTags (optional)

Type: boolean

quiet (optional)

Type: boolean

repoUrl (optional)

Type: String

resetFirst (optional)

Type: boolean

showAllChanges (optional)

Type: boolean

trace (optional)

Type: boolean

$class: SCLMSCM server:::

+ Type: String

port

Type: int

userID

Type: String

password

Type: String

JESINTERFACELEVEL1

Type: boolean

project

Type: String

alternate

Type: String

group

Type: String

types

Type: String

custJobStep

Type: boolean

JobStep

Type: String

custJobHeader

Type: boolean

JobHeader

Type: String

$class: ShellScriptSCM checkoutShell:::

+ Type: String

pollingShell

Type: String

useCheckoutForPolling

Type: boolean

$class: SimpleClearCaseSCM loadRules:::

+

Specify the paths to the source code inside of ClearCase VOBS. one Path for each line. For instance:

/vobs/structure/package/product/subproduct
/vobs/structure/package/product/anothersubproduct.

Type: String

viewname
The viewname which has a configured config spec. This is external to the plugin as the way the config spec can be configured in many different ways. From updating the config spec dynamically with fixed intervals to having a constant one throughout a full project life time.

Type: String

branch
Specify which branch to follow. Not mandatory. If not set then all branches will be followed, i.e you will get notifications about changes in branches which your config specification isn't related to. Example value: main, dev etc.

Type: String

filter
Filters out mkbranch and rmbranch messages in lshistory. These changes isn't relevant if you are tracking source files in a specific branch.

Type: boolean

$class: StarTeamSCM hostname:::

+ Type: String

port

Type: int

projectname

Type: String

viewname

Type: String

foldername

Type: String

username

Type: String

password

Type: String

labelname

Type: String

promotionstate

Type: boolean

$class: StoreSCM scriptName:::

+ Type: String

repositoryName
Specify the name of the Store repository to be checked. It is assumed that the Smalltalk image being run by the "script" property will contain any necessary repository definitions.

Type: String

pundles
List the names of the top-level pundles (bundles and/or packages) to check for changes. All listed pundles and their recursive prerequisites will be checked.

Array/List

Nested Object

pundleType

Values:

  • PACKAGE

  • BUNDLE

name

Type: String

versionRegex
Specify a Regex11-style regular expression that specifies which pundle versions to consider when checking for changes. Examples:
  • .+ (the default) will match any version string
  • \d+ will match any integer version number
  • (7.9\s*-\s*)?\d+ will match any integer version number with an optional "7.9 - " prefix

Type: String

minimumBlessingLevel
Choose the minimum Store blessing level that should be considered. Pundle versions with a lower blessing level will be ignored.

Type: String

generateParcelBuilderInputFile
Check this if Jenkins should generate an input file for ParcelBuilder or a similar tool. A ParcelBuilder input file specifies the type, name, and version of all of the Pundles that are part of the current build.

Type: boolean

parcelBuilderInputFilename
The name of the file, relative to the Jenkins workspace directory, where the input file for ParcelBuilder will be written.

Type: String

$class: SubversionSCM

Checks out the source code from Subversion repositories. See post-commit hook set up for improved turn-around time and performance in polling.
locations

Array/List

Nested Object

remote

Type: String

credentialsId

Type: String

local
Specify a local directory (relative to the workspace root) where this module is checked out. If left empty, the last path component of the URL is used as the default, just like the svn CLI. A single period ( .) may be used to check out the project directly into the workspace rather than into a subdirectory.

Type: String

depthOption
--depth option for checkout and update commands. Default value is infinity.
  • empty includes only the immediate target of the operation, not any of its file or directory children.
  • files includes the immediate target of the operation and any of its immediate file children.
  • immediates includes the immediate target of the operation and any of its immediate file or directory children. The directory children will themselves be empty.
  • infinity includes the immediate target, its file and directory children, its children's children, and so on to full recursion.
  • as-it-is takes the working depth from the current working copy, allows for setting update depth manually using --set-depth option.
More information can be found here.

Type: String

ignoreExternalsOption
"--ignore-externals" option will be used with svn checkout, svn update commands to disable externals definition processing.

More information can be found here.
Note: there is the potential to leverage 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.

Type: boolean

workspaceUpdater

Nested Choice of Objects $class: CheckoutUpdater $class: NoopUpdater $class: UpdateUpdater $class: UpdateWithCleanUpdater $class: UpdateWithRevertUpdater

browser

Nested Choice of Objects $class: Assembla spaceName::::

+ Type: String

$class: BacklogRepositoryBrowser url::::

+

Set the project URL of Repository Browser used with this project. Sample of URL are shown below.
  • https://demo.backlog.jp/projects/DORA

When no value is set, project of "Backlog URL" set above is used.

Type: String

$class: CollabNetSVN url::::

+

The repository browser URL for the root of the project. For example, a Java.net project called myproject would use https://myproject.dev.java.net/source/browse/myproject.

Type: String

$class: FishEyeSVN url::::

+

Specify the URL of this module in FishEye. (such as http://fisheye6.cenqua.com/browse/ant/)

Type: String

rootModule
Specify the root Subversion module that this FishEye monitors. For example, for http://fisheye6.cenqua.com/browse/ant/, this field would be ant because it displays the directory "/ant" of the ASF repo. If FishEye is configured to display the whole SVN repository, leave this field empty.

Type: String

$class: Phabricator url::::

+ Type: String

repo

Type: String

$class: PolarionRepositoryBrowser url::::

+ Type: String

location

Type: String

$class: RedmineRepositoryBrowser repositoryId::::

+ Type: String

$class: SVNWeb url::::

+ Type: String

$class: Sventon url::::

+

Specify the URL of the Sventon repository browser. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be http://somehost.com/svn/

Type: String

repositoryInstance
Specify the Sventon repository instance name that references this subversion repository. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be local

Type: String

$class: Sventon2 url::::

+

Specify the URL of the Sventon repository browser. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be http://somehost.com/svn/

Type: String

repositoryInstance
Specify the Sventon repository instance name that references this subversion repository. For example, if you normally browse from http://somehost.com/svn/repobrowser.svn?name=local, this field would be local

Type: String

$class: TeamForge connectionFactory::::

+ Nested Object

url:

This should be the URL of your CollabNet TeamForge site. It should be of the form 'https://forge.collab.net'.

Type: String

username:

The user who will upload the files.

Type: String

password:

The password for the user specified above. If incorrectly given, the login to the CollabNet TeamForge server will fail.

Type: String

project

Type: String

repo

Type: String

$class: TracRepositoryBrowser $class: ViewSVN url::::

+

Specify the root URL of ViewSVN for this repository (such as this).

Type: String

$class: ViewVCRepositoryBrowser url::::

+ Type: String

location

Type: String

$class: WebSVN url::::

+ Type: String

$class: WebSVN2RepositoryBrowser url::::

+ Type: String

excludedRegions
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders in this list when determining if a build needs to be triggered.

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

	/trunk/myapp/src/main/web/.*\.html
	/trunk/myapp/src/main/web/.*\.jpeg
	/trunk/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.

More information on regular expressions can be found here.

Type: String

excludedUsers
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions committed by users in this list when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with a distinct SCM user.

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

	 auto_build_user
  
The example above illustrates that if only revisions by "auto_build_user" have been committed to the SCM a build will not occur.

Type: String

excludedRevprop
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions that are marked with the given revision property (revprop) when determining if a build needs to be triggered. This can be used to exclude commits done by the build itself from triggering another build, assuming the build server commits the change with the correct revprop.

This type of exclusion only works with Subversion 1.5 servers and newer.

More information on revision properties can be found here.

Type: String

excludedCommitMessages
If set, and Jenkins is set to poll for changes, Jenkins will ignore any revisions with commit messages containing any of the given regular expressions when determining if a build needs to be triggered.

Type: String

includedRegions
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders that are not in this list when determining if a build needs to be triggered.

Each inclusion uses regular expression pattern matching, and must be separated by a new line.

This is useful when you need to check out an entire resource for building, but only want to do the build when a subset has changed.

	/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.

Type: String

ignoreDirPropChanges
If set, Jenkins ignores svn-property only changes of directories. These changes are ignored when determining whether a build should be triggered and are removed from a build's changeset. Main usage of this property is to ignore svn:mergeinfo changes (which would otherwise e.g. lead to a complete rebuild of a maven project, in spite of incremental build option).

Type: boolean

filterChangelog
If set Jenkins will apply the same inclusion and exclusion patterns for displaying changelog entries as it does for polling for changes. If this is disabled, changes which are excluded for polling are still displayed in the changelog.

Type: 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:

  • If you access the repository via HTTP or HTTPS: Open the repo in a web browser without saved credentials. It will use the Realm Name (see above) in the authentication dialog.
  • Use the command line svn program.
    • If you don't have stored the credentials, run e.g. 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.
    • If you have already stored the credentials to access the repository, look for the realm name in one of the files in ~/.subversion/auth/svn/simple; it will be two lines below the line svn:realmstring.
  • When accessing a repository via the 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).

Array/List

Nested Object

realm
This is the realm that the SvnKit library associates with a specific checkout. For most Subversion servers this will typically be of the format <scheme://hostname(:port)> name, while for servers accessed via svn+ssh it is of the format (username@)svn+ssh://hostname(:port).

Type: String

credentialsId
Select the credential from the list of relevant credentials in order to use that credential for checking out the source code.

Type: String

$class: SurroundSCM server:::

+ Type: String

serverPort

Type: String

branch

Type: String

repository

Type: String

credentialsId

Type: String

rsaKey (optional)

Nested Object

rsaKeyFileId (optional)

Type: String

rsaKeyFilePath (optional)

Type: String

rsaKeyType (optional)

Values:

  • NoKey

  • Path

  • ID

rsaKeyValue (optional)

Type: String

rsaKeyFileId (optional)

Type: String

rsaKeyFilePath (optional)
Enter the full path to the RSA key file for the Surround SCM connection. Example: C:\SurroundRSAKeyFile.xml

Type: String

rsaKeyPath (optional)

Type: String

$class: SynergySCM project:::

+ Type: String

database

Type: String

release

Type: String

purpose

Type: String

username

Type: String

password

Type: String

engine

Type: String

oldProject

Type: String

baseline

Type: String

oldBaseline

Type: String

ccmHome

Type: String

remoteClient

Type: boolean

detectConflict

Type: boolean

replaceSubprojects

Type: boolean

checkForUpdateWarnings

Type: boolean

leaveSessionOpen

Type: boolean

maintainWorkarea

Type: boolean

checkTaskModifiedObjects

Type: boolean

$class: TeamFoundationServerScm serverUrl:::

+

NEW since 5.1.0: This field now allows you to select from a list that is built from the values configured under Team Project Collections at Jenkins > Manage Jenkins > Configure System.

If you are using Team Services, please omit the /DefaultCollection.
Examples:
  • http://tfs.example.com:8080/tfs/DefaultCollection
  • https://tfs.example.com:8080/tfs/CustomCollection
  • https://fabrikam-fiber-inc.visualstudio.com
Learn more about team project collections at MSDN.
Note:
Historically, this field was labeled "Server URL" because earlier versions of TFS did not support team project collections.

Type: String

projectPath

The name of the project as it is registered on the server.

Type: String

workspaceName

The name of the Workspace under which the source should be retrieved. This workspace is created as needed. You can normally omit the property unless you want to name a workspace to avoid conflicts on the server (i.e. when you have multiple projects on one server talking to TFS/Team Services)

The default value is to create a workspace named Hudson-${JOB_NAME}. The TFS plugin for Jenkins supports the following macros that are replaced in the workspace name:

  • ${JOB_NAME} - The name of the job.
  • ${USER_NAME} - The user name that the Hudson server or slave is running as.
  • ${NODE_NAME} - The name of the node/slave that the plugin currently is executed on. Note that this is not the hostname, this value is Hudson configured name of the slave/node.
  • ${ENV} - The environment variable that is set on the master or slave.

Type: String

userName

Type: String

password

hudson.util.Secret

cloakedPaths (optional)

Paths that are cloaked will not be pulled into the local workspace during a GET from the TFVC repository.
Check-ins that contain files only in cloaked folders (in other words, fully cloaked) will not trigger a build, whereas a check-in containing any path that isn't cloaked will trigger a build.

For example, suppose the Project path is $/Example/project/path, and the repository contains the following subfolders:

$/Example/project/path/A
$/Example/project/path/A/1
$/Example/project/path/A/2
$/Example/project/path/B
$/Example/project/path/C
Now, suppose the following paths were entered as Cloaked Paths:
$/Example/project/path/A/2
$/Example/project/path/B
...then the resulting workspace on the Jenkins server would only have the following folders:
$/Example/project/path/A
$/Example/project/path/A/1
$/Example/project/path/C

To continue with the example, the following check-in will not trigger a build, because it only contains changes under cloaked paths:

$/Example/project/path/A/2/alpha.txt
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt
...whereas this check-in will trigger a build, because it contains at least one path that isn't cloaked:
$/Example/project/path/A/1/first.txt
$/Example/project/path/A/2/second.txt
$/Example/project/path/B/bravo.txt

Type: String

credentialsConfigurer (optional)
NEW since 5.1.0: Credentials for team project collections can now be configured once instead of once per job.
Automatic
Credentials will be looked up in the global configuration based on the Collection URL. Make sure you have added your credentials at Jenkins > Manage Jenkins > Configure Credentials and then add Team Project Collections that are linked to their corresponding credentials at Jenkins > Manage Jenkins > Configure System.

Consult the Global Configuration section in README.md for a walkthrough.
Manual
Credentials are specified in the job. This is the legacy behavior.

Nested Choice of Objects $class: AutomaticCredentialsConfigurer $class: ManualCredentialsConfigurer userName::::

+

The name of the user that will be connecting to TFS/Team Services to query history, checkout files, etc.

Team Foundation Server (on-premises)

For [on-premises] Team Foundation Server, the user name can be specified in two ways:

  1. EXAMPLE-DOMAIN\user
  2. user@domain.example.com

Visual Studio Team Services (previously known as Visual Studio Online)

For Team Services, there are also two options:

  1. Personal access tokens (recommended)
    1. In Team Services, click your name in the top right corner and select Security.
    2. In the Personal access tokens area, select Add.
    3. Describe the token (use something like "Jenkins server at jenkins.example.com"), select an expiry timeframe, double-check the Team Services account the token will be valid for and, until the corresponding defect in Team Services is fixed, select All scopes.
    4. Click [Create Token] and copy the generated personal access token to the clipboard.
    5. Back to Jenkins, enter the e-mail address associated with your Team Services account as the User name and the generated personal access token as the User password.
  2. Alternate credentials
    1. In Team Services, click your name in the top right corner and select Security.
    2. In the Alternate credentials area, select Enable alternate authentication credentials.
    3. Enter a secondary user name and password, then click [Save].
    4. Back to Jenkins, re-enter those credentials in the User name and User password fields.

Type: String

password

hudson.util.Secret

localPath (optional)

The folder where all files will be retrieved into. The folder name is a relative path, under the workspace of the current job.

The default setting is to retrieve the files into the workspace (ie. the workfolder is ".".

Type: String

useUpdate (optional)

Type: boolean

$class: UnityAssetSCM

Unity Asset Server Trigger
Starts a build when a change is detected on the unity asset server.
Configure the Postgres database with the right connection settings and the plugin will search for changes on the server with the interval of the Crontab.
Example, if the trigger start each hour based on the crontab schedule, it will search for changes in the last hour.

Plugin developed by Marcelo Adriano Brunken
BigPoint GmbH Germany

databaseUrl
Configure the Database IP Adress or Server name
Example: 127.0.0.1

Type: String

databasePort
Configure the Postgres Database port, default value is 10733

Type: int

instance
Configure the Database instance
Example: production-db

Type: String

user
Configure the Database User
Example: Admin

Type: String

password
Configure the Database User Password
Example: *****
LOL

Type: String

$class: VaultSCM serverName:::

+

Specify the hostname or IP address of the vault server.

Type: String

path

Type: String

userName

Type: String

password

Type: String

repositoryName

Type: String

vaultName

Type: String

sslEnabled

Type: boolean

useNonWorkingFolder

Type: boolean

merge

Type: String

fileTime

Type: String

makeWritableEnabled

Type: boolean

verboseEnabled

Type: boolean

changelog (optional)

Type: boolean

poll (optional)

Type: boolean