The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

Pipeline: SCM Step

checkout: Check out from version control

  • scm
      Nested Choice of Objects
    • $class: 'AWSCodePipelineSCM'
      • name : String
      • clearWorkspace : boolean
      • region : String
      • awsAccessKey : String

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

      • awsSecretKey : String

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

      • proxyHost : String

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

      • proxyPort : String

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

      • category : String

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

      • provider : String

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

      • version : String

        Leave the default as 1.

    • accurev
      • depot : String
      • stream : String
      • serverName : String (optional)
      • serverUUID : String (optional)
      • wspaceORreftree : String (optional)
      • accurevTool : String (optional)
      • cleanreftree : boolean (optional)
      • directoryOffset : String (optional)
      • dontPopContent : boolean (optional)
      • filterForPollSCM : String (optional)
      • ignoreStreamParent : boolean (optional)
      • reftree : String (optional)
      • snapshotNameFormat : String (optional)
      • subPath : String (optional)
      • subPathOnly : boolean (optional)
      • synctime : boolean (optional)
      • useSnapshot : boolean (optional)
      • workspace : String (optional)
    • $class: 'BazaarSCM'
      • source : String
      • cleantree : boolean
      • browser
          Nested Choice of Objects
        • $class: 'Loggerhead'
          • url : String
            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.
        • $class: 'OpenGrok'
          • url : String
            The repository browser URL for the root of the project. For example, the OpenGrok project would use http://src.opensolaris.org/source/.
          • rootModule : String
            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/".
      • checkout : boolean
    • $class: 'BitKeeperSCM'
      • parent : String
      • localRepository : String
      • usePull : boolean
      • quiet : boolean
    • BbS
      • id : String
      • branches
          Array / List of Nested Object
        • name : String

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

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

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

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

          Possible options:

          • <branchName>
            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

      • credentialsId : String

        When running a job, Jenkins requires credentials to authenticate with Bitbucket Server. For example, to checkout the source code for builds. To do this, it needs credentials with access to the projects and repositories you want it to build from.

        You can provide Jenkins with credentials here by:

        • selecting credentials from the list
        • adding credentials as a Username with password (for the password, you can enter a Bitbucket Server password or a Bitbucket Server personal access token)

        In addition, you can provide Jenkins with SSH credentials below. If you do, Jenkins will use them for clone operations instead of the credentials you select here.

      • sshCredentialsId : String

        If specified, Jenkins will use these credentials to check out the source code for builds. If no SSH credentials are specified, Jenkins will use the basic credentials instead.

        To provide Jenkins with SSH credentials, you can:

        • choose credentials from the list
        • add credentials as a SSH Username with private key (the username must be "git")
      • extensions
          Array / List of 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.
          • $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 : int
                  • ancestorCommitSha1 : String
                • $class: 'DefaultBuildChooser'
                  • $class: 'DeflakeGitBuildChooser'
                    • $class: 'GerritTriggerBuildChooser'
                      • $class: 'InverseBuildChooser'
                    • $class: 'BuildSingleRevisionOnly'
                      Disable scheduling for multiple candidate revisions.
                      If we have 3 branches:
                      ----A--.---.--- B
                               \-----C
                      jenkins would try to build (B) and (C).
                      This behaviour disables this and only builds one of them.
                      It is helpful to reduce the load of the Jenkins infrastructure when the SCM system like Bitbucket or GitHub should decide what commits to build.
                      • $class: 'ChangelogToBranch'
                        This method calculates the changelog against the specified branch.
                        • options
                            Nested Object
                          • compareRemote : String
                            Name of the repository, such as origin, that contains the branch you specify below.
                          • compareTarget : String
                            The name of the branch within the named repository to compare against.
                      • $class: 'CheckoutOption'
                        • timeout : int
                          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 controller and agent to have effect (see JENKINS-22547).
                      • $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.
                        • deleteUntrackedNestedRepositories : boolean (optional)
                          Deletes untracked submodules and any other subdirectories which contain .git directories.
                      • $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.
                        • deleteUntrackedNestedRepositories : boolean (optional)
                          Deletes untracked submodules and any other subdirectories which contain .git directories.
                      • $class: 'CloneOption'
                        • shallow : boolean
                          Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                        • noTags : boolean
                          Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
                        • reference : String
                          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 controller or agent where the clone is being executed.
                        • timeout : int
                          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 controller and agent to have effect (see JENKINS-22547).
                        • depth : int (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 commits of a repository.
                        • honorRefspec : boolean (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.
                      • $class: 'CodeCommitURLHelper'
                        • credentialId : String

                          OPTIONAL: Select the credentials to use.
                          If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*

                          In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.

                        • repositoryName : String
                      • $class: 'DisableRemotePoll'
                        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: 'ExcludeFromChangeSet'
                          • $class: 'ExcludeFromPoll'
                            • $class: 'GitLFSPull'
                              Enable git large file support for the workspace by pulling large files after the checkout completes. Requires that the controller and each agent performing an LFS checkout have installed `git lfs`.
                              • $class: 'GitSCMChecksExtension'
                                • verboseConsoleLog : boolean (optional)
                                  If this option is checked, verbose log will be output to build console; the verbose log is useful for debugging the publisher creation.
                              • $class: 'GitSCMStatusChecksExtension'
                                • name : String (optional)
                                • skip : boolean (optional)
                                • skipProgressUpdates : boolean (optional)
                                • suppressLogs : boolean (optional)
                                • unstableBuildNeutral : boolean (optional)
                              • $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 you ticked the Use most recent tag option, and the revision checked out has no git tag associated with it, the parent commits will be searched for a git tag, and the rules stated above will apply to the first parent commit with a git tag.

                                If the revision has more than one tag associated with it, only the most recent tag will be taken into account, unless the refspec contains "refs/tags/" — i.e. builds are only triggered when certain tag names or patterns are matched — in which case the exact tag name that triggered the build will be used, even if it's not the most recent tag for this commit.
                                For this reason, if you're not using a tag-specific refspec but you are using the "Create a tag for every build" behaviour, you should make sure that the build-tagging behaviour is configured to run after this "export git tag message" behaviour.

                                Tag and commit messages which span multiple lines are no problem, though only the first 10000 lines of a tag's message will be exported.
                                • useMostRecentTag : boolean (optional)
                              • $class: 'IgnoreNotifyCommit'
                                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 : String
                                • $class: 'MessageExclusion'
                                  • excludedMessage : String
                                    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.
                                • $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 : String
                                    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.
                                  • excludedRegions : String
                                    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.
                                • $class: 'PerBuildTag'
                                  Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
                                  • $class: 'PreBuildMerge'
                                    These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
                                    • options
                                        Nested Object
                                      • mergeTarget : String
                                        The name of the branch within the named repository to merge to, such as master.
                                      • fastForwardMode (optional)
                                        Merge fast-forward mode selection.
                                        The default, --ff, gracefully falls back to a merge commit when required.
                                        For more information, see the Git Merge Documentation
                                        • Values: FF, FF_ONLY, NO_FF
                                      • mergeRemote : String (optional)
                                        Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
                                      • mergeStrategy (optional)
                                        Merge strategy selection. This feature is not fully implemented in JGIT.
                                        • Values: DEFAULT, RESOLVE, RECURSIVE, OCTOPUS, OURS, SUBTREE, RECURSIVE_THEIRS
                                  • pretestedIntegration
                                    • gitIntegrationStrategy
                                        Nested Choice of Objects
                                      • accumulated

                                        Accumulated Commit Strategy

                                        This strategy merges your commits with the --no-ff switch
                                        • shortCommitMessage : boolean (optional)
                                      • ffonly

                                        Fast Forward only (--ff-only) Strategy

                                        This strategy fast-forward only using the --ff-only switch - or fails
                                        • shortCommitMessage : boolean (optional)
                                      • squash

                                        Squashed Commit Strategy

                                        This strategy squashes all your commit on a given branch with the --squash option
                                      • integrationBranch : String

                                        What to specify

                                        The branch name must match your integration branch name. No trailing slash.

                                        Merge is performed the following way

                                        Squash commit
                                                    git checkout -B <Branch name> <Repository name>/<Branch name>
                                                    git merge --squash <Branch matched by git>
                                                    git commit -C <Branch matched by git>
                                        Accumulated commit
                                                    git checkout -B <Branch name> <Repository name>/<Branch name>
                                                    git merge -m <commitMsg> <Branch matched by git> --no-ff

                                        When changes are pushed to the integration branch?

                                        Changes are only ever pushed when the build results is SUCCESS

                                                    git push <Repository name> <Branch name>
                                      • repoName : String

                                        What to specify

                                        The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.

                                        No trailing slash on repository name.

                                        Remember to specify this when working with NAMED repositories in Git

                                    • $class: 'PruneStaleBranch'
                                      Run "git remote prune" for each remote, to prune obsolete local branches.
                                      • pruneTags
                                        • pruneTags : boolean
                                      • $class: 'RelativeTargetDirectory'
                                        • relativeTargetDir : String
                                          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.

                                          This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.

                                      • $class: 'ScmName'

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

                                        • name : String
                                      • $class: 'SparseCheckoutPaths'

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

                                        • sparseCheckoutPaths
                                            Array / List of Nested Object
                                          • path : String
                                      • $class: 'SubmoduleOption'
                                        • disableSubmodules : boolean
                                          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.
                                        • recursiveSubmodules : boolean
                                          Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
                                        • trackingSubmodules : boolean
                                          Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
                                        • reference : String
                                          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 controller or agent 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
                                            
                                        • timeout : int
                                          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 controller and agent to have effect (see JENKINS-22547).
                                        • parentCredentials : boolean
                                          Use credentials from the default remote of the parent project.
                                        • depth : int (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 commits of a repository.
                                        • shallow : boolean (optional)
                                          Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                        • threads : int (optional)
                                          Specify the number of threads that will be used to update submodules.
                                          If unspecified, the command line git default thread count is used.
                                      • $class: 'UserExclusion'
                                        • excludedUsers : String
                                          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 exact string comparison and must be separated by a new line. User names are only excluded if they exactly match one of the names in this list.

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

                                          If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.

                                        • email : String

                                          If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.

                                      • $class: 'WipeWorkspace'
                                        Delete the contents of the workspace before building, ensuring a fully fresh workspace.
                                      • gitTool : String
                                      • projectName : String

                                        Enter the name of the Bitbucket Server project containing the repository you want Jenkins to build from. To find a project, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.

                                        To get Jenkins to build from a personal repository, enter a tilde (~) followed by repository owner's username. For example, ~jsmith.

                                      • repositoryName : String

                                        Enter the Bitbucket Server repository you want Jenkins to build from. To find a repository, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.

                                        To get Jenkins to build from a personal repository, enter its slug. This is the URL-friendly version of the repository name. For example, a repository called my example repo will have the slug my-example-repo, and you can see this in its URL, https://bitbucketserver.mycompany.com/myproject/my-example-repo.

                                      • serverId : String

                                        Choose the Bitbucket Server instance containing the repository you want Jenkins to build from. If you can't find your instance, check this plugin's configuration and try again.

                                      • mirrorName : String

                                        Choose the location that Jenkins should clone from when running this build. This can be the primary server or a mirror if one is available. To see available mirrors, first choose a Bitbucket Server project and repository.

                                    • $class: 'BlameSubversionSCM'

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

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

                                      else the plugin will collect svn info from latest upstream job

                                      • alwaysCollectSVNInfo : boolean
                                    • $class: 'CCUCMScm'
                                      • loadModule : String
                                      • newest : boolean
                                      • mode
                                          Nested Choice of Objects
                                        • $class: 'PollChildMode'
                                          • levelToPoll : String
                                          • component : String (optional)
                                          • createBaseline : boolean (optional)

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

                                            This is only applicable for child and sibling poll mode.

                                          • newest : boolean (optional)
                                            Selects the newest baseline on the stream. Skipping intermediates.
                                        • $class: 'PollRebaseMode'
                                        • $class: 'PollSelfMode'
                                          • levelToPoll : String
                                          • component : String (optional)
                                          • newest : boolean (optional)
                                            Selects the newest baseline on the stream. Skipping intermediates.
                                        • $class: 'PollSiblingMode'
                                          • levelToPoll : String
                                          • component : String (optional)
                                          • createBaseline : boolean (optional)

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

                                            This is only applicable for child and sibling poll mode.

                                          • newest : boolean (optional)
                                            Selects the newest baseline on the stream. Skipping intermediates.
                                          • useHyperLinkForPolling : boolean (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.
                                        • $class: 'PollSubscribeMode'
                                          • levelToPoll : String
                                          • componentsToMonitor
                                              Array / List of Nested Object
                                            • componentSelection : String
                                          • jobsToMonitor
                                              Array / List of Nested Object
                                            • jobname : String
                                            • ignores : String
                                              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.
                                            • jobName : String (optional)
                                              Specifies the name of the job in which all selected baselines must be present.
                                          • cascadePromotion : boolean (optional)
                                          • component : String (optional)
                                          • newest : boolean (optional)
                                      • stream : String
                                        Specify the stream you want to poll for with ClearCase UCM SCM. Syntax: [stream]@[PVOB]
                                      • treatUnstable : String
                                      • nameTemplate : String
                                      • forceDeliver : boolean
                                      • recommend : boolean
                                      • makeTag : boolean
                                      • setDescription : boolean
                                      • buildProject : String
                                      • removeViewPrivateFiles : boolean
                                      • trimmedChangeSet : boolean
                                      • discard : boolean
                                    • $class: 'CVSSCM'
                                      • repositories
                                          Array / List of Nested Object
                                        • cvsRoot : String
                                          The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)
                                        • passwordRequired : boolean
                                        • password : String
                                        • repositoryItems
                                            Array / List of Nested Object
                                          • location
                                              Nested Choice of Objects
                                            • $class: 'BranchRepositoryLocation'
                                              • branchName : String
                                              • useHeadIfNotFound : boolean
                                            • $class: 'HeadRepositoryLocation'
                                              • $class: 'TagRepositoryLocation'
                                                • tagName : String
                                                • useHeadIfNotFound : boolean
                                            • modules
                                                Array / List of Nested Object
                                              • remoteName : String
                                                The name of the module in the repository at CVSROOT
                                              • localName : String
                                                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.
                                              • projectsetFileName : String
                                                The name of the file in this module to parse for projectset entries.
                                          • 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 of Nested Object
                                            • pattern : String
                                          • compressionLevel : int
                                          • repositoryBrowser
                                              Nested Choice of Objects
                                            • $class: 'FishEyeCVS'
                                              • url : String
                                                Specify the root URL of FishEye for this repository (such as this.)
                                            • $class: 'OpenGrok'
                                              • url : String
                                                Specify the root URL of OpenGrok for this repository.
                                            • $class: 'ViewCVS'
                                              • url : String
                                                Specify the root URL of ViewCVS for this repository (such as this).
                                        • canUseUpdate : boolean
                                          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.
                                        • legacy : boolean
                                          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".

                                        • skipChangeLog : boolean
                                          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.
                                        • pruneEmptyDirectories : boolean
                                          Remove empty directories after checkout using the CVS '-P' option.
                                        • disableCvsQuiet : boolean
                                          Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.
                                        • cleanOnFailedUpdate : boolean
                                          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.
                                        • forceCleanCopy : boolean
                                          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.
                                        • checkoutCurrentTimestamp : boolean
                                          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.

                                      • $class: 'ClearCaseSCM'
                                        • branch : String
                                        • label : String
                                        • extractConfigSpec : boolean
                                        • configSpecFileName : String
                                        • refreshConfigSpec : boolean
                                        • refreshConfigSpecCommand : String
                                        • configSpec : String
                                        • viewTag : String
                                        • useupdate : boolean
                                        • extractLoadRules : boolean
                                        • loadRules : String
                                        • useOtherLoadRulesForPolling : boolean
                                        • loadRulesForPolling : String
                                        • usedynamicview : boolean
                                        • viewdrive : String
                                        • mkviewoptionalparam : String
                                        • filterOutDestroySubBranchEvent : boolean
                                        • doNotUpdateConfigSpec : boolean
                                        • rmviewonrename : boolean
                                        • excludedRegions : String
                                        • multiSitePollBuffer : String
                                        • useTimeRule : boolean
                                        • createDynView : boolean
                                        • viewPath : String
                                        • changeset
                                          • 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 : String

                                                Label expression used to populate view storage location dropdown.

                                              • server : String

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

                                            • $class: 'SpecificViewStorage'
                                              • winStorageDir : String
                                              • unixStorageDir : String
                                        • $class: 'ClearCaseUcmBaselineSCM'
                                          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 : String
                                            • loadrules : String
                                            • viewTag : String
                                            • usedynamicview : boolean
                                            • viewdrive : String
                                            • mkviewoptionalparam : String
                                            • filterOutDestroySubBranchEvent : boolean
                                            • useUpdate : boolean
                                            • rmviewonrename : boolean
                                            • excludedRegions : String
                                            • multiSitePollBuffer : String
                                            • overrideBranchName : String
                                            • createDynView : boolean
                                            • freezeCode : boolean
                                            • recreateView : boolean
                                            • allocateViewName : boolean
                                            • viewPath : String
                                            • useManualLoadRules : boolean
                                            • changeset
                                              • 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 : String

                                                    Label expression used to populate view storage location dropdown.

                                                  • server : String

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

                                                • $class: 'SpecificViewStorage'
                                                  • winStorageDir : String
                                                  • unixStorageDir : String
                                              • buildFoundationBaseline : boolean

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

                                            • $class: 'CloneWorkspaceSCM'
                                              • parentJobName : String
                                              • criteria : String
                                            • $class: 'CmvcSCM'
                                              • family : String
                                              • become : String
                                              • releases : String
                                              • checkoutScript : String
                                              • trackViewReportWhereClause : String
                                            • $class: 'ConfigurationRotator'
                                              • acrs
                                                  Nested Choice of Objects
                                                • $class: 'ClearCaseUCM'
                                                  • pvobName : String
                                                  • contribute : boolean

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

                                                  • targets
                                                      Array / List of Nested Object
                                                    • baselineName : String
                                                    • level
                                                      • Values: INITIAL, BUILT, TESTED, RELEASED, REJECTED
                                                    • fixed : boolean
                                                  • useNewest : boolean (optional)
                                                • $class: 'Git'
                                                  • targets
                                                      Array / List of Nested Object
                                                    • name : String
                                                    • repository : String
                                                    • branch : String
                                                    • commitId : String
                                                    • fixed : boolean
                                                  • useNewest : boolean (optional)
                                            • $class: 'CvsProjectset'
                                              • repositories
                                                  Array / List of Nested Object
                                                • cvsRoot : String
                                                  The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)
                                                • passwordRequired : boolean
                                                • password : String
                                                • repositoryItems
                                                    Array / List of Nested Object
                                                  • location
                                                      Nested Choice of Objects
                                                    • $class: 'BranchRepositoryLocation'
                                                      • branchName : String
                                                      • useHeadIfNotFound : boolean
                                                    • $class: 'HeadRepositoryLocation'
                                                      • $class: 'TagRepositoryLocation'
                                                        • tagName : String
                                                        • useHeadIfNotFound : boolean
                                                    • modules
                                                        Array / List of Nested Object
                                                      • remoteName : String
                                                        The name of the module in the repository at CVSROOT
                                                      • localName : String
                                                        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.
                                                      • projectsetFileName : String
                                                        The name of the file in this module to parse for projectset entries.
                                                  • 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 of Nested Object
                                                    • pattern : String
                                                  • compressionLevel : int
                                                  • repositoryBrowser
                                                      Nested Choice of Objects
                                                    • $class: 'FishEyeCVS'
                                                      • url : String
                                                        Specify the root URL of FishEye for this repository (such as this.)
                                                    • $class: 'OpenGrok'
                                                      • url : String
                                                        Specify the root URL of OpenGrok for this repository.
                                                    • $class: 'ViewCVS'
                                                      • url : String
                                                        Specify the root URL of ViewCVS for this repository (such as this).
                                                • canUseUpdate : boolean
                                                  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.
                                                • username : String
                                                  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.
                                                • password : String
                                                  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.
                                                • browser
                                                    Nested Choice of Objects
                                                  • $class: 'FishEyeCVS'
                                                    • url : String
                                                      Specify the root URL of FishEye for this repository (such as this.)
                                                  • $class: 'OpenGrok'
                                                    • url : String
                                                      Specify the root URL of OpenGrok for this repository.
                                                  • $class: 'ViewCVS'
                                                    • url : String
                                                      Specify the root URL of ViewCVS for this repository (such as this).
                                                • skipChangeLog : boolean
                                                  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.
                                                • pruneEmptyDirectories : boolean
                                                  Remove empty directories after checkout using the CVS '-P' option.
                                                • disableCvsQuiet : boolean
                                                  Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.
                                                • cleanOnFailedUpdate : boolean
                                                  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.
                                                • forceCleanCopy : boolean
                                              • $class: 'DarcsScm'
                                                • source : String
                                                • localDir : String
                                                • clean : boolean
                                                • browser
                                                    Nested Choice of Objects
                                                  • $class: 'DarcsWeb'
                                                    • url : String
                                                    • repo : String
                                                  • $class: 'Darcsden'
                                                    • url : String
                                              • $class: 'DimensionsSCM'
                                                • project : String
                                                • credentialsType : String
                                                • userName : String
                                                • password : String
                                                • pluginServer : String
                                                • userServer : String
                                                • keystoreServer : String
                                                • pluginDatabase : String
                                                • userDatabase : String
                                                • keystoreDatabase : String
                                                • keystorePath : String
                                                • certificateAlias : String
                                                • credentialsId : String
                                                • certificatePassword : String
                                                • keystorePassword : String
                                                • certificatePath : String
                                                • remoteCertificatePassword : String
                                                • secureAgentAuth : boolean
                                                • canJobDelete : boolean (optional)
                                                • canJobExpand : boolean (optional)
                                                • canJobForce : boolean (optional)
                                                • canJobNoMetadata : boolean (optional)
                                                • canJobNoTouch : boolean (optional)
                                                • canJobRevert : boolean (optional)
                                                • canJobUpdate : boolean (optional)
                                                • eol : String (optional)
                                                • folders (optional)
                                                    Array / List of Nested Object
                                                  • value : String
                                                • pathsToExclude (optional)
                                                    Array / List of Nested Object
                                                  • value : String
                                                • permissions : String (optional)
                                                • timeZone : String (optional)
                                                • webUrl : String (optional)
                                              • $class: 'DrushMakefileSCM'
                                                • makefile : String

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

                                                  This example will generate a vanilla Drupal 7.38:

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

                                                • root : String
                                                  Specify a local directory for the Drupal root (relative to the workspace root).
                                              • $class: 'EndevorConfiguration'
                                                • connectionId : String
                                                • filterPattern : String
                                                • fileExtension : String
                                                • credentialsId : String
                                                • targetFolder : String
                                              • filesystem
                                                • path : String

                                                  The file path for the source code.

                                                  e.g. \\Server1\project1\src or c:\myproject\src

                                                  Note for distributed build environment, please make sure the path is accessible on remote node(s)

                                                • clearWorkspace : boolean

                                                  If true, the system will delete all existing files/sub-folders in workspace before checking-out. Poll changes will not be affected by this setting.

                                                • copyHidden : boolean

                                                  If true, the system will copy hidden files and folders as well. Default is false.

                                                • filterSettings
                                                    Nested Object
                                                  • includeFilter : boolean
                                                  • selectors

                                                    You can apply wildcard filter(s) when detecting changes and copying files. By default, the system will filter out hidden files, on Unix, that means files/folder starting with ".", on Windows, that means files/folders with "hidden" attribute. You may want to filter out, e.g. files with ".tmp" extension.

                                                    Note: filters are applied on both sides, source and destination (i.e. the workspace). E.g. if you filter out ".tmp" files, all ".tmp" files currently in workspace will not be removed.

                                                      Array / List of Nested Object
                                                    • wildcard : String

                                                      ANT style wildcard.

                                                      To include just *.java, set filter type to "Include" and type add "*.java" (without quote) in the wildcard. To exclude *.exe" and all JUnit test cases, set filter type to "Exclude" and add two wildcard, one for "*.dll" and one for "*Test*"

                                                      To exclude a directory, set filter to "**/dir_to_exclude/**"

                                                      Note: (1) the wildcard is case insensitive, (2) all backslashes (\) will be replaced with slashes (/)

                                              • $class: 'FeatureBranchAwareMercurialSCM'
                                                • installation : String
                                                • source : String
                                                  Specify the repository to track. This can be URL or a local file path.
                                                • branch : String
                                                  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.
                                                • modules : String
                                                  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.)
                                                • subdir : String
                                                  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.
                                                • browser
                                                    Nested Choice of Objects
                                                  • $class: 'FishEye'
                                                    • url : String
                                                      Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
                                                  • $class: 'GoogleCode'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as this).
                                                  • $class: 'HgWeb'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as this).
                                                  • $class: 'Kallithea'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as this).
                                                  • $class: 'KilnHG'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as this).
                                                  • $class: 'RhodeCode'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as this).
                                                  • $class: 'RhodeCodeLegacy'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as this).
                                                  • $class: 'ScmManager'
                                                    • url : String
                                                      Specify the root URL serving this repository (such as http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/).
                                                • clean : boolean
                                                  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.
                                                • branchPattern : String
                                              • $class: 'GeneXusServerSCM'
                                                Checks out (or updates) a Knowledge Base from a GeneXus Server.
                                                • gxInstallationId : String

                                                  GeneXus installation to use when creating (or updating) a local copy of a Knowledge Base from a GeneXus Server.

                                                  Select "(Custom)" if you want to specify a custom GeneXus path for this project (see Advanced Options).

                                                  The options that appear here are those you may configure in Jenkins "Global Tool Configuration" for GeneXus.

                                                • gxCustomPath : String

                                                  Custom path to a GeneXus installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server. This custom path is used when the "Custom" option is selected for the GeneXus Installation

                                                • msbuildCustomPath : String

                                                  Custom path to the MSBuild installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server.

                                                • serverURL : String
                                                  URL of the GeneXus Server from which to obtain (or update) a local copy of a Knowledge Base (eg: "https://sandbox.genexusserver.com/v16").
                                                • credentialsId : String

                                                  Credentials to use when authenticating to the GeneXus Server.

                                                  Select the credentials you want to use or click "Add" to enter a new user/password pair.

                                                • kbName : String
                                                  Name of the Knowledge Base in GeneXus Server from which to obtain (or update) a local copy.
                                                • kbVersion : String

                                                  Name of the Version that will be selected when creating a local copy of the Knowledge Base.

                                                  If you leave it blank the 'Trunk' version will be selected by default.

                                                • localKbPath : String

                                                  Path to the local Knowledge Base to use as working copy.

                                                  If you leave it blank the default ${WORKSPACE}\KBname will apply.

                                                • localKbVersion : String

                                                  Name of the Version in the local Knowledge Base that is linked to the Version in the server.

                                                  If you leave it blank the 'Trunk' version will be selected by default.

                                                • kbDbServerInstance : String
                                                  SQL Server used by GeneXus for the local Knowledge Base.
                                                • kbDbCredentialsId : String

                                                  Credentials to use when to connecting to SQL Server.

                                                  Select "none" for Windows Authentication.

                                                • kbDbName : String

                                                  Name of the SQL Server database used for the local Knowledge Base.

                                                  Leave it blank to use the default database name.

                                                • kbDbInSameFolder : boolean

                                                  Create the database files in the same folder as the Knowledge Base when checking out. Default is 'true'.

                                                  If kbDbInSameFolder is true or not set, then the database files will be created in the same folder as the Knowledge Base. If kbDbInSameFolder is false, then the database files will be created in the default folder configured for the SQL Server at kbDbServerInstance (optional).

                                              • $class: 'GitSCM'

                                                The git plugin provides fundamental git operations for Jenkins projects. It can poll, fetch, checkout, and merge contents of git repositories.

                                                The git plugin provides an SCM implementation to be used with the Pipeline SCM checkout step. The Pipeline Syntax Snippet Generator guides the user to select git plugin checkout options and provides online help for each of the options.

                                                • userRemoteConfigs
                                                  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

                                                  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 of Nested Object
                                                  • url : String
                                                    Specify the URL or path of the git repository. This uses the same syntax as your git clone command.
                                                  • name : String
                                                    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.

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

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

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

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

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

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

                                                  • credentialsId : String
                                                    Credential used to check out sources.
                                                • branches
                                                  List of branches to build. Jenkins jobs are most effective when each job builds only a single branch. When a single job builds multiple branches, the changelog comparisons between branches often show no changes or incorrect changes.
                                                    Array / List of Nested Object
                                                  • name : String

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

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

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

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

                                                    Possible options:

                                                    • <branchName>
                                                      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

                                                • browser
                                                  Defines the repository browser that displays changes detected by the git plugin.
                                                    Nested Choice of Objects
                                                  • $class: 'AssemblaWeb'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://www.assembla.com/code/PROJECT/git/).
                                                  • $class: 'BacklogGitRepositoryBrowser'
                                                    • repoName : String
                                                    • repoUrl : String
                                                  • bitbucketServer
                                                    • repoUrl : String
                                                      Specify the Bitbucket Server root URL for this repository (such as https://bitbucket:7990/OWNER/REPO/).
                                                  • $class: 'BitbucketWeb'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://bitbucket.org/OWNER/REPO/).
                                                  • $class: 'CGit'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as http://cgit.example.com:port/group/REPO/).
                                                  • $class: 'FisheyeGitRepositoryBrowser'
                                                    • repoUrl : String
                                                      Specify the URL of this repository in FishEye (such as http://fisheye6.cenqua.com/browse/ant/).
                                                  • $class: 'GitBlitRepositoryBrowser'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository.
                                                    • projectName : String
                                                      Specify the name of the project in GitBlit.
                                                  • $class: 'GitBucketBrowser'
                                                    • url : String
                                                  • $class: 'GitLab'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as http://gitlabserver:port/group/REPO/).
                                                    • version : String (optional)
                                                      Specify the major and minor version of GitLab you use (such as 9.1). If you don't specify a version, a modern version of GitLab (>= 8.0) is assumed.
                                                  • $class: 'GitLabBrowser'
                                                    Specify the HTTP URL for this project's GitLab page so that links to changes can be automatically generated by Jenkins. The URL needs to include the owner and project. If the GitLab server is https://gitLab.example.com then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks.
                                                    • projectUrl : String
                                                      Specify the HTTP URL for this project's GitLab page. The URL needs to include the owner and project so, for example, if the GitLab server is https://gitLab.example.com then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
                                                  • $class: 'GitList'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as http://gitlistserver:port/REPO/).
                                                  • $class: 'GitWeb'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://github.com/jenkinsci/jenkins.git).
                                                  • $class: 'GiteaBrowser'
                                                    • repoUrl : String
                                                      Specify the HTTP URL for this repository's Gitea page. The URL needs to include the owner and repository so, for example, if the Gitea server is https://gitea.example.com then the URL for bob's skunkworks project repository might be https://gitea.example.com/bob/skunkworks
                                                  • $class: 'GithubWeb'
                                                    • repoUrl : String
                                                      Specify the HTTP URL for this repository's GitHub page (such as https://github.com/jquery/jquery).
                                                  • $class: 'Gitiles'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://gwt.googlesource.com/gwt/).
                                                  • $class: 'GitoriousWeb'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://gitorious.org/gitorious/mainline).
                                                  • $class: 'GogsGit'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as http://gogs.example.com:port/username/some-repo-url.git).
                                                  • $class: 'KilnGit'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://khanacademy.kilnhg.com/Code/Website/Group/webapp).
                                                  • $class: 'Phabricator'
                                                    • repoUrl : String
                                                      Specify the phabricator instance root URL (such as http://phabricator.example.com).
                                                    • repo : String
                                                      Specify the repository name in phabricator (such as the foo part of phabricator.example.com/diffusion/foo/browse).
                                                  • $class: 'RedmineWeb'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as http://SERVER/PATH/projects/PROJECT/repository).
                                                  • $class: 'RhodeCode'
                                                    • repoUrl : String
                                                      Specify the HTTP URL for this repository's RhodeCode page (such as http://rhodecode.mydomain.com:5000/projects/PROJECT/repos/REPO/).
                                                  • $class: 'ScmManagerGitRepositoryBrowser'
                                                    • repoUrl : String
                                                      Specify the root URL serving this repository (such as https://scm-manager.org/scm/repo/namespace/name).
                                                  • $class: 'Stash'
                                                    • repoUrl : String
                                                      Specify the HTTP URL for this repository's Stash page (such as http://stash.mydomain.com:7990/projects/PROJECT/repos/REPO/).
                                                  • $class: 'TFS2013GitRepositoryBrowser'
                                                    • repoUrl : String
                                                      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/PROJECT/_git/REPO/). 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.

                                                  • $class: 'TracGitRepositoryBrowser'
                                                    • $class: 'TuleapBrowser'
                                                      Specify the HTTPS URL for the Tuleap Git repository so that links to changes can be automatically generated by Jenkins.
                                                      • repositoryUrl : String
                                                        The URL is the web URL of the Tuleap Git repository.
                                                    • $class: 'ViewGitWeb'
                                                      • repoUrl : String
                                                        Specify the root URL serving this repository (such as http://code.fealdia.org/viewgit/).
                                                      • projectName : String
                                                        Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/).
                                                  • gitTool : String

                                                    Absolute path to the git executable.

                                                    This is different from other Jenkins tool definitions. Rather than providing the directory that contains the executable, you must provide the complete path to the executable. Setting '/usr/bin/git' would be correct, while setting '/usr/bin/' is not correct.

                                                  • extensions

                                                    Extensions add new behavior or modify existing plugin behavior for different uses. Extensions help users more precisely tune plugin behavior to meet their needs.

                                                    Extensions include:

                                                    • Clone extensions modify the git operations that retrieve remote changes into the agent workspace. The extensions can adjust the amount of history retrieved, how long the retrieval is allowed to run, and other retrieval details.
                                                    • Checkout extensions modify the git operations that place files in the workspace from the git repository on the agent. The extensions can adjust the maximum duration of the checkout operation, the use and behavior of git submodules, the location of the workspace on the disc, and more.
                                                    • Changelog extensions adapt the source code difference calculations for different cases.
                                                    • Tagging extensions allow the plugin to apply tags in the current workspace.
                                                    • Build initiation extensions control the conditions that start a build. They can ignore notifications of a change or force a deeper evaluation of the commits when polling.
                                                    • Merge extensions can optionally merge changes from other branches into the current branch of the agent workspace. They control the source branch for the merge and the options applied to the merge.

                                                      Array / List of 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.
                                                      • $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 : int
                                                              • ancestorCommitSha1 : String
                                                            • $class: 'DefaultBuildChooser'
                                                              • $class: 'DeflakeGitBuildChooser'
                                                                • $class: 'GerritTriggerBuildChooser'
                                                                  • $class: 'InverseBuildChooser'
                                                                • $class: 'BuildSingleRevisionOnly'
                                                                  Disable scheduling for multiple candidate revisions.
                                                                  If we have 3 branches:
                                                                  ----A--.---.--- B
                                                                           \-----C
                                                                  jenkins would try to build (B) and (C).
                                                                  This behaviour disables this and only builds one of them.
                                                                  It is helpful to reduce the load of the Jenkins infrastructure when the SCM system like Bitbucket or GitHub should decide what commits to build.
                                                                  • $class: 'ChangelogToBranch'
                                                                    This method calculates the changelog against the specified branch.
                                                                    • options
                                                                        Nested Object
                                                                      • compareRemote : String
                                                                        Name of the repository, such as origin, that contains the branch you specify below.
                                                                      • compareTarget : String
                                                                        The name of the branch within the named repository to compare against.
                                                                  • $class: 'CheckoutOption'
                                                                    • timeout : int
                                                                      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 controller and agent to have effect (see JENKINS-22547).
                                                                  • $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.
                                                                    • deleteUntrackedNestedRepositories : boolean (optional)
                                                                      Deletes untracked submodules and any other subdirectories which contain .git directories.
                                                                  • $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.
                                                                    • deleteUntrackedNestedRepositories : boolean (optional)
                                                                      Deletes untracked submodules and any other subdirectories which contain .git directories.
                                                                  • $class: 'CloneOption'
                                                                    • shallow : boolean
                                                                      Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                                                    • noTags : boolean
                                                                      Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
                                                                    • reference : String
                                                                      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 controller or agent where the clone is being executed.
                                                                    • timeout : int
                                                                      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 controller and agent to have effect (see JENKINS-22547).
                                                                    • depth : int (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 commits of a repository.
                                                                    • honorRefspec : boolean (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.
                                                                  • $class: 'CodeCommitURLHelper'
                                                                    • credentialId : String

                                                                      OPTIONAL: Select the credentials to use.
                                                                      If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*

                                                                      In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.

                                                                    • repositoryName : String
                                                                  • $class: 'DisableRemotePoll'
                                                                    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: 'ExcludeFromChangeSet'
                                                                      • $class: 'ExcludeFromPoll'
                                                                        • $class: 'GitLFSPull'
                                                                          Enable git large file support for the workspace by pulling large files after the checkout completes. Requires that the controller and each agent performing an LFS checkout have installed `git lfs`.
                                                                          • $class: 'GitSCMChecksExtension'
                                                                            • verboseConsoleLog : boolean (optional)
                                                                              If this option is checked, verbose log will be output to build console; the verbose log is useful for debugging the publisher creation.
                                                                          • $class: 'GitSCMStatusChecksExtension'
                                                                            • name : String (optional)
                                                                            • skip : boolean (optional)
                                                                            • skipProgressUpdates : boolean (optional)
                                                                            • suppressLogs : boolean (optional)
                                                                            • unstableBuildNeutral : boolean (optional)
                                                                          • $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 you ticked the Use most recent tag option, and the revision checked out has no git tag associated with it, the parent commits will be searched for a git tag, and the rules stated above will apply to the first parent commit with a git tag.

                                                                            If the revision has more than one tag associated with it, only the most recent tag will be taken into account, unless the refspec contains "refs/tags/" — i.e. builds are only triggered when certain tag names or patterns are matched — in which case the exact tag name that triggered the build will be used, even if it's not the most recent tag for this commit.
                                                                            For this reason, if you're not using a tag-specific refspec but you are using the "Create a tag for every build" behaviour, you should make sure that the build-tagging behaviour is configured to run after this "export git tag message" behaviour.

                                                                            Tag and commit messages which span multiple lines are no problem, though only the first 10000 lines of a tag's message will be exported.
                                                                            • useMostRecentTag : boolean (optional)
                                                                          • $class: 'IgnoreNotifyCommit'
                                                                            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 : String
                                                                            • $class: 'MessageExclusion'
                                                                              • excludedMessage : String
                                                                                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.
                                                                            • $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 : String
                                                                                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.
                                                                              • excludedRegions : String
                                                                                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.
                                                                            • $class: 'PerBuildTag'
                                                                              Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
                                                                              • $class: 'PreBuildMerge'
                                                                                These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
                                                                                • options
                                                                                    Nested Object
                                                                                  • mergeTarget : String
                                                                                    The name of the branch within the named repository to merge to, such as master.
                                                                                  • fastForwardMode (optional)
                                                                                    Merge fast-forward mode selection.
                                                                                    The default, --ff, gracefully falls back to a merge commit when required.
                                                                                    For more information, see the Git Merge Documentation
                                                                                    • Values: FF, FF_ONLY, NO_FF
                                                                                  • mergeRemote : String (optional)
                                                                                    Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
                                                                                  • mergeStrategy (optional)
                                                                                    Merge strategy selection. This feature is not fully implemented in JGIT.
                                                                                    • Values: DEFAULT, RESOLVE, RECURSIVE, OCTOPUS, OURS, SUBTREE, RECURSIVE_THEIRS
                                                                              • pretestedIntegration
                                                                                • gitIntegrationStrategy
                                                                                    Nested Choice of Objects
                                                                                  • accumulated

                                                                                    Accumulated Commit Strategy

                                                                                    This strategy merges your commits with the --no-ff switch
                                                                                    • shortCommitMessage : boolean (optional)
                                                                                  • ffonly

                                                                                    Fast Forward only (--ff-only) Strategy

                                                                                    This strategy fast-forward only using the --ff-only switch - or fails
                                                                                    • shortCommitMessage : boolean (optional)
                                                                                  • squash

                                                                                    Squashed Commit Strategy

                                                                                    This strategy squashes all your commit on a given branch with the --squash option
                                                                                  • integrationBranch : String

                                                                                    What to specify

                                                                                    The branch name must match your integration branch name. No trailing slash.

                                                                                    Merge is performed the following way

                                                                                    Squash commit
                                                                                                git checkout -B <Branch name> <Repository name>/<Branch name>
                                                                                                git merge --squash <Branch matched by git>
                                                                                                git commit -C <Branch matched by git>
                                                                                    Accumulated commit
                                                                                                git checkout -B <Branch name> <Repository name>/<Branch name>
                                                                                                git merge -m <commitMsg> <Branch matched by git> --no-ff

                                                                                    When changes are pushed to the integration branch?

                                                                                    Changes are only ever pushed when the build results is SUCCESS

                                                                                                git push <Repository name> <Branch name>
                                                                                  • repoName : String

                                                                                    What to specify

                                                                                    The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.

                                                                                    No trailing slash on repository name.

                                                                                    Remember to specify this when working with NAMED repositories in Git

                                                                                • $class: 'PruneStaleBranch'
                                                                                  Run "git remote prune" for each remote, to prune obsolete local branches.
                                                                                  • pruneTags
                                                                                    • pruneTags : boolean
                                                                                  • $class: 'RelativeTargetDirectory'
                                                                                    • relativeTargetDir : String
                                                                                      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.

                                                                                      This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.

                                                                                  • $class: 'ScmName'

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

                                                                                    • name : String
                                                                                  • $class: 'SparseCheckoutPaths'

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

                                                                                    • sparseCheckoutPaths
                                                                                        Array / List of Nested Object
                                                                                      • path : String
                                                                                  • $class: 'SubmoduleOption'
                                                                                    • disableSubmodules : boolean
                                                                                      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.
                                                                                    • recursiveSubmodules : boolean
                                                                                      Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
                                                                                    • trackingSubmodules : boolean
                                                                                      Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
                                                                                    • reference : String
                                                                                      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 controller or agent 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
                                                                                        
                                                                                    • timeout : int
                                                                                      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 controller and agent to have effect (see JENKINS-22547).
                                                                                    • parentCredentials : boolean
                                                                                      Use credentials from the default remote of the parent project.
                                                                                    • depth : int (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 commits of a repository.
                                                                                    • shallow : boolean (optional)
                                                                                      Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                                                                    • threads : int (optional)
                                                                                      Specify the number of threads that will be used to update submodules.
                                                                                      If unspecified, the command line git default thread count is used.
                                                                                  • $class: 'UserExclusion'
                                                                                    • excludedUsers : String
                                                                                      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 exact string comparison and must be separated by a new line. User names are only excluded if they exactly match one of the names in this list.

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

                                                                                      If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.

                                                                                    • email : String

                                                                                      If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.

                                                                                  • $class: 'WipeWorkspace'
                                                                                    Delete the contents of the workspace before building, ensuring a fully fresh workspace.
                                                                                  • doGenerateSubmoduleConfigurations : boolean (optional)

                                                                                    Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value and always uses false as its value.

                                                                                  • submoduleCfg (optional)

                                                                                    Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value(s) and always uses empty values.

                                                                                      Array / List of Nested Object
                                                                                    • submoduleName : String

                                                                                      Removed in git plugin 4.6.0.

                                                                                    • branches : Array / List of String

                                                                                      Removed in git plugin 4.6.0.

                                                                                  • $class: 'HarvestSCM'
                                                                                    • broker : String
                                                                                    • passwordFile : String
                                                                                    • userId : String
                                                                                    • password : String
                                                                                    • projectName : String
                                                                                    • state : String
                                                                                    • viewPath : String
                                                                                    • clientPath : String
                                                                                    • processName : String
                                                                                    • recursiveSearch : String
                                                                                    • useSynchronize : boolean
                                                                                    • extraOptions : String
                                                                                  • $class: 'IntegritySCM'
                                                                                    Checks out source code from "Windchill RV&S for Configuration Management" repositories
                                                                                    • serverConfig : String
                                                                                    • configPath : String
                                                                                    • configurationName : String
                                                                                    • CPBasedMode : boolean (optional)
                                                                                    • alternateWorkspace : String (optional)
                                                                                    • browser (optional)
                                                                                        Nested Choice of Objects
                                                                                      • $class: 'IntegrityWebUI'
                                                                                        • url : String
                                                                                          Specify the URL of the PTC Windchill RV&S Configuration Management server.
                                                                                          For example: http://hostname:7001
                                                                                          This value is optional and is used as an override to the URL detected in the Windchill RV&S Change Log.
                                                                                    • checkoutThreadPoolSize : int (optional)
                                                                                    • checkoutThreadTimeout : int (optional)
                                                                                    • checkpointBeforeBuild : boolean (optional)
                                                                                    • checkpointLabel : String (optional)
                                                                                    • cleanCopy : boolean (optional)
                                                                                    • deleteNonMembers : boolean (optional)
                                                                                    • excludeList : String (optional)
                                                                                    • fetchChangedWorkspaceFiles : boolean (optional)
                                                                                    • includeList : String (optional)
                                                                                    • lineTerminator : String (optional)
                                                                                    • localClient : boolean (optional)
                                                                                    • password : String (optional)
                                                                                    • restoreTimestamp : boolean (optional)
                                                                                    • sandboxScope : String (optional)
                                                                                    • skipAuthorInfo : boolean (optional)
                                                                                    • userName : String (optional)
                                                                                  • $class: 'IspwConfiguration'
                                                                                    • connectionId : String
                                                                                    • credentialsId : String
                                                                                    • serverConfig : String
                                                                                    • serverStream : String
                                                                                    • serverApplication : String
                                                                                    • serverLevel : String
                                                                                    • levelOption : String
                                                                                    • componentType : String
                                                                                    • folderName : String
                                                                                    • ispwDownloadAll : boolean
                                                                                    • targetFolder : String
                                                                                    • ispwDownloadIncl : boolean
                                                                                    • ispwDownloadWithCompileOnly : boolean
                                                                                  • $class: 'IspwContainerConfiguration'
                                                                                    • connectionId : String
                                                                                    • credentialsId : String
                                                                                    • serverConfig : String
                                                                                    • containerName : String
                                                                                    • containerType : String
                                                                                    • serverLevel : String
                                                                                    • componentType : String
                                                                                    • ispwDownloadAll : boolean
                                                                                    • targetFolder : String
                                                                                    • ispwDownloadIncl : boolean
                                                                                  • $class: 'MercurialSCM'
                                                                                    • source : String
                                                                                      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.
                                                                                    • browser (optional)
                                                                                        Nested Choice of Objects
                                                                                      • $class: 'FishEye'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
                                                                                      • $class: 'GoogleCode'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as this).
                                                                                      • $class: 'HgWeb'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as this).
                                                                                      • $class: 'Kallithea'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as this).
                                                                                      • $class: 'KilnHG'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as this).
                                                                                      • $class: 'RhodeCode'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as this).
                                                                                      • $class: 'RhodeCodeLegacy'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as this).
                                                                                      • $class: 'ScmManager'
                                                                                        • url : String
                                                                                          Specify the root URL serving this repository (such as http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/).
                                                                                    • clean : boolean (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.
                                                                                    • credentialsId : String (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.
                                                                                    • disableChangeLog : boolean (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.
                                                                                    • installation : String (optional)
                                                                                    • modules : String (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.)
                                                                                    • revision : String (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.)
                                                                                    • revisionType (optional)
                                                                                      Specify the kind of revision you expect Jenkins to update your working copy to.
                                                                                      • Values: BRANCH, TAG, CHANGESET, REVSET
                                                                                    • subdir : String (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.
                                                                                  • $class: 'MergeBotUpdater'
                                                                                    • $class: 'MultiSCM'
                                                                                      • scmList
                                                                                          Array / List of Nested Choice of Objects
                                                                                        • $class: 'AWSCodePipelineSCM'
                                                                                          • name : String
                                                                                          • clearWorkspace : boolean
                                                                                          • region : String
                                                                                          • awsAccessKey : String

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

                                                                                          • awsSecretKey : String

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

                                                                                          • proxyHost : String

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

                                                                                          • proxyPort : String

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

                                                                                          • category : String

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

                                                                                          • provider : String

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

                                                                                          • version : String

                                                                                            Leave the default as 1.

                                                                                        • accurev
                                                                                          • depot : String
                                                                                          • stream : String
                                                                                          • serverName : String (optional)
                                                                                          • serverUUID : String (optional)
                                                                                          • wspaceORreftree : String (optional)
                                                                                          • accurevTool : String (optional)
                                                                                          • cleanreftree : boolean (optional)
                                                                                          • directoryOffset : String (optional)
                                                                                          • dontPopContent : boolean (optional)
                                                                                          • filterForPollSCM : String (optional)
                                                                                          • ignoreStreamParent : boolean (optional)
                                                                                          • reftree : String (optional)
                                                                                          • snapshotNameFormat : String (optional)
                                                                                          • subPath : String (optional)
                                                                                          • subPathOnly : boolean (optional)
                                                                                          • synctime : boolean (optional)
                                                                                          • useSnapshot : boolean (optional)
                                                                                          • workspace : String (optional)
                                                                                        • $class: 'BazaarSCM'
                                                                                          • source : String
                                                                                          • cleantree : boolean
                                                                                          • browser
                                                                                              Nested Choice of Objects
                                                                                            • $class: 'Loggerhead'
                                                                                              • url : String
                                                                                                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.
                                                                                            • $class: 'OpenGrok'
                                                                                              • url : String
                                                                                                The repository browser URL for the root of the project. For example, the OpenGrok project would use http://src.opensolaris.org/source/.
                                                                                              • rootModule : String
                                                                                                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/".
                                                                                          • checkout : boolean
                                                                                        • $class: 'BitKeeperSCM'
                                                                                          • parent : String
                                                                                          • localRepository : String
                                                                                          • usePull : boolean
                                                                                          • quiet : boolean
                                                                                        • BbS
                                                                                          • id : String
                                                                                          • branches
                                                                                              Array / List of Nested Object
                                                                                            • name : String

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

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

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

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

                                                                                              Possible options:

                                                                                              • <branchName>
                                                                                                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

                                                                                          • credentialsId : String

                                                                                            When running a job, Jenkins requires credentials to authenticate with Bitbucket Server. For example, to checkout the source code for builds. To do this, it needs credentials with access to the projects and repositories you want it to build from.

                                                                                            You can provide Jenkins with credentials here by:

                                                                                            • selecting credentials from the list
                                                                                            • adding credentials as a Username with password (for the password, you can enter a Bitbucket Server password or a Bitbucket Server personal access token)

                                                                                            In addition, you can provide Jenkins with SSH credentials below. If you do, Jenkins will use them for clone operations instead of the credentials you select here.

                                                                                          • sshCredentialsId : String

                                                                                            If specified, Jenkins will use these credentials to check out the source code for builds. If no SSH credentials are specified, Jenkins will use the basic credentials instead.

                                                                                            To provide Jenkins with SSH credentials, you can:

                                                                                            • choose credentials from the list
                                                                                            • add credentials as a SSH Username with private key (the username must be "git")
                                                                                          • extensions
                                                                                              Array / List of 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.
                                                                                              • $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 : int
                                                                                                      • ancestorCommitSha1 : String
                                                                                                    • $class: 'DefaultBuildChooser'
                                                                                                      • $class: 'DeflakeGitBuildChooser'
                                                                                                        • $class: 'GerritTriggerBuildChooser'
                                                                                                          • $class: 'InverseBuildChooser'
                                                                                                        • $class: 'BuildSingleRevisionOnly'
                                                                                                          Disable scheduling for multiple candidate revisions.
                                                                                                          If we have 3 branches:
                                                                                                          ----A--.---.--- B
                                                                                                                   \-----C
                                                                                                          jenkins would try to build (B) and (C).
                                                                                                          This behaviour disables this and only builds one of them.
                                                                                                          It is helpful to reduce the load of the Jenkins infrastructure when the SCM system like Bitbucket or GitHub should decide what commits to build.
                                                                                                          • $class: 'ChangelogToBranch'
                                                                                                            This method calculates the changelog against the specified branch.
                                                                                                            • options
                                                                                                                Nested Object
                                                                                                              • compareRemote : String
                                                                                                                Name of the repository, such as origin, that contains the branch you specify below.
                                                                                                              • compareTarget : String
                                                                                                                The name of the branch within the named repository to compare against.
                                                                                                          • $class: 'CheckoutOption'
                                                                                                            • timeout : int
                                                                                                              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 controller and agent to have effect (see JENKINS-22547).
                                                                                                          • $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.
                                                                                                            • deleteUntrackedNestedRepositories : boolean (optional)
                                                                                                              Deletes untracked submodules and any other subdirectories which contain .git directories.
                                                                                                          • $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.
                                                                                                            • deleteUntrackedNestedRepositories : boolean (optional)
                                                                                                              Deletes untracked submodules and any other subdirectories which contain .git directories.
                                                                                                          • $class: 'CloneOption'
                                                                                                            • shallow : boolean
                                                                                                              Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                                                                                            • noTags : boolean
                                                                                                              Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
                                                                                                            • reference : String
                                                                                                              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 controller or agent where the clone is being executed.
                                                                                                            • timeout : int
                                                                                                              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 controller and agent to have effect (see JENKINS-22547).
                                                                                                            • depth : int (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 commits of a repository.
                                                                                                            • honorRefspec : boolean (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.
                                                                                                          • $class: 'CodeCommitURLHelper'
                                                                                                            • credentialId : String

                                                                                                              OPTIONAL: Select the credentials to use.
                                                                                                              If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*

                                                                                                              In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.

                                                                                                            • repositoryName : String
                                                                                                          • $class: 'DisableRemotePoll'
                                                                                                            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: 'ExcludeFromChangeSet'
                                                                                                              • $class: 'ExcludeFromPoll'
                                                                                                                • $class: 'GitLFSPull'
                                                                                                                  Enable git large file support for the workspace by pulling large files after the checkout completes. Requires that the controller and each agent performing an LFS checkout have installed `git lfs`.
                                                                                                                  • $class: 'GitSCMChecksExtension'
                                                                                                                    • verboseConsoleLog : boolean (optional)
                                                                                                                      If this option is checked, verbose log will be output to build console; the verbose log is useful for debugging the publisher creation.
                                                                                                                  • $class: 'GitSCMStatusChecksExtension'
                                                                                                                    • name : String (optional)
                                                                                                                    • skip : boolean (optional)
                                                                                                                    • skipProgressUpdates : boolean (optional)
                                                                                                                    • suppressLogs : boolean (optional)
                                                                                                                    • unstableBuildNeutral : boolean (optional)
                                                                                                                  • $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 you ticked the Use most recent tag option, and the revision checked out has no git tag associated with it, the parent commits will be searched for a git tag, and the rules stated above will apply to the first parent commit with a git tag.

                                                                                                                    If the revision has more than one tag associated with it, only the most recent tag will be taken into account, unless the refspec contains "refs/tags/" — i.e. builds are only triggered when certain tag names or patterns are matched — in which case the exact tag name that triggered the build will be used, even if it's not the most recent tag for this commit.
                                                                                                                    For this reason, if you're not using a tag-specific refspec but you are using the "Create a tag for every build" behaviour, you should make sure that the build-tagging behaviour is configured to run after this "export git tag message" behaviour.

                                                                                                                    Tag and commit messages which span multiple lines are no problem, though only the first 10000 lines of a tag's message will be exported.
                                                                                                                    • useMostRecentTag : boolean (optional)
                                                                                                                  • $class: 'IgnoreNotifyCommit'
                                                                                                                    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 : String
                                                                                                                    • $class: 'MessageExclusion'
                                                                                                                      • excludedMessage : String
                                                                                                                        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.
                                                                                                                    • $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 : String
                                                                                                                        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.
                                                                                                                      • excludedRegions : String
                                                                                                                        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.
                                                                                                                    • $class: 'PerBuildTag'
                                                                                                                      Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
                                                                                                                      • $class: 'PreBuildMerge'
                                                                                                                        These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
                                                                                                                        • options
                                                                                                                            Nested Object
                                                                                                                          • mergeTarget : String
                                                                                                                            The name of the branch within the named repository to merge to, such as master.
                                                                                                                          • fastForwardMode (optional)
                                                                                                                            Merge fast-forward mode selection.
                                                                                                                            The default, --ff, gracefully falls back to a merge commit when required.
                                                                                                                            For more information, see the Git Merge Documentation
                                                                                                                            • Values: FF, FF_ONLY, NO_FF
                                                                                                                          • mergeRemote : String (optional)
                                                                                                                            Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
                                                                                                                          • mergeStrategy (optional)
                                                                                                                            Merge strategy selection. This feature is not fully implemented in JGIT.
                                                                                                                            • Values: DEFAULT, RESOLVE, RECURSIVE, OCTOPUS, OURS, SUBTREE, RECURSIVE_THEIRS
                                                                                                                      • pretestedIntegration
                                                                                                                        • gitIntegrationStrategy
                                                                                                                            Nested Choice of Objects
                                                                                                                          • accumulated

                                                                                                                            Accumulated Commit Strategy

                                                                                                                            This strategy merges your commits with the --no-ff switch
                                                                                                                            • shortCommitMessage : boolean (optional)
                                                                                                                          • ffonly

                                                                                                                            Fast Forward only (--ff-only) Strategy

                                                                                                                            This strategy fast-forward only using the --ff-only switch - or fails
                                                                                                                            • shortCommitMessage : boolean (optional)
                                                                                                                          • squash

                                                                                                                            Squashed Commit Strategy

                                                                                                                            This strategy squashes all your commit on a given branch with the --squash option
                                                                                                                          • integrationBranch : String

                                                                                                                            What to specify

                                                                                                                            The branch name must match your integration branch name. No trailing slash.

                                                                                                                            Merge is performed the following way

                                                                                                                            Squash commit
                                                                                                                                        git checkout -B <Branch name> <Repository name>/<Branch name>
                                                                                                                                        git merge --squash <Branch matched by git>
                                                                                                                                        git commit -C <Branch matched by git>
                                                                                                                            Accumulated commit
                                                                                                                                        git checkout -B <Branch name> <Repository name>/<Branch name>
                                                                                                                                        git merge -m <commitMsg> <Branch matched by git> --no-ff

                                                                                                                            When changes are pushed to the integration branch?

                                                                                                                            Changes are only ever pushed when the build results is SUCCESS

                                                                                                                                        git push <Repository name> <Branch name>
                                                                                                                          • repoName : String

                                                                                                                            What to specify

                                                                                                                            The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.

                                                                                                                            No trailing slash on repository name.

                                                                                                                            Remember to specify this when working with NAMED repositories in Git

                                                                                                                        • $class: 'PruneStaleBranch'
                                                                                                                          Run "git remote prune" for each remote, to prune obsolete local branches.
                                                                                                                          • pruneTags
                                                                                                                            • pruneTags : boolean
                                                                                                                          • $class: 'RelativeTargetDirectory'
                                                                                                                            • relativeTargetDir : String
                                                                                                                              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.

                                                                                                                              This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.

                                                                                                                          • $class: 'ScmName'

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

                                                                                                                            • name : String
                                                                                                                          • $class: 'SparseCheckoutPaths'

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

                                                                                                                            • sparseCheckoutPaths
                                                                                                                                Array / List of Nested Object
                                                                                                                              • path : String
                                                                                                                          • $class: 'SubmoduleOption'
                                                                                                                            • disableSubmodules : boolean
                                                                                                                              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.
                                                                                                                            • recursiveSubmodules : boolean
                                                                                                                              Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
                                                                                                                            • trackingSubmodules : boolean
                                                                                                                              Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
                                                                                                                            • reference : String
                                                                                                                              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 controller or agent 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
                                                                                                                                
                                                                                                                            • timeout : int
                                                                                                                              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 controller and agent to have effect (see JENKINS-22547).
                                                                                                                            • parentCredentials : boolean
                                                                                                                              Use credentials from the default remote of the parent project.
                                                                                                                            • depth : int (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 commits of a repository.
                                                                                                                            • shallow : boolean (optional)
                                                                                                                              Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                                                                                                            • threads : int (optional)
                                                                                                                              Specify the number of threads that will be used to update submodules.
                                                                                                                              If unspecified, the command line git default thread count is used.
                                                                                                                          • $class: 'UserExclusion'
                                                                                                                            • excludedUsers : String
                                                                                                                              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 exact string comparison and must be separated by a new line. User names are only excluded if they exactly match one of the names in this list.

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

                                                                                                                              If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.

                                                                                                                            • email : String

                                                                                                                              If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.

                                                                                                                          • $class: 'WipeWorkspace'
                                                                                                                            Delete the contents of the workspace before building, ensuring a fully fresh workspace.
                                                                                                                          • gitTool : String
                                                                                                                          • projectName : String

                                                                                                                            Enter the name of the Bitbucket Server project containing the repository you want Jenkins to build from. To find a project, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.

                                                                                                                            To get Jenkins to build from a personal repository, enter a tilde (~) followed by repository owner's username. For example, ~jsmith.

                                                                                                                          • repositoryName : String

                                                                                                                            Enter the Bitbucket Server repository you want Jenkins to build from. To find a repository, start typing. If it doesn't appear in the search results, the credentials that you've chosen may not have read access to it and you'll need to provide different credentials.

                                                                                                                            To get Jenkins to build from a personal repository, enter its slug. This is the URL-friendly version of the repository name. For example, a repository called my example repo will have the slug my-example-repo, and you can see this in its URL, https://bitbucketserver.mycompany.com/myproject/my-example-repo.

                                                                                                                          • serverId : String

                                                                                                                            Choose the Bitbucket Server instance containing the repository you want Jenkins to build from. If you can't find your instance, check this plugin's configuration and try again.

                                                                                                                          • mirrorName : String

                                                                                                                            Choose the location that Jenkins should clone from when running this build. This can be the primary server or a mirror if one is available. To see available mirrors, first choose a Bitbucket Server project and repository.

                                                                                                                        • $class: 'BlameSubversionSCM'

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

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

                                                                                                                          else the plugin will collect svn info from latest upstream job

                                                                                                                          • alwaysCollectSVNInfo : boolean
                                                                                                                        • $class: 'CCUCMScm'
                                                                                                                          • loadModule : String
                                                                                                                          • newest : boolean
                                                                                                                          • mode
                                                                                                                              Nested Choice of Objects
                                                                                                                            • $class: 'PollChildMode'
                                                                                                                              • levelToPoll : String
                                                                                                                              • component : String (optional)
                                                                                                                              • createBaseline : boolean (optional)

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

                                                                                                                                This is only applicable for child and sibling poll mode.

                                                                                                                              • newest : boolean (optional)
                                                                                                                                Selects the newest baseline on the stream. Skipping intermediates.
                                                                                                                            • $class: 'PollRebaseMode'
                                                                                                                            • $class: 'PollSelfMode'
                                                                                                                              • levelToPoll : String
                                                                                                                              • component : String (optional)
                                                                                                                              • newest : boolean (optional)
                                                                                                                                Selects the newest baseline on the stream. Skipping intermediates.
                                                                                                                            • $class: 'PollSiblingMode'
                                                                                                                              • levelToPoll : String
                                                                                                                              • component : String (optional)
                                                                                                                              • createBaseline : boolean (optional)

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

                                                                                                                                This is only applicable for child and sibling poll mode.

                                                                                                                              • newest : boolean (optional)
                                                                                                                                Selects the newest baseline on the stream. Skipping intermediates.
                                                                                                                              • useHyperLinkForPolling : boolean (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.
                                                                                                                            • $class: 'PollSubscribeMode'
                                                                                                                              • levelToPoll : String
                                                                                                                              • componentsToMonitor
                                                                                                                                  Array / List of Nested Object
                                                                                                                                • componentSelection : String
                                                                                                                              • jobsToMonitor
                                                                                                                                  Array / List of Nested Object
                                                                                                                                • jobname : String
                                                                                                                                • ignores : String
                                                                                                                                  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.
                                                                                                                                • jobName : String (optional)
                                                                                                                                  Specifies the name of the job in which all selected baselines must be present.
                                                                                                                              • cascadePromotion : boolean (optional)
                                                                                                                              • component : String (optional)
                                                                                                                              • newest : boolean (optional)
                                                                                                                          • stream : String
                                                                                                                            Specify the stream you want to poll for with ClearCase UCM SCM. Syntax: [stream]@[PVOB]
                                                                                                                          • treatUnstable : String
                                                                                                                          • nameTemplate : String
                                                                                                                          • forceDeliver : boolean
                                                                                                                          • recommend : boolean
                                                                                                                          • makeTag : boolean
                                                                                                                          • setDescription : boolean
                                                                                                                          • buildProject : String
                                                                                                                          • removeViewPrivateFiles : boolean
                                                                                                                          • trimmedChangeSet : boolean
                                                                                                                          • discard : boolean
                                                                                                                        • $class: 'CVSSCM'
                                                                                                                          • repositories
                                                                                                                              Array / List of Nested Object
                                                                                                                            • cvsRoot : String
                                                                                                                              The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)
                                                                                                                            • passwordRequired : boolean
                                                                                                                            • password : String
                                                                                                                            • repositoryItems
                                                                                                                                Array / List of Nested Object
                                                                                                                              • location
                                                                                                                                  Nested Choice of Objects
                                                                                                                                • $class: 'BranchRepositoryLocation'
                                                                                                                                  • branchName : String
                                                                                                                                  • useHeadIfNotFound : boolean
                                                                                                                                • $class: 'HeadRepositoryLocation'
                                                                                                                                  • $class: 'TagRepositoryLocation'
                                                                                                                                    • tagName : String
                                                                                                                                    • useHeadIfNotFound : boolean
                                                                                                                                • modules
                                                                                                                                    Array / List of Nested Object
                                                                                                                                  • remoteName : String
                                                                                                                                    The name of the module in the repository at CVSROOT
                                                                                                                                  • localName : String
                                                                                                                                    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.
                                                                                                                                  • projectsetFileName : String
                                                                                                                                    The name of the file in this module to parse for projectset entries.
                                                                                                                              • 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 of Nested Object
                                                                                                                                • pattern : String
                                                                                                                              • compressionLevel : int
                                                                                                                              • repositoryBrowser
                                                                                                                                  Nested Choice of Objects
                                                                                                                                • $class: 'FishEyeCVS'
                                                                                                                                  • url : String
                                                                                                                                    Specify the root URL of FishEye for this repository (such as this.)
                                                                                                                                • $class: 'OpenGrok'
                                                                                                                                  • url : String
                                                                                                                                    Specify the root URL of OpenGrok for this repository.
                                                                                                                                • $class: 'ViewCVS'
                                                                                                                                  • url : String
                                                                                                                                    Specify the root URL of ViewCVS for this repository (such as this).
                                                                                                                            • canUseUpdate : boolean
                                                                                                                              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.
                                                                                                                            • legacy : boolean
                                                                                                                              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".

                                                                                                                            • skipChangeLog : boolean
                                                                                                                              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.
                                                                                                                            • pruneEmptyDirectories : boolean
                                                                                                                              Remove empty directories after checkout using the CVS '-P' option.
                                                                                                                            • disableCvsQuiet : boolean
                                                                                                                              Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.
                                                                                                                            • cleanOnFailedUpdate : boolean
                                                                                                                              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.
                                                                                                                            • forceCleanCopy : boolean
                                                                                                                              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.
                                                                                                                            • checkoutCurrentTimestamp : boolean
                                                                                                                              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.

                                                                                                                          • $class: 'ClearCaseSCM'
                                                                                                                            • branch : String
                                                                                                                            • label : String
                                                                                                                            • extractConfigSpec : boolean
                                                                                                                            • configSpecFileName : String
                                                                                                                            • refreshConfigSpec : boolean
                                                                                                                            • refreshConfigSpecCommand : String
                                                                                                                            • configSpec : String
                                                                                                                            • viewTag : String
                                                                                                                            • useupdate : boolean
                                                                                                                            • extractLoadRules : boolean
                                                                                                                            • loadRules : String
                                                                                                                            • useOtherLoadRulesForPolling : boolean
                                                                                                                            • loadRulesForPolling : String
                                                                                                                            • usedynamicview : boolean
                                                                                                                            • viewdrive : String
                                                                                                                            • mkviewoptionalparam : String
                                                                                                                            • filterOutDestroySubBranchEvent : boolean
                                                                                                                            • doNotUpdateConfigSpec : boolean
                                                                                                                            • rmviewonrename : boolean
                                                                                                                            • excludedRegions : String
                                                                                                                            • multiSitePollBuffer : String
                                                                                                                            • useTimeRule : boolean
                                                                                                                            • createDynView : boolean
                                                                                                                            • viewPath : String
                                                                                                                            • changeset
                                                                                                                              • 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 : String

                                                                                                                                    Label expression used to populate view storage location dropdown.

                                                                                                                                  • server : String

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

                                                                                                                                • $class: 'SpecificViewStorage'
                                                                                                                                  • winStorageDir : String
                                                                                                                                  • unixStorageDir : String
                                                                                                                            • $class: 'ClearCaseUcmBaselineSCM'
                                                                                                                              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 : String
                                                                                                                                • loadrules : String
                                                                                                                                • viewTag : String
                                                                                                                                • usedynamicview : boolean
                                                                                                                                • viewdrive : String
                                                                                                                                • mkviewoptionalparam : String
                                                                                                                                • filterOutDestroySubBranchEvent : boolean
                                                                                                                                • useUpdate : boolean
                                                                                                                                • rmviewonrename : boolean
                                                                                                                                • excludedRegions : String
                                                                                                                                • multiSitePollBuffer : String
                                                                                                                                • overrideBranchName : String
                                                                                                                                • createDynView : boolean
                                                                                                                                • freezeCode : boolean
                                                                                                                                • recreateView : boolean
                                                                                                                                • allocateViewName : boolean
                                                                                                                                • viewPath : String
                                                                                                                                • useManualLoadRules : boolean
                                                                                                                                • changeset
                                                                                                                                  • 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 : String

                                                                                                                                        Label expression used to populate view storage location dropdown.

                                                                                                                                      • server : String

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

                                                                                                                                    • $class: 'SpecificViewStorage'
                                                                                                                                      • winStorageDir : String
                                                                                                                                      • unixStorageDir : String
                                                                                                                                  • buildFoundationBaseline : boolean

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

                                                                                                                                • $class: 'CloneWorkspaceSCM'
                                                                                                                                  • parentJobName : String
                                                                                                                                  • criteria : String
                                                                                                                                • $class: 'CmvcSCM'
                                                                                                                                  • family : String
                                                                                                                                  • become : String
                                                                                                                                  • releases : String
                                                                                                                                  • checkoutScript : String
                                                                                                                                  • trackViewReportWhereClause : String
                                                                                                                                • $class: 'ConfigurationRotator'
                                                                                                                                  • acrs
                                                                                                                                      Nested Choice of Objects
                                                                                                                                    • $class: 'ClearCaseUCM'
                                                                                                                                      • pvobName : String
                                                                                                                                      • contribute : boolean

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

                                                                                                                                      • targets
                                                                                                                                          Array / List of Nested Object
                                                                                                                                        • baselineName : String
                                                                                                                                        • level
                                                                                                                                          • Values: INITIAL, BUILT, TESTED, RELEASED, REJECTED
                                                                                                                                        • fixed : boolean
                                                                                                                                      • useNewest : boolean (optional)
                                                                                                                                    • $class: 'Git'
                                                                                                                                      • targets
                                                                                                                                          Array / List of Nested Object
                                                                                                                                        • name : String
                                                                                                                                        • repository : String
                                                                                                                                        • branch : String
                                                                                                                                        • commitId : String
                                                                                                                                        • fixed : boolean
                                                                                                                                      • useNewest : boolean (optional)
                                                                                                                                • $class: 'CvsProjectset'
                                                                                                                                  • repositories
                                                                                                                                      Array / List of Nested Object
                                                                                                                                    • cvsRoot : String
                                                                                                                                      The CVS connection string Jenkins uses to connect to the server. The format is the same as $CVSROOT environment variable (:protocol:user@host:path)
                                                                                                                                    • passwordRequired : boolean
                                                                                                                                    • password : String
                                                                                                                                    • repositoryItems
                                                                                                                                        Array / List of Nested Object
                                                                                                                                      • location
                                                                                                                                          Nested Choice of Objects
                                                                                                                                        • $class: 'BranchRepositoryLocation'
                                                                                                                                          • branchName : String
                                                                                                                                          • useHeadIfNotFound : boolean
                                                                                                                                        • $class: 'HeadRepositoryLocation'
                                                                                                                                          • $class: 'TagRepositoryLocation'
                                                                                                                                            • tagName : String
                                                                                                                                            • useHeadIfNotFound : boolean
                                                                                                                                        • modules
                                                                                                                                            Array / List of Nested Object
                                                                                                                                          • remoteName : String
                                                                                                                                            The name of the module in the repository at CVSROOT
                                                                                                                                          • localName : String
                                                                                                                                            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.
                                                                                                                                          • projectsetFileName : String
                                                                                                                                            The name of the file in this module to parse for projectset entries.
                                                                                                                                      • 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 of Nested Object
                                                                                                                                        • pattern : String
                                                                                                                                      • compressionLevel : int
                                                                                                                                      • repositoryBrowser
                                                                                                                                          Nested Choice of Objects
                                                                                                                                        • $class: 'FishEyeCVS'
                                                                                                                                          • url : String
                                                                                                                                            Specify the root URL of FishEye for this repository (such as this.)
                                                                                                                                        • $class: 'OpenGrok'
                                                                                                                                          • url : String
                                                                                                                                            Specify the root URL of OpenGrok for this repository.
                                                                                                                                        • $class: 'ViewCVS'
                                                                                                                                          • url : String
                                                                                                                                            Specify the root URL of ViewCVS for this repository (such as this).
                                                                                                                                    • canUseUpdate : boolean
                                                                                                                                      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.
                                                                                                                                    • username : String
                                                                                                                                      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.
                                                                                                                                    • password : String
                                                                                                                                      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.
                                                                                                                                    • browser
                                                                                                                                        Nested Choice of Objects
                                                                                                                                      • $class: 'FishEyeCVS'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL of FishEye for this repository (such as this.)
                                                                                                                                      • $class: 'OpenGrok'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL of OpenGrok for this repository.
                                                                                                                                      • $class: 'ViewCVS'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL of ViewCVS for this repository (such as this).
                                                                                                                                    • skipChangeLog : boolean
                                                                                                                                      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.
                                                                                                                                    • pruneEmptyDirectories : boolean
                                                                                                                                      Remove empty directories after checkout using the CVS '-P' option.
                                                                                                                                    • disableCvsQuiet : boolean
                                                                                                                                      Instructs CVS to show all logging output. CVS normally runs in quiet mode but this option disables that.
                                                                                                                                    • cleanOnFailedUpdate : boolean
                                                                                                                                      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.
                                                                                                                                    • forceCleanCopy : boolean
                                                                                                                                  • $class: 'DarcsScm'
                                                                                                                                    • source : String
                                                                                                                                    • localDir : String
                                                                                                                                    • clean : boolean
                                                                                                                                    • browser
                                                                                                                                        Nested Choice of Objects
                                                                                                                                      • $class: 'DarcsWeb'
                                                                                                                                        • url : String
                                                                                                                                        • repo : String
                                                                                                                                      • $class: 'Darcsden'
                                                                                                                                        • url : String
                                                                                                                                  • $class: 'DimensionsSCM'
                                                                                                                                    • project : String
                                                                                                                                    • credentialsType : String
                                                                                                                                    • userName : String
                                                                                                                                    • password : String
                                                                                                                                    • pluginServer : String
                                                                                                                                    • userServer : String
                                                                                                                                    • keystoreServer : String
                                                                                                                                    • pluginDatabase : String
                                                                                                                                    • userDatabase : String
                                                                                                                                    • keystoreDatabase : String
                                                                                                                                    • keystorePath : String
                                                                                                                                    • certificateAlias : String
                                                                                                                                    • credentialsId : String
                                                                                                                                    • certificatePassword : String
                                                                                                                                    • keystorePassword : String
                                                                                                                                    • certificatePath : String
                                                                                                                                    • remoteCertificatePassword : String
                                                                                                                                    • secureAgentAuth : boolean
                                                                                                                                    • canJobDelete : boolean (optional)
                                                                                                                                    • canJobExpand : boolean (optional)
                                                                                                                                    • canJobForce : boolean (optional)
                                                                                                                                    • canJobNoMetadata : boolean (optional)
                                                                                                                                    • canJobNoTouch : boolean (optional)
                                                                                                                                    • canJobRevert : boolean (optional)
                                                                                                                                    • canJobUpdate : boolean (optional)
                                                                                                                                    • eol : String (optional)
                                                                                                                                    • folders (optional)
                                                                                                                                        Array / List of Nested Object
                                                                                                                                      • value : String
                                                                                                                                    • pathsToExclude (optional)
                                                                                                                                        Array / List of Nested Object
                                                                                                                                      • value : String
                                                                                                                                    • permissions : String (optional)
                                                                                                                                    • timeZone : String (optional)
                                                                                                                                    • webUrl : String (optional)
                                                                                                                                  • $class: 'DrushMakefileSCM'
                                                                                                                                    • makefile : String

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

                                                                                                                                      This example will generate a vanilla Drupal 7.38:

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

                                                                                                                                    • root : String
                                                                                                                                      Specify a local directory for the Drupal root (relative to the workspace root).
                                                                                                                                  • $class: 'EndevorConfiguration'
                                                                                                                                    • connectionId : String
                                                                                                                                    • filterPattern : String
                                                                                                                                    • fileExtension : String
                                                                                                                                    • credentialsId : String
                                                                                                                                    • targetFolder : String
                                                                                                                                  • filesystem
                                                                                                                                    • path : String

                                                                                                                                      The file path for the source code.

                                                                                                                                      e.g. \\Server1\project1\src or c:\myproject\src

                                                                                                                                      Note for distributed build environment, please make sure the path is accessible on remote node(s)

                                                                                                                                    • clearWorkspace : boolean

                                                                                                                                      If true, the system will delete all existing files/sub-folders in workspace before checking-out. Poll changes will not be affected by this setting.

                                                                                                                                    • copyHidden : boolean

                                                                                                                                      If true, the system will copy hidden files and folders as well. Default is false.

                                                                                                                                    • filterSettings
                                                                                                                                        Nested Object
                                                                                                                                      • includeFilter : boolean
                                                                                                                                      • selectors

                                                                                                                                        You can apply wildcard filter(s) when detecting changes and copying files. By default, the system will filter out hidden files, on Unix, that means files/folder starting with ".", on Windows, that means files/folders with "hidden" attribute. You may want to filter out, e.g. files with ".tmp" extension.

                                                                                                                                        Note: filters are applied on both sides, source and destination (i.e. the workspace). E.g. if you filter out ".tmp" files, all ".tmp" files currently in workspace will not be removed.

                                                                                                                                          Array / List of Nested Object
                                                                                                                                        • wildcard : String

                                                                                                                                          ANT style wildcard.

                                                                                                                                          To include just *.java, set filter type to "Include" and type add "*.java" (without quote) in the wildcard. To exclude *.exe" and all JUnit test cases, set filter type to "Exclude" and add two wildcard, one for "*.dll" and one for "*Test*"

                                                                                                                                          To exclude a directory, set filter to "**/dir_to_exclude/**"

                                                                                                                                          Note: (1) the wildcard is case insensitive, (2) all backslashes (\) will be replaced with slashes (/)

                                                                                                                                  • $class: 'FeatureBranchAwareMercurialSCM'
                                                                                                                                    • installation : String
                                                                                                                                    • source : String
                                                                                                                                      Specify the repository to track. This can be URL or a local file path.
                                                                                                                                    • branch : String
                                                                                                                                      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.
                                                                                                                                    • modules : String
                                                                                                                                      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.)
                                                                                                                                    • subdir : String
                                                                                                                                      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.
                                                                                                                                    • browser
                                                                                                                                        Nested Choice of Objects
                                                                                                                                      • $class: 'FishEye'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
                                                                                                                                      • $class: 'GoogleCode'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as this).
                                                                                                                                      • $class: 'HgWeb'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as this).
                                                                                                                                      • $class: 'Kallithea'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as this).
                                                                                                                                      • $class: 'KilnHG'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as this).
                                                                                                                                      • $class: 'RhodeCode'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as this).
                                                                                                                                      • $class: 'RhodeCodeLegacy'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as this).
                                                                                                                                      • $class: 'ScmManager'
                                                                                                                                        • url : String
                                                                                                                                          Specify the root URL serving this repository (such as http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/).
                                                                                                                                    • clean : boolean
                                                                                                                                      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.
                                                                                                                                    • branchPattern : String
                                                                                                                                  • $class: 'GeneXusServerSCM'
                                                                                                                                    Checks out (or updates) a Knowledge Base from a GeneXus Server.
                                                                                                                                    • gxInstallationId : String

                                                                                                                                      GeneXus installation to use when creating (or updating) a local copy of a Knowledge Base from a GeneXus Server.

                                                                                                                                      Select "(Custom)" if you want to specify a custom GeneXus path for this project (see Advanced Options).

                                                                                                                                      The options that appear here are those you may configure in Jenkins "Global Tool Configuration" for GeneXus.

                                                                                                                                    • gxCustomPath : String

                                                                                                                                      Custom path to a GeneXus installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server. This custom path is used when the "Custom" option is selected for the GeneXus Installation

                                                                                                                                    • msbuildCustomPath : String

                                                                                                                                      Custom path to the MSBuild installation to use when creating (or updating) a local copy of Knowledge Base from a GeneXus Server.

                                                                                                                                    • serverURL : String
                                                                                                                                      URL of the GeneXus Server from which to obtain (or update) a local copy of a Knowledge Base (eg: "https://sandbox.genexusserver.com/v16").
                                                                                                                                    • credentialsId : String

                                                                                                                                      Credentials to use when authenticating to the GeneXus Server.

                                                                                                                                      Select the credentials you want to use or click "Add" to enter a new user/password pair.

                                                                                                                                    • kbName : String
                                                                                                                                      Name of the Knowledge Base in GeneXus Server from which to obtain (or update) a local copy.
                                                                                                                                    • kbVersion : String

                                                                                                                                      Name of the Version that will be selected when creating a local copy of the Knowledge Base.

                                                                                                                                      If you leave it blank the 'Trunk' version will be selected by default.

                                                                                                                                    • localKbPath : String

                                                                                                                                      Path to the local Knowledge Base to use as working copy.

                                                                                                                                      If you leave it blank the default ${WORKSPACE}\KBname will apply.

                                                                                                                                    • localKbVersion : String

                                                                                                                                      Name of the Version in the local Knowledge Base that is linked to the Version in the server.

                                                                                                                                      If you leave it blank the 'Trunk' version will be selected by default.

                                                                                                                                    • kbDbServerInstance : String
                                                                                                                                      SQL Server used by GeneXus for the local Knowledge Base.
                                                                                                                                    • kbDbCredentialsId : String

                                                                                                                                      Credentials to use when to connecting to SQL Server.

                                                                                                                                      Select "none" for Windows Authentication.

                                                                                                                                    • kbDbName : String

                                                                                                                                      Name of the SQL Server database used for the local Knowledge Base.

                                                                                                                                      Leave it blank to use the default database name.

                                                                                                                                    • kbDbInSameFolder : boolean

                                                                                                                                      Create the database files in the same folder as the Knowledge Base when checking out. Default is 'true'.

                                                                                                                                      If kbDbInSameFolder is true or not set, then the database files will be created in the same folder as the Knowledge Base. If kbDbInSameFolder is false, then the database files will be created in the default folder configured for the SQL Server at kbDbServerInstance (optional).

                                                                                                                                  • $class: 'GitSCM'

                                                                                                                                    The git plugin provides fundamental git operations for Jenkins projects. It can poll, fetch, checkout, and merge contents of git repositories.

                                                                                                                                    The git plugin provides an SCM implementation to be used with the Pipeline SCM checkout step. The Pipeline Syntax Snippet Generator guides the user to select git plugin checkout options and provides online help for each of the options.

                                                                                                                                    • userRemoteConfigs
                                                                                                                                      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

                                                                                                                                      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 of Nested Object
                                                                                                                                      • url : String
                                                                                                                                        Specify the URL or path of the git repository. This uses the same syntax as your git clone command.
                                                                                                                                      • name : String
                                                                                                                                        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.

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

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

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

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

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

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

                                                                                                                                      • credentialsId : String
                                                                                                                                        Credential used to check out sources.
                                                                                                                                    • branches
                                                                                                                                      List of branches to build. Jenkins jobs are most effective when each job builds only a single branch. When a single job builds multiple branches, the changelog comparisons between branches often show no changes or incorrect changes.
                                                                                                                                        Array / List of Nested Object
                                                                                                                                      • name : String

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

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

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

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

                                                                                                                                        Possible options:

                                                                                                                                        • <branchName>
                                                                                                                                          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

                                                                                                                                    • browser
                                                                                                                                      Defines the repository browser that displays changes detected by the git plugin.
                                                                                                                                        Nested Choice of Objects
                                                                                                                                      • $class: 'AssemblaWeb'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://www.assembla.com/code/PROJECT/git/).
                                                                                                                                      • $class: 'BacklogGitRepositoryBrowser'
                                                                                                                                        • repoName : String
                                                                                                                                        • repoUrl : String
                                                                                                                                      • bitbucketServer
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the Bitbucket Server root URL for this repository (such as https://bitbucket:7990/OWNER/REPO/).
                                                                                                                                      • $class: 'BitbucketWeb'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://bitbucket.org/OWNER/REPO/).
                                                                                                                                      • $class: 'CGit'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as http://cgit.example.com:port/group/REPO/).
                                                                                                                                      • $class: 'FisheyeGitRepositoryBrowser'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the URL of this repository in FishEye (such as http://fisheye6.cenqua.com/browse/ant/).
                                                                                                                                      • $class: 'GitBlitRepositoryBrowser'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository.
                                                                                                                                        • projectName : String
                                                                                                                                          Specify the name of the project in GitBlit.
                                                                                                                                      • $class: 'GitBucketBrowser'
                                                                                                                                        • url : String
                                                                                                                                      • $class: 'GitLab'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as http://gitlabserver:port/group/REPO/).
                                                                                                                                        • version : String (optional)
                                                                                                                                          Specify the major and minor version of GitLab you use (such as 9.1). If you don't specify a version, a modern version of GitLab (>= 8.0) is assumed.
                                                                                                                                      • $class: 'GitLabBrowser'
                                                                                                                                        Specify the HTTP URL for this project's GitLab page so that links to changes can be automatically generated by Jenkins. The URL needs to include the owner and project. If the GitLab server is https://gitLab.example.com then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks.
                                                                                                                                        • projectUrl : String
                                                                                                                                          Specify the HTTP URL for this project's GitLab page. The URL needs to include the owner and project so, for example, if the GitLab server is https://gitLab.example.com then the URL for bob's skunkworks project might be https://gitLab.example.com/bob/skunkworks
                                                                                                                                      • $class: 'GitList'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as http://gitlistserver:port/REPO/).
                                                                                                                                      • $class: 'GitWeb'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://github.com/jenkinsci/jenkins.git).
                                                                                                                                      • $class: 'GiteaBrowser'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the HTTP URL for this repository's Gitea page. The URL needs to include the owner and repository so, for example, if the Gitea server is https://gitea.example.com then the URL for bob's skunkworks project repository might be https://gitea.example.com/bob/skunkworks
                                                                                                                                      • $class: 'GithubWeb'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the HTTP URL for this repository's GitHub page (such as https://github.com/jquery/jquery).
                                                                                                                                      • $class: 'Gitiles'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://gwt.googlesource.com/gwt/).
                                                                                                                                      • $class: 'GitoriousWeb'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://gitorious.org/gitorious/mainline).
                                                                                                                                      • $class: 'GogsGit'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as http://gogs.example.com:port/username/some-repo-url.git).
                                                                                                                                      • $class: 'KilnGit'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://khanacademy.kilnhg.com/Code/Website/Group/webapp).
                                                                                                                                      • $class: 'Phabricator'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the phabricator instance root URL (such as http://phabricator.example.com).
                                                                                                                                        • repo : String
                                                                                                                                          Specify the repository name in phabricator (such as the foo part of phabricator.example.com/diffusion/foo/browse).
                                                                                                                                      • $class: 'RedmineWeb'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as http://SERVER/PATH/projects/PROJECT/repository).
                                                                                                                                      • $class: 'RhodeCode'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the HTTP URL for this repository's RhodeCode page (such as http://rhodecode.mydomain.com:5000/projects/PROJECT/repos/REPO/).
                                                                                                                                      • $class: 'ScmManagerGitRepositoryBrowser'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the root URL serving this repository (such as https://scm-manager.org/scm/repo/namespace/name).
                                                                                                                                      • $class: 'Stash'
                                                                                                                                        • repoUrl : String
                                                                                                                                          Specify the HTTP URL for this repository's Stash page (such as http://stash.mydomain.com:7990/projects/PROJECT/repos/REPO/).
                                                                                                                                      • $class: 'TFS2013GitRepositoryBrowser'
                                                                                                                                        • repoUrl : String
                                                                                                                                          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/PROJECT/_git/REPO/). 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.

                                                                                                                                      • $class: 'TracGitRepositoryBrowser'
                                                                                                                                        • $class: 'TuleapBrowser'
                                                                                                                                          Specify the HTTPS URL for the Tuleap Git repository so that links to changes can be automatically generated by Jenkins.
                                                                                                                                          • repositoryUrl : String
                                                                                                                                            The URL is the web URL of the Tuleap Git repository.
                                                                                                                                        • $class: 'ViewGitWeb'
                                                                                                                                          • repoUrl : String
                                                                                                                                            Specify the root URL serving this repository (such as http://code.fealdia.org/viewgit/).
                                                                                                                                          • projectName : String
                                                                                                                                            Specify the name of the project in ViewGit (e.g. scripts, scuttle etc. from http://code.fealdia.org/viewgit/).
                                                                                                                                      • gitTool : String

                                                                                                                                        Absolute path to the git executable.

                                                                                                                                        This is different from other Jenkins tool definitions. Rather than providing the directory that contains the executable, you must provide the complete path to the executable. Setting '/usr/bin/git' would be correct, while setting '/usr/bin/' is not correct.

                                                                                                                                      • extensions

                                                                                                                                        Extensions add new behavior or modify existing plugin behavior for different uses. Extensions help users more precisely tune plugin behavior to meet their needs.

                                                                                                                                        Extensions include:

                                                                                                                                        • Clone extensions modify the git operations that retrieve remote changes into the agent workspace. The extensions can adjust the amount of history retrieved, how long the retrieval is allowed to run, and other retrieval details.
                                                                                                                                        • Checkout extensions modify the git operations that place files in the workspace from the git repository on the agent. The extensions can adjust the maximum duration of the checkout operation, the use and behavior of git submodules, the location of the workspace on the disc, and more.
                                                                                                                                        • Changelog extensions adapt the source code difference calculations for different cases.
                                                                                                                                        • Tagging extensions allow the plugin to apply tags in the current workspace.
                                                                                                                                        • Build initiation extensions control the conditions that start a build. They can ignore notifications of a change or force a deeper evaluation of the commits when polling.
                                                                                                                                        • Merge extensions can optionally merge changes from other branches into the current branch of the agent workspace. They control the source branch for the merge and the options applied to the merge.

                                                                                                                                          Array / List of 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.
                                                                                                                                          • $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 : int
                                                                                                                                                  • ancestorCommitSha1 : String
                                                                                                                                                • $class: 'DefaultBuildChooser'
                                                                                                                                                  • $class: 'DeflakeGitBuildChooser'
                                                                                                                                                    • $class: 'GerritTriggerBuildChooser'
                                                                                                                                                      • $class: 'InverseBuildChooser'
                                                                                                                                                    • $class: 'BuildSingleRevisionOnly'
                                                                                                                                                      Disable scheduling for multiple candidate revisions.
                                                                                                                                                      If we have 3 branches:
                                                                                                                                                      ----A--.---.--- B
                                                                                                                                                               \-----C
                                                                                                                                                      jenkins would try to build (B) and (C).
                                                                                                                                                      This behaviour disables this and only builds one of them.
                                                                                                                                                      It is helpful to reduce the load of the Jenkins infrastructure when the SCM system like Bitbucket or GitHub should decide what commits to build.
                                                                                                                                                      • $class: 'ChangelogToBranch'
                                                                                                                                                        This method calculates the changelog against the specified branch.
                                                                                                                                                        • options
                                                                                                                                                            Nested Object
                                                                                                                                                          • compareRemote : String
                                                                                                                                                            Name of the repository, such as origin, that contains the branch you specify below.
                                                                                                                                                          • compareTarget : String
                                                                                                                                                            The name of the branch within the named repository to compare against.
                                                                                                                                                      • $class: 'CheckoutOption'
                                                                                                                                                        • timeout : int
                                                                                                                                                          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 controller and agent to have effect (see JENKINS-22547).
                                                                                                                                                      • $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.
                                                                                                                                                        • deleteUntrackedNestedRepositories : boolean (optional)
                                                                                                                                                          Deletes untracked submodules and any other subdirectories which contain .git directories.
                                                                                                                                                      • $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.
                                                                                                                                                        • deleteUntrackedNestedRepositories : boolean (optional)
                                                                                                                                                          Deletes untracked submodules and any other subdirectories which contain .git directories.
                                                                                                                                                      • $class: 'CloneOption'
                                                                                                                                                        • shallow : boolean
                                                                                                                                                          Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                                                                                                                                        • noTags : boolean
                                                                                                                                                          Deselect this to perform a clone without tags, saving time and disk space when you just want to access what is specified by the refspec.
                                                                                                                                                        • reference : String
                                                                                                                                                          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 controller or agent where the clone is being executed.
                                                                                                                                                        • timeout : int
                                                                                                                                                          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 controller and agent to have effect (see JENKINS-22547).
                                                                                                                                                        • depth : int (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 commits of a repository.
                                                                                                                                                        • honorRefspec : boolean (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.
                                                                                                                                                      • $class: 'CodeCommitURLHelper'
                                                                                                                                                        • credentialId : String

                                                                                                                                                          OPTIONAL: Select the credentials to use.
                                                                                                                                                          If not specified, defaults to the DefaultAWSCredentialsProviderChain behaviour - *FROM THE JENKINS INSTANCE*

                                                                                                                                                          In the latter case, usage of IAM Role Profiles seems not to work, thus relying on environment variables / system properties or the ~/.aws/credentials file, thus not recommended.

                                                                                                                                                        • repositoryName : String
                                                                                                                                                      • $class: 'DisableRemotePoll'
                                                                                                                                                        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: 'ExcludeFromChangeSet'
                                                                                                                                                          • $class: 'ExcludeFromPoll'
                                                                                                                                                            • $class: 'GitLFSPull'
                                                                                                                                                              Enable git large file support for the workspace by pulling large files after the checkout completes. Requires that the controller and each agent performing an LFS checkout have installed `git lfs`.
                                                                                                                                                              • $class: 'GitSCMChecksExtension'
                                                                                                                                                                • verboseConsoleLog : boolean (optional)
                                                                                                                                                                  If this option is checked, verbose log will be output to build console; the verbose log is useful for debugging the publisher creation.
                                                                                                                                                              • $class: 'GitSCMStatusChecksExtension'
                                                                                                                                                                • name : String (optional)
                                                                                                                                                                • skip : boolean (optional)
                                                                                                                                                                • skipProgressUpdates : boolean (optional)
                                                                                                                                                                • suppressLogs : boolean (optional)
                                                                                                                                                                • unstableBuildNeutral : boolean (optional)
                                                                                                                                                              • $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 you ticked the Use most recent tag option, and the revision checked out has no git tag associated with it, the parent commits will be searched for a git tag, and the rules stated above will apply to the first parent commit with a git tag.

                                                                                                                                                                If the revision has more than one tag associated with it, only the most recent tag will be taken into account, unless the refspec contains "refs/tags/" — i.e. builds are only triggered when certain tag names or patterns are matched — in which case the exact tag name that triggered the build will be used, even if it's not the most recent tag for this commit.
                                                                                                                                                                For this reason, if you're not using a tag-specific refspec but you are using the "Create a tag for every build" behaviour, you should make sure that the build-tagging behaviour is configured to run after this "export git tag message" behaviour.

                                                                                                                                                                Tag and commit messages which span multiple lines are no problem, though only the first 10000 lines of a tag's message will be exported.
                                                                                                                                                                • useMostRecentTag : boolean (optional)
                                                                                                                                                              • $class: 'IgnoreNotifyCommit'
                                                                                                                                                                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 : String
                                                                                                                                                                • $class: 'MessageExclusion'
                                                                                                                                                                  • excludedMessage : String
                                                                                                                                                                    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.
                                                                                                                                                                • $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 : String
                                                                                                                                                                    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.
                                                                                                                                                                  • excludedRegions : String
                                                                                                                                                                    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.
                                                                                                                                                                • $class: 'PerBuildTag'
                                                                                                                                                                  Create a tag in the workspace for every build to unambiguously mark the commit that was built. You can combine this with Git publisher to push the tags to the remote repository.
                                                                                                                                                                  • $class: 'PreBuildMerge'
                                                                                                                                                                    These options allow you to perform a merge to a particular branch before building. For example, you could specify an integration branch to be built, and to merge to master. In this scenario, on every change of integration, Jenkins will perform a merge with the master branch, and try to perform a build if the merge is successful. It then may push the merge back to the remote repository if the Git Push post-build action is selected.
                                                                                                                                                                    • options
                                                                                                                                                                        Nested Object
                                                                                                                                                                      • mergeTarget : String
                                                                                                                                                                        The name of the branch within the named repository to merge to, such as master.
                                                                                                                                                                      • fastForwardMode (optional)
                                                                                                                                                                        Merge fast-forward mode selection.
                                                                                                                                                                        The default, --ff, gracefully falls back to a merge commit when required.
                                                                                                                                                                        For more information, see the Git Merge Documentation
                                                                                                                                                                        • Values: FF, FF_ONLY, NO_FF
                                                                                                                                                                      • mergeRemote : String (optional)
                                                                                                                                                                        Name of the repository, such as origin, that contains the branch you specify below. If left blank, it'll default to the name of the first repository configured above.
                                                                                                                                                                      • mergeStrategy (optional)
                                                                                                                                                                        Merge strategy selection. This feature is not fully implemented in JGIT.
                                                                                                                                                                        • Values: DEFAULT, RESOLVE, RECURSIVE, OCTOPUS, OURS, SUBTREE, RECURSIVE_THEIRS
                                                                                                                                                                  • pretestedIntegration
                                                                                                                                                                    • gitIntegrationStrategy
                                                                                                                                                                        Nested Choice of Objects
                                                                                                                                                                      • accumulated

                                                                                                                                                                        Accumulated Commit Strategy

                                                                                                                                                                        This strategy merges your commits with the --no-ff switch
                                                                                                                                                                        • shortCommitMessage : boolean (optional)
                                                                                                                                                                      • ffonly

                                                                                                                                                                        Fast Forward only (--ff-only) Strategy

                                                                                                                                                                        This strategy fast-forward only using the --ff-only switch - or fails
                                                                                                                                                                        • shortCommitMessage : boolean (optional)
                                                                                                                                                                      • squash

                                                                                                                                                                        Squashed Commit Strategy

                                                                                                                                                                        This strategy squashes all your commit on a given branch with the --squash option
                                                                                                                                                                      • integrationBranch : String

                                                                                                                                                                        What to specify

                                                                                                                                                                        The branch name must match your integration branch name. No trailing slash.

                                                                                                                                                                        Merge is performed the following way

                                                                                                                                                                        Squash commit
                                                                                                                                                                                    git checkout -B <Branch name> <Repository name>/<Branch name>
                                                                                                                                                                                    git merge --squash <Branch matched by git>
                                                                                                                                                                                    git commit -C <Branch matched by git>
                                                                                                                                                                        Accumulated commit
                                                                                                                                                                                    git checkout -B <Branch name> <Repository name>/<Branch name>
                                                                                                                                                                                    git merge -m <commitMsg> <Branch matched by git> --no-ff

                                                                                                                                                                        When changes are pushed to the integration branch?

                                                                                                                                                                        Changes are only ever pushed when the build results is SUCCESS

                                                                                                                                                                                    git push <Repository name> <Branch name>
                                                                                                                                                                      • repoName : String

                                                                                                                                                                        What to specify

                                                                                                                                                                        The repository name. In git the repository is always the name of the remote. So if you have specified a repository name in your Git configuration. You need to specify the exact same name here, otherwise no integration will be performed. We do the merge based on this.

                                                                                                                                                                        No trailing slash on repository name.

                                                                                                                                                                        Remember to specify this when working with NAMED repositories in Git

                                                                                                                                                                    • $class: 'PruneStaleBranch'
                                                                                                                                                                      Run "git remote prune" for each remote, to prune obsolete local branches.
                                                                                                                                                                      • pruneTags
                                                                                                                                                                        • pruneTags : boolean
                                                                                                                                                                      • $class: 'RelativeTargetDirectory'
                                                                                                                                                                        • relativeTargetDir : String
                                                                                                                                                                          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.

                                                                                                                                                                          This extension should not be used in Jenkins Pipeline (either declarative or scripted). Jenkins Pipeline already provides standard techniques for checkout to a subdirectory. Use ws and dir in Jenkins Pipeline rather than this extension.

                                                                                                                                                                      • $class: 'ScmName'

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

                                                                                                                                                                        • name : String
                                                                                                                                                                      • $class: 'SparseCheckoutPaths'

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

                                                                                                                                                                        • sparseCheckoutPaths
                                                                                                                                                                            Array / List of Nested Object
                                                                                                                                                                          • path : String
                                                                                                                                                                      • $class: 'SubmoduleOption'
                                                                                                                                                                        • disableSubmodules : boolean
                                                                                                                                                                          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.
                                                                                                                                                                        • recursiveSubmodules : boolean
                                                                                                                                                                          Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
                                                                                                                                                                        • trackingSubmodules : boolean
                                                                                                                                                                          Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
                                                                                                                                                                        • reference : String
                                                                                                                                                                          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 controller or agent 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
                                                                                                                                                                            
                                                                                                                                                                        • timeout : int
                                                                                                                                                                          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 controller and agent to have effect (see JENKINS-22547).
                                                                                                                                                                        • parentCredentials : boolean
                                                                                                                                                                          Use credentials from the default remote of the parent project.
                                                                                                                                                                        • depth : int (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 commits of a repository.
                                                                                                                                                                        • shallow : boolean (optional)
                                                                                                                                                                          Perform shallow clone, so that git will not download the history of the project, saving time and disk space when you just want to access the latest version of a repository.
                                                                                                                                                                        • threads : int (optional)
                                                                                                                                                                          Specify the number of threads that will be used to update submodules.
                                                                                                                                                                          If unspecified, the command line git default thread count is used.
                                                                                                                                                                      • $class: 'UserExclusion'
                                                                                                                                                                        • excludedUsers : String
                                                                                                                                                                          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 exact string comparison and must be separated by a new line. User names are only excluded if they exactly match one of the names in this list.

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

                                                                                                                                                                          If given, "GIT_COMMITTER_NAME=[this]" and "GIT_AUTHOR_NAME=[this]" are set for builds. This overrides whatever is in the global settings.

                                                                                                                                                                        • email : String

                                                                                                                                                                          If given, "GIT_COMMITTER_EMAIL=[this]" and "GIT_AUTHOR_EMAIL=[this]" are set for builds. This overrides whatever is in the global settings.

                                                                                                                                                                      • $class: 'WipeWorkspace'
                                                                                                                                                                        Delete the contents of the workspace before building, ensuring a fully fresh workspace.
                                                                                                                                                                      • doGenerateSubmoduleConfigurations : boolean (optional)

                                                                                                                                                                        Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value and always uses false as its value.

                                                                                                                                                                      • submoduleCfg (optional)

                                                                                                                                                                        Removed facility that was intended to test combinations of git submodule versions. Removed in git plugin 4.6.0. Ignores the user provided value(s) and always uses empty values.

                                                                                                                                                                          Array / List of Nested Object
                                                                                                                                                                        • submoduleName : String

                                                                                                                                                                          Removed in git plugin 4.6.0.

                                                                                                                                                                        • branches : Array / List of String

                                                                                                                                                                          Removed in git plugin 4.6.0.

                                                                                                                                                                      • $class: 'HarvestSCM'
                                                                                                                                                                        • broker : String
                                                                                                                                                                        • passwordFile : String
                                                                                                                                                                        • userId : String
                                                                                                                                                                        • password : String
                                                                                                                                                                        • projectName : String
                                                                                                                                                                        • state : String
                                                                                                                                                                        • viewPath : String
                                                                                                                                                                        • clientPath : String
                                                                                                                                                                        • processName : String
                                                                                                                                                                        • recursiveSearch : String
                                                                                                                                                                        • useSynchronize : boolean
                                                                                                                                                                        • extraOptions : String
                                                                                                                                                                      • $class: 'IntegritySCM'
                                                                                                                                                                        Checks out source code from "Windchill RV&S for Configuration Management" repositories
                                                                                                                                                                        • serverConfig : String
                                                                                                                                                                        • configPath : String
                                                                                                                                                                        • configurationName : String
                                                                                                                                                                        • CPBasedMode : boolean (optional)
                                                                                                                                                                        • alternateWorkspace : String (optional)
                                                                                                                                                                        • browser (optional)
                                                                                                                                                                            Nested Choice of Objects
                                                                                                                                                                          • $class: 'IntegrityWebUI'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the URL of the PTC Windchill RV&S Configuration Management server.
                                                                                                                                                                              For example: http://hostname:7001
                                                                                                                                                                              This value is optional and is used as an override to the URL detected in the Windchill RV&S Change Log.
                                                                                                                                                                        • checkoutThreadPoolSize : int (optional)
                                                                                                                                                                        • checkoutThreadTimeout : int (optional)
                                                                                                                                                                        • checkpointBeforeBuild : boolean (optional)
                                                                                                                                                                        • checkpointLabel : String (optional)
                                                                                                                                                                        • cleanCopy : boolean (optional)
                                                                                                                                                                        • deleteNonMembers : boolean (optional)
                                                                                                                                                                        • excludeList : String (optional)
                                                                                                                                                                        • fetchChangedWorkspaceFiles : boolean (optional)
                                                                                                                                                                        • includeList : String (optional)
                                                                                                                                                                        • lineTerminator : String (optional)
                                                                                                                                                                        • localClient : boolean (optional)
                                                                                                                                                                        • password : String (optional)
                                                                                                                                                                        • restoreTimestamp : boolean (optional)
                                                                                                                                                                        • sandboxScope : String (optional)
                                                                                                                                                                        • skipAuthorInfo : boolean (optional)
                                                                                                                                                                        • userName : String (optional)
                                                                                                                                                                      • $class: 'IspwConfiguration'
                                                                                                                                                                        • connectionId : String
                                                                                                                                                                        • credentialsId : String
                                                                                                                                                                        • serverConfig : String
                                                                                                                                                                        • serverStream : String
                                                                                                                                                                        • serverApplication : String
                                                                                                                                                                        • serverLevel : String
                                                                                                                                                                        • levelOption : String
                                                                                                                                                                        • componentType : String
                                                                                                                                                                        • folderName : String
                                                                                                                                                                        • ispwDownloadAll : boolean
                                                                                                                                                                        • targetFolder : String
                                                                                                                                                                        • ispwDownloadIncl : boolean
                                                                                                                                                                        • ispwDownloadWithCompileOnly : boolean
                                                                                                                                                                      • $class: 'IspwContainerConfiguration'
                                                                                                                                                                        • connectionId : String
                                                                                                                                                                        • credentialsId : String
                                                                                                                                                                        • serverConfig : String
                                                                                                                                                                        • containerName : String
                                                                                                                                                                        • containerType : String
                                                                                                                                                                        • serverLevel : String
                                                                                                                                                                        • componentType : String
                                                                                                                                                                        • ispwDownloadAll : boolean
                                                                                                                                                                        • targetFolder : String
                                                                                                                                                                        • ispwDownloadIncl : boolean
                                                                                                                                                                      • $class: 'MercurialSCM'
                                                                                                                                                                        • source : String
                                                                                                                                                                          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.
                                                                                                                                                                        • browser (optional)
                                                                                                                                                                            Nested Choice of Objects
                                                                                                                                                                          • $class: 'FishEye'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository, such as: http://www.example.org/browse/hg/
                                                                                                                                                                          • $class: 'GoogleCode'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as this).
                                                                                                                                                                          • $class: 'HgWeb'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as this).
                                                                                                                                                                          • $class: 'Kallithea'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as this).
                                                                                                                                                                          • $class: 'KilnHG'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as this).
                                                                                                                                                                          • $class: 'RhodeCode'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as this).
                                                                                                                                                                          • $class: 'RhodeCodeLegacy'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as this).
                                                                                                                                                                          • $class: 'ScmManager'
                                                                                                                                                                            • url : String
                                                                                                                                                                              Specify the root URL serving this repository (such as http://YOURSCMMANAGER/scm/repo/NAMESPACE/NAME/).
                                                                                                                                                                        • clean : boolean (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.
                                                                                                                                                                        • credentialsId : String (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.
                                                                                                                                                                        • disableChangeLog : boolean (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.
                                                                                                                                                                        • installation : String (optional)
                                                                                                                                                                        • modules : String (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.)
                                                                                                                                                                        • revision : String (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.)
                                                                                                                                                                        • revisionType (optional)
                                                                                                                                                                          Specify the kind of revision you expect Jenkins to update your working copy to.
                                                                                                                                                                          • Values: BRANCH, TAG, CHANGESET, REVSET
                                                                                                                                                                        • subdir : String (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.
                                                                                                                                                                      • $class: 'MergeBotUpdater'
                                                                                                                                                                        • $class: 'MultiSCM'
                                                                                                                                                                        • none
                                                                                                                                                                          • $class: 'OpenShiftImageStreams'
                                                                                                                                                                            • imageStreamName : String
                                                                                                                                                                              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.
                                                                                                                                                                            • tag : String
                                                                                                                                                                              The specific image tag within the ImageStream to monitor.
                                                                                                                                                                            • apiURL : String
                                                                                                                                                                            • namespace : String
                                                                                                                                                                            • authToken : String
                                                                                                                                                                            • verbose : String
                                                                                                                                                                          • $class: 'PdsConfiguration'
                                                                                                                                                                            • connectionId : String
                                                                                                                                                                            • filterPattern : String
                                                                                                                                                                            • fileExtension : String
                                                                                                                                                                            • credentialsId : String
                                                                                                                                                                            • targetFolder : String
                                                                                                                                                                          • perforce
                                                                                                                                                                            • credential : String
                                                                                                                                                                              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.
                                                                                                                                                                            • 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
                                                                                                                                                                              • manualSpec
                                                                                                                                                                                • charset : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • pinHost : boolean
                                                                                                                                                                                • name : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • spec
                                                                                                                                                                                    Nested Object
                                                                                                                                                                                  • allwrite : boolean
                                                                                                                                                                                  • clobber : boolean
                                                                                                                                                                                  • compress : boolean
                                                                                                                                                                                  • locked : boolean
                                                                                                                                                                                  • modtime : boolean
                                                                                                                                                                                  • rmdir : boolean
                                                                                                                                                                                  • streamName : String
                                                                                                                                                                                  • line : String
                                                                                                                                                                                    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.

                                                                                                                                                                                  • view : String
                                                                                                                                                                                    View

                                                                                                                                                                                    Lines to map depot files into the client workspace.

                                                                                                                                                                                    The variable ${P4_CLIENT} will expand to the client name, for example, a simple mapping:

                                                                                                                                                                                    //depot/... //${P4_CLIENT}/...

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

                                                                                                                                                                                    To support migration from the old Perforce plugin, a View Mapping can be inserted from a file in Perforce. Add the depot path to the "View Mappings" field Prefix "@" (this only applies to the "Manual" Workspace behaviour).

                                                                                                                                                                                  • changeView : String
                                                                                                                                                                                  • type : String
                                                                                                                                                                                    Type

                                                                                                                                                                                    Type of client: writeable/readonly/partitioned/graph

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

                                                                                                                                                                                  • serverID : String
                                                                                                                                                                                  • backup : boolean
                                                                                                                                                                                    Backup

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

                                                                                                                                                                                • cleanup : boolean
                                                                                                                                                                                • syncID : String (optional)
                                                                                                                                                                              • specFileSpec
                                                                                                                                                                                • charset : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • pinHost : boolean
                                                                                                                                                                                • name : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • specPath : String
                                                                                                                                                                                • syncID : String (optional)
                                                                                                                                                                              • staticSpec
                                                                                                                                                                                • charset : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • pinHost : boolean
                                                                                                                                                                                • name : String
                                                                                                                                                                                  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

                                                                                                                                                                                • syncID : String (optional)
                                                                                                                                                                              • streamSpec
                                                                                                                                                                                • charset : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • pinHost : boolean
                                                                                                                                                                                • streamName : String
                                                                                                                                                                                  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
                                                                                                                                                                                • format : String
                                                                                                                                                                                  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

                                                                                                                                                                                • syncID : String (optional)
                                                                                                                                                                              • templateSpec
                                                                                                                                                                                • charset : String
                                                                                                                                                                                  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.

                                                                                                                                                                                • pinHost : boolean
                                                                                                                                                                                • templateName : String
                                                                                                                                                                                  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

                                                                                                                                                                                • format : String
                                                                                                                                                                                  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

                                                                                                                                                                                • syncID : String (optional)
                                                                                                                                                                            • filter
                                                                                                                                                                                Array / List of Nested Choice of Objects
                                                                                                                                                                              • latest
                                                                                                                                                                                • latestChange : boolean
                                                                                                                                                                              • pathFilter
                                                                                                                                                                                • path : String
                                                                                                                                                                                  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

                                                                                                                                                                                  This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.

                                                                                                                                                                              • viewPattern
                                                                                                                                                                                • patternText : String
                                                                                                                                                                                  Java Pattern filter

                                                                                                                                                                                  Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.

                                                                                                                                                                                  For example, with the following regular expressions:
                                                                                                                                                                                  //depot/main/tests.*
                                                                                                                                                                                  //depot/main/src/.*\.cpp
                                                                                                                                                                                  //depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
                                                                                                                                                                                  //depot/main/lib/(?!Lib1|Lib2).*

                                                                                                                                                                                  Case A (change will not be filtered, as these files match our first pattern on "tests"):

                                                                                                                                                                                  Files:

                                                                                                                                                                                  • //depot/main/tests/CONTRIUBTING.md
                                                                                                                                                                                  • //depot/main/tests/001/index.xml

                                                                                                                                                                                  Case B (Be careful with incomplete file paths! Change will NOT be filtered,
                                                                                                                                                                                  as this file matches a pattern which was likely intended as describing a "tests/" directory.)

                                                                                                                                                                                  Files:

                                                                                                                                                                                  • //depot/main/tests.doc

                                                                                                                                                                                  Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):

                                                                                                                                                                                  Files:

                                                                                                                                                                                  • //depot/main/build/rbs/deploy_server.rb
                                                                                                                                                                                  • //depot/main/build/deploy/deploy.bat
                                                                                                                                                                                  • //depot/main/build/Jenkinsfile

                                                                                                                                                                                  Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):

                                                                                                                                                                                  Files:

                                                                                                                                                                                  • //depot/main/src/howto.doc
                                                                                                                                                                                  • //depot/main/src/oldmain.c
                                                                                                                                                                                  • //depot/main/src/art/splash.bmp
                                                                                                                                                                                  • //depot/main/src/bt/funnelcake.php

                                                                                                                                                                                  Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)

                                                                                                                                                                                  Files:

                                                                                                                                                                                  • //depot/main/lib/Lib1/build.xml
                                                                                                                                                                                • caseSensitive : boolean
                                                                                                                                                                              • incremental
                                                                                                                                                                                • perChange : boolean
                                                                                                                                                                                  Polling per change

                                                                                                                                                                                  When enabled, only the one, oldest changelist returned by polling is built.

                                                                                                                                                                                  If P4_INCREMENTAL environment variable (or build parameter) is set to "false", polling per change is ignored and all changelists are built.

                                                                                                                                                                              • userFilter
                                                                                                                                                                                • user : String
                                                                                                                                                                                  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.

                                                                                                                                                                              • viewFilter
                                                                                                                                                                                • viewMask : String
                                                                                                                                                                                  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
                                                                                                                                                                            • 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.
                                                                                                                                                                                Flush Workspace
                                                                                                                                                                                No files Sync or cleanup attempted, but the Workspace's have list is updated.
                                                                                                                                                                                Effective command 'p4 sync -k'.
                                                                                                                                                                                Force Clean and Sync
                                                                                                                                                                                Will remove all files from under the workspace root, then force sync the required files. Inefficient and NOT RECOMENDED.
                                                                                                                                                                                Graph Force Clean and Sync/dt>
                                                                                                                                                                                For Graph and Hybrid only, will remove all files from under the workspace root, then force sync the required files.
                                                                                                                                                                                Preview Check Only
                                                                                                                                                                                No files Sync or cleanup attempted; the Workspace's have list is not updated.
                                                                                                                                                                                Effective command 'p4 sync -n'.
                                                                                                                                                                                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.
                                                                                                                                                                                Nested Choice of Objects
                                                                                                                                                                              • autoClean
                                                                                                                                                                                • replace : boolean
                                                                                                                                                                                  REPLACE missing/modified files

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

                                                                                                                                                                                • delete : boolean
                                                                                                                                                                                  DELETE generated files

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

                                                                                                                                                                                • tidy : boolean
                                                                                                                                                                                • modtime : boolean
                                                                                                                                                                                • quiet : boolean
                                                                                                                                                                                  Suppressing info messages

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

                                                                                                                                                                                • pin : String
                                                                                                                                                                                  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).

                                                                                                                                                                                • parallel
                                                                                                                                                                                    Nested Object
                                                                                                                                                                                  • enable : boolean
                                                                                                                                                                                  • path : String
                                                                                                                                                                                  • threads : String
                                                                                                                                                                                  • minfiles : String
                                                                                                                                                                                  • minbytes : String
                                                                                                                                                                              • previewOnly
                                                                                                                                                                                • quiet : boolean
                                                                                                                                                                                  Suppressing info messages

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

                                                                                                                                                                                • pin : String
                                                                                                                                                                              • flushOnly
                                                                                                                                                                                • quiet : boolean
                                                                                                                                                                                • pin : String
                                                                                                                                                                                  Pinning a build at Perforce Label

                                                                                                                                                                                  When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.

                                                                                                                                                                                  Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).

                                                                                                                                                                              • forceClean
                                                                                                                                                                                • have : boolean
                                                                                                                                                                                • quiet : boolean
                                                                                                                                                                                  Suppressing info messages

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

                                                                                                                                                                                • pin : String
                                                                                                                                                                                  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).

                                                                                                                                                                                • parallel
                                                                                                                                                                                    Nested Object
                                                                                                                                                                                  • enable : boolean
                                                                                                                                                                                  • path : String
                                                                                                                                                                                  • threads : String
                                                                                                                                                                                  • minfiles : String
                                                                                                                                                                                  • minbytes : String
                                                                                                                                                                              • graphClean
                                                                                                                                                                                • quiet : boolean
                                                                                                                                                                                  Suppressing info messages

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

                                                                                                                                                                                • pin : String
                                                                                                                                                                                  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).

                                                                                                                                                                                • parallel
                                                                                                                                                                                    Nested Object
                                                                                                                                                                                  • enable : boolean
                                                                                                                                                                                  • path : String
                                                                                                                                                                                  • threads : String
                                                                                                                                                                                  • minfiles : String
                                                                                                                                                                                  • minbytes : String
                                                                                                                                                                              • syncOnly
                                                                                                                                                                                • revert : boolean
                                                                                                                                                                                • have : boolean
                                                                                                                                                                                • force : boolean
                                                                                                                                                                                • modtime : boolean
                                                                                                                                                                                • quiet : boolean
                                                                                                                                                                                  Suppressing info messages

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

                                                                                                                                                                                • pin : String
                                                                                                                                                                                  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).

                                                                                                                                                                                • parallel
                                                                                                                                                                                    Nested Object
                                                                                                                                                                                  • enable : boolean
                                                                                                                                                                                  • path : String
                                                                                                                                                                                  • threads : String
                                                                                                                                                                                  • minfiles : String
                                                                                                                                                                                  • minbytes : String
                                                                                                                                                                            • browser
                                                                                                                                                                                Nested Choice of Objects
                                                                                                                                                                              • fishEye
                                                                                                                                                                                • url : String
                                                                                                                                                                                • rootModule : String
                                                                                                                                                                              • openGrok
                                                                                                                                                                                • url : String
                                                                                                                                                                                • depotPath : String
                                                                                                                                                                                • projectName : String
                                                                                                                                                                              • p4Web
                                                                                                                                                                                • url : String
                                                                                                                                                                              • swarm
                                                                                                                                                                                • url : String
                                                                                                                                                                          • $class: 'PlasticSCM'
                                                                                                                                                                            • selector : String
                                                                                                                                                                            • cleanup
                                                                                                                                                                              • Values: MINIMAL, STANDARD, FULL, DELETE
                                                                                                                                                                            • workingMode
                                                                                                                                                                              • Values: NONE, UP, LDAP
                                                                                                                                                                            • credentialsId : String
                                                                                                                                                                            • useMultipleWorkspaces : boolean
                                                                                                                                                                            • additionalWorkspaces
                                                                                                                                                                                Array / List of Nested Object
                                                                                                                                                                              • selector : String
                                                                                                                                                                              • cleanup
                                                                                                                                                                                • Values: MINIMAL, STANDARD, FULL, DELETE
                                                                                                                                                                              • directory : String
                                                                                                                                                                            • pollOnController : boolean
                                                                                                                                                                            • directory : String
                                                                                                                                                                          • $class: 'ProxySCM'
                                                                                                                                                                            • projectName : String
                                                                                                                                                                          • $class: 'PvcsScm'
                                                                                                                                                                            • projectRoot : String
                                                                                                                                                                            • archiveRoot : String
                                                                                                                                                                            • changeLogPrefixFudge : String
                                                                                                                                                                            • moduleDir : String
                                                                                                                                                                            • loginId : String
                                                                                                                                                                            • pvcsWorkspace : String
                                                                                                                                                                            • promotionGroup : String
                                                                                                                                                                            • versionLabel : String
                                                                                                                                                                            • cleanCopy : boolean
                                                                                                                                                                          • $class: 'RTCScm'
                                                                                                                                                                            • overrideGlobal : boolean

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

                                                                                                                                                                            • buildTool : String

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

                                                                                                                                                                            • serverURI : String

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

                                                                                                                                                                            • timeout : int

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

                                                                                                                                                                            • userId : String

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

                                                                                                                                                                            • password

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

                                                                                                                                                                              • Type: class hudson.util.Secret
                                                                                                                                                                            • passwordFile : String

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

                                                                                                                                                                            • credentialsId : String

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

                                                                                                                                                                            • buildType
                                                                                                                                                                                Nested Object
                                                                                                                                                                              • value : String
                                                                                                                                                                              • buildDefinition : String
                                                                                                                                                                              • buildWorkspace : String
                                                                                                                                                                              • buildSnapshot : String
                                                                                                                                                                              • buildStream : String
                                                                                                                                                                              • acceptBeforeLoad : boolean (optional)
                                                                                                                                                                              • addLinksToWorkItems : boolean (optional)
                                                                                                                                                                              • buildSnapshotContext (optional)
                                                                                                                                                                                  Nested Object
                                                                                                                                                                                • snapshotOwnerType : String
                                                                                                                                                                                • processAreaOfOwningStream : String
                                                                                                                                                                                • owningStream : String
                                                                                                                                                                                • owningWorkspace : String
                                                                                                                                                                              • clearLoadDirectory : boolean (optional)
                                                                                                                                                                              • componentLoadConfig : String (optional)
                                                                                                                                                                              • componentsToExclude : String (optional)
                                                                                                                                                                              • createFoldersForComponents : boolean (optional)
                                                                                                                                                                              • currentSnapshotOwnerType : String (optional)
                                                                                                                                                                              • customizedSnapshotName : String (optional)
                                                                                                                                                                              • generateChangelogWithGoodBuild : boolean (optional)
                                                                                                                                                                              • loadDirectory : String (optional)
                                                                                                                                                                              • loadPolicy : String (optional)
                                                                                                                                                                              • overrideDefaultSnapshotName : boolean (optional)
                                                                                                                                                                              • pathToLoadRuleFile : String (optional)
                                                                                                                                                                              • pollingOnly : boolean (optional)
                                                                                                                                                                              • pollingOnlyData (optional)
                                                                                                                                                                                  Nested Object
                                                                                                                                                                                • snapshotUUID : String
                                                                                                                                                                              • processArea : String (optional)
                                                                                                                                                                              • useDynamicLoadRules : boolean (optional)
                                                                                                                                                                            • avoidUsingToolkit : boolean

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

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

                                                                                                                                                                          • $class: 'SCLMSCM'
                                                                                                                                                                            • server : String
                                                                                                                                                                            • port : int
                                                                                                                                                                            • credentialsId : String
                                                                                                                                                                            • JESINTERFACELEVEL1 : boolean
                                                                                                                                                                            • FTPActiveMode : boolean
                                                                                                                                                                            • project : String
                                                                                                                                                                            • alternate : String
                                                                                                                                                                            • group : String
                                                                                                                                                                            • types : String
                                                                                                                                                                            • custJobStep : boolean
                                                                                                                                                                            • JobStep : String
                                                                                                                                                                            • custJobHeader : boolean
                                                                                                                                                                            • JobHeader : String
                                                                                                                                                                          • $class: 'ShellScriptSCM'
                                                                                                                                                                            • checkoutShell : String
                                                                                                                                                                            • pollingShell : String
                                                                                                                                                                            • useCheckoutForPolling : boolean
                                                                                                                                                                          • $class: 'SimpleClearCaseSCM'
                                                                                                                                                                            • loadRules : String
                                                                                                                                                                              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.

                                                                                                                                                                            • viewname : String
                                                                                                                                                                              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.
                                                                                                                                                                            • branch : String
                                                                                                                                                                              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.
                                                                                                                                                                            • filter : boolean
                                                                                                                                                                              Filters out mkbranch and rmbranch messages in lshistory. These changes isn't relevant if you are tracking source files in a specific branch.
                                                                                                                                                                          • $class: 'StoreSCM'
                                                                                                                                                                            • scriptName : String
                                                                                                                                                                            • repositoryName : String
                                                                                                                                                                              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.
                                                                                                                                                                            • 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 of Nested Object
                                                                                                                                                                              • pundleType
                                                                                                                                                                                • Values: PACKAGE, BUNDLE
                                                                                                                                                                              • name : String
                                                                                                                                                                            • versionRegex : String
                                                                                                                                                                              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
                                                                                                                                                                            • minimumBlessingLevel : String
                                                                                                                                                                              Choose the minimum Store blessing level that should be considered. Pundle versions with a lower blessing level will be ignored.
                                                                                                                                                                            • generateParcelBuilderInputFile : boolean
                                                                                                                                                                              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.
                                                                                                                                                                            • parcelBuilderInputFilename : String
                                                                                                                                                                              The name of the file, relative to the Jenkins workspace directory, where the input file for ParcelBuilder will be written.
                                                                                                                                                                          • $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 of Nested Object
                                                                                                                                                                              • remote : String
                                                                                                                                                                              • credentialsId : String
                                                                                                                                                                              • local : String
                                                                                                                                                                                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.
                                                                                                                                                                              • depthOption : String
                                                                                                                                                                                --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.
                                                                                                                                                                              • ignoreExternalsOption : boolean
                                                                                                                                                                                "--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.
                                                                                                                                                                              • cancelProcessOnExternalsFail : boolean
                                                                                                                                                                                Determines if the process should be cancelled when checkout/update svn:externals failed. Will work when "Ignore externals" box is not checked. Default choice is to cancelled the process when checkout/update svn:externals failed.
                                                                                                                                                                            • workspaceUpdater
                                                                                                                                                                                Nested Choice of Objects
                                                                                                                                                                              • $class: 'CheckoutUpdater'
                                                                                                                                                                                • $class: 'NoopUpdater'
                                                                                                                                                                                  • $class: 'UpdateUpdater'
                                                                                                                                                                                    • $class: 'UpdateWithCleanUpdater'
                                                                                                                                                                                      • $class: 'UpdateWithRevertUpdater'
                                                                                                                                                                                      • browser
                                                                                                                                                                                          Nested Choice of Objects
                                                                                                                                                                                        • $class: 'Assembla'
                                                                                                                                                                                          • spaceName : String
                                                                                                                                                                                        • $class: 'BacklogRepositoryBrowser'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                            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.

                                                                                                                                                                                        • $class: 'CollabNetSVN'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                            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.
                                                                                                                                                                                        • $class: 'FishEyeSVN'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                            Specify the URL of this module in FishEye. (such as http://fisheye6.cenqua.com/browse/ant/)
                                                                                                                                                                                          • rootModule : String
                                                                                                                                                                                            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.
                                                                                                                                                                                        • $class: 'Phabricator'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                          • repo : String
                                                                                                                                                                                        • $class: 'PolarionRepositoryBrowser'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                          • location : String
                                                                                                                                                                                        • $class: 'RedmineRepositoryBrowser'
                                                                                                                                                                                          • repositoryId : String
                                                                                                                                                                                        • $class: 'SVNWeb'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                        • $class: 'ScmManagerSvnRepositoryBrowser'
                                                                                                                                                                                          • repoUrl : String
                                                                                                                                                                                            Specify the root URL serving this repository (such as https://scm-manager.org/scm/repo/namespace/name).
                                                                                                                                                                                        • $class: 'Sventon'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                            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/
                                                                                                                                                                                          • repositoryInstance : String
                                                                                                                                                                                            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
                                                                                                                                                                                        • $class: 'Sventon2'
                                                                                                                                                                                          • url : String
                                                                                                                                                                                            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/
                                                                                                                                                                                          • repositoryInstance : String
                                                                                                                                                                                            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
                                                                                                                                                                                        • $class: 'TeamForge'
                                                                                                                                                                                          • connectionFactory
                                                                                                                                                                                              Nested Object
                                                                                                                                                                                            • url : String

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

                                                                                                                                                                                            • username : String

                                                                                                                                                                                              The user who will upload the files.

                                                                                                                                                                                            • password : String

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

                                                                                                                                                                                          • project : String
                                                                                                                                                                                          • repo : String
                                                                                                                                                                                        • $class: 'TracRepositoryBrowser'
                                                                                                                                                                                          • $class: 'ViewSVN'
                                                                                                                                                                                            • url : String
                                                                                                                                                                                              Specify the root URL of ViewSVN for this repository (such as this).
                                                                                                                                                                                          • $class: 'ViewVCRepositoryBrowser'
                                                                                                                                                                                            • url : String
                                                                                                                                                                                            • location : String
                                                                                                                                                                                          • $class: 'VisualSVN'
                                                                                                                                                                                          • $class: 'WebSVN'
                                                                                                                                                                                            • url : String
                                                                                                                                                                                        • excludedRegions : String
                                                                                                                                                                                          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.
                                                                                                                                                                                        • excludedUsers : String
                                                                                                                                                                                          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.
                                                                                                                                                                                        • excludedRevprop : String
                                                                                                                                                                                          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.
                                                                                                                                                                                        • excludedCommitMessages : String
                                                                                                                                                                                          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.
                                                                                                                                                                                        • includedRegions : String
                                                                                                                                                                                          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.
                                                                                                                                                                                        • ignoreDirPropChanges : boolean
                                                                                                                                                                                          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).
                                                                                                                                                                                        • filterChangelog : boolean
                                                                                                                                                                                          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.
                                                                                                                                                                                        • 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 of Nested Object
                                                                                                                                                                                          • realm : String
                                                                                                                                                                                            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).
                                                                                                                                                                                          • credentialsId : String
                                                                                                                                                                                            Select the credential from the list of relevant credentials in order to use that credential for checking out the source code.
                                                                                                                                                                                        • quietOperation : boolean

                                                                                                                                                                                          Mimics subversion command line --quiet parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.

                                                                                                                                                                                      • $class: 'SurroundSCM'
                                                                                                                                                                                        • server : String
                                                                                                                                                                                        • serverPort : String
                                                                                                                                                                                        • branch : String
                                                                                                                                                                                        • repository : String
                                                                                                                                                                                        • credentialsId : String
                                                                                                                                                                                        • rsaKey (optional)
                                                                                                                                                                                            Nested Object
                                                                                                                                                                                          • rsaKeyFileId : String (optional)
                                                                                                                                                                                          • rsaKeyFilePath : String (optional)
                                                                                                                                                                                          • rsaKeyType (optional)
                                                                                                                                                                                            • Values: NoKey, Path, ID
                                                                                                                                                                                          • rsaKeyValue : String (optional)
                                                                                                                                                                                        • rsaKeyFileId : String (optional)
                                                                                                                                                                                        • rsaKeyFilePath : String (optional)
                                                                                                                                                                                          Enter the full path to the RSA key file for the Surround SCM connection. Example: C:\SurroundRSAKeyFile.xml
                                                                                                                                                                                        • rsaKeyPath : String (optional)
                                                                                                                                                                                      • $class: 'SynergySCM'
                                                                                                                                                                                        • project : String
                                                                                                                                                                                        • database : String
                                                                                                                                                                                        • release : String
                                                                                                                                                                                        • purpose : String
                                                                                                                                                                                        • username : String
                                                                                                                                                                                        • password : String
                                                                                                                                                                                        • engine : String
                                                                                                                                                                                        • oldProject : String
                                                                                                                                                                                        • baseline : String
                                                                                                                                                                                        • oldBaseline : String
                                                                                                                                                                                        • ccmHome : String
                                                                                                                                                                                        • remoteClient : boolean
                                                                                                                                                                                        • detectConflict : boolean
                                                                                                                                                                                        • replaceSubprojects : boolean
                                                                                                                                                                                        • checkForUpdateWarnings : boolean
                                                                                                                                                                                        • leaveSessionOpen : boolean
                                                                                                                                                                                        • maintainWorkarea : boolean
                                                                                                                                                                                        • checkTaskModifiedObjects : boolean
                                                                                                                                                                                      • $class: 'VaultSCM'
                                                                                                                                                                                        • serverName : String
                                                                                                                                                                                          Specify the hostname or IP address of the vault server.
                                                                                                                                                                                        • path : String
                                                                                                                                                                                        • userName : String
                                                                                                                                                                                        • password : String
                                                                                                                                                                                        • repositoryName : String
                                                                                                                                                                                        • vaultName : String
                                                                                                                                                                                        • sslEnabled : boolean
                                                                                                                                                                                        • useNonWorkingFolder : boolean
                                                                                                                                                                                        • merge : String
                                                                                                                                                                                        • fileTime : String
                                                                                                                                                                                        • makeWritableEnabled : boolean
                                                                                                                                                                                        • verboseEnabled : boolean
                                                                                                                                                                                      • $class: 'hudson.plugins.gradle_repo.RepoScm'
                                                                                                                                                                                        • repositoryUrl : String
                                                                                                                                                                                        • branch : String
                                                                                                                                                                                      • $class: 'hudson.plugins.repo.RepoScm'

                                                                                                                                                                                        The repo plugin provides Repo as an SCM tools in Jenkins.

                                                                                                                                                                                        The repo plugin provides an SCM implementation to be used with the Pipeline SCM checkout step. The Pipeline Syntax Snippet Generator guides the user to select repo plugin checkout options and provides online help for each of the options.

                                                                                                                                                                                        • manifestRepositoryUrl : String

                                                                                                                                                                                          The URL of the manifest. This is passed to repo as repo init -u url.

                                                                                                                                                                                        • cleanFirst : boolean (optional)

                                                                                                                                                                                          When this is checked the first thing to do will be a

                                                                                                                                                                                          repo forall -c "git clean -fdx"

                                                                                                                                                                                        • currentBranch : boolean (optional)

                                                                                                                                                                                          Fetch only the current branch from server. Increases the speed of the repo sync operation. This is passed to repo as repo init --current-branch and repo sync -c.

                                                                                                                                                                                        • depth : int (optional)

                                                                                                                                                                                          Specify the depth in history to sync from the source. The default is to sync all of the history. Use 1 to just sync the most recent commit. This is passed to repo as repo init --depth=n.

                                                                                                                                                                                        • destinationDir : String (optional)

                                                                                                                                                                                          The sub-directory of the workspace where the source should be synced. The default is the root of the workspace.

                                                                                                                                                                                        • extraEnvVars (optional)
                                                                                                                                                                                          • Type: java.util.Map<java.lang.String, java.lang.String>
                                                                                                                                                                                        • fetchSubmodules : boolean (optional)

                                                                                                                                                                                          Fetch submodules for from server. This is passed to repo as repo sync --fetch-submodules.

                                                                                                                                                                                        • forceSync : boolean (optional)

                                                                                                                                                                                          Overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. This is passed to repo as repo sync --force-sync.

                                                                                                                                                                                        • ignoreProjects : String (optional)
                                                                                                                                                                                        • jobs : int (optional)

                                                                                                                                                                                          Specify the number of projects to fetch simultaneously. The default is 1. This is passed to repo as repo sync --jobs=n.

                                                                                                                                                                                        • localManifest : String (optional)

                                                                                                                                                                                          The contents of .repo/local_manifests/local.xml. This is written prior to calling sync. The default is to not use a local.xml file.

                                                                                                                                                                                          The contents may be given here literally, as XML; see the example below. Such literal content must start with the string <?xml. Alternatively, the content may be given as an URL, in which case the file pointed by the URL is used. If the content does not start with the <?xml prefix, it is assumed to be an URL.

                                                                                                                                                                                          An example

                                                                                                                                                                                              <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                                              <manifest>
                                                                                                                                                                                                <project path="external/project" name="org/project" remote="github" revision="master" />
                                                                                                                                                                                              </manifest>
                                                                                                                                                                                            
                                                                                                                                                                                        • manifestBranch : String (optional)

                                                                                                                                                                                          The branch of the manifest to use. This is passed to repo as repo init -b branchname. Repo will default to master if a branch name isn't provided.

                                                                                                                                                                                        • manifestFile : String (optional)

                                                                                                                                                                                          The initial manifest file to use while initializing the repo. This is passed to repo as repo init -m manifestFile. If a manifest file is not specified, repo uses the default of "default.xml".

                                                                                                                                                                                        • manifestGroup : String (optional)

                                                                                                                                                                                          Restricts manifest projects to ones tagged with provided group name. This is passed to repo as repo init -g groupName. If a group name is not provided, the -g option is not passed to repo and it will default to fetching projects that are tagged with 'default'.

                                                                                                                                                                                        • manifestPlatform : String (optional)

                                                                                                                                                                                          Restrict manifest projects to ones with a specified platform group [auto|all|none|linux|darwin|...] This is passed to repo as repo init -P platformName. If a platform is not provided, the -p option is not passed to repo and it will default to auto and ony fetch projects which needed for current system.

                                                                                                                                                                                        • manifestSubmodules : boolean (optional)

                                                                                                                                                                                          Sync any submodules associated with the manifest repo. This is passed to repo as repo init --submodules.

                                                                                                                                                                                        • mirrorDir : String (optional)

                                                                                                                                                                                          The location of the mirror directory to reference when initialising the repository. This is passed to repo as repo sync --reference=DIR. This speeds up fetching code and isn't used by default.

                                                                                                                                                                                        • noCloneBundle : boolean (optional)

                                                                                                                                                                                          When this is checked --no-clone-bundle is used when running the repo init and repo sync commands.

                                                                                                                                                                                        • noTags : boolean (optional)

                                                                                                                                                                                          Don't fetch tags. This is passed to repo as repo init --no-tags and repo sync --no-tags.

                                                                                                                                                                                        • quiet : boolean (optional)

                                                                                                                                                                                          Make repo more quiet. This is passed to repo as repo sync -q.

                                                                                                                                                                                        • repoBranch : String (optional)

                                                                                                                                                                                          Use a specific branch for pulling repo itself. By default this is empty, and repo will be using its default branch (i.e. stable)

                                                                                                                                                                                        • repoUrl : String (optional)

                                                                                                                                                                                          Pull repo itself from this git repository. By default this is empty, and repo will be pulled from its default git url (i.e. googles)

                                                                                                                                                                                        • resetFirst : boolean (optional)

                                                                                                                                                                                          When this is checked the first thing to do will be a

                                                                                                                                                                                          repo forall -c "git reset --hard"

                                                                                                                                                                                        • showAllChanges : boolean (optional)

                                                                                                                                                                                          When this is checked --first-parent is no longer passed to git log when determining changesets.

                                                                                                                                                                                        • trace : boolean (optional)

                                                                                                                                                                                          Trace git command execution. This is passed to repo as repo --trace <subcommand>.

                                                                                                                                                                                        • worktree : boolean (optional)

                                                                                                                                                                                          Use `git worktree` for checkouts (At least, Git version 2.15 is required to avoid dangerous gc bugs). Usefull under Windows because it no longer require symlinks at all.

                                                                                                                                                                                  • none
                                                                                                                                                                                    • $class: 'OpenShiftImageStreams'
                                                                                                                                                                                      • imageStreamName : String
                                                                                                                                                                                        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.
                                                                                                                                                                                      • tag : String
                                                                                                                                                                                        The specific image tag within the ImageStream to monitor.
                                                                                                                                                                                      • apiURL : String
                                                                                                                                                                                      • namespace : String
                                                                                                                                                                                      • authToken : String
                                                                                                                                                                                      • verbose : String
                                                                                                                                                                                    • $class: 'PdsConfiguration'
                                                                                                                                                                                      • connectionId : String
                                                                                                                                                                                      • filterPattern : String
                                                                                                                                                                                      • fileExtension : String
                                                                                                                                                                                      • credentialsId : String
                                                                                                                                                                                      • targetFolder : String
                                                                                                                                                                                    • perforce
                                                                                                                                                                                      • credential : String
                                                                                                                                                                                        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.
                                                                                                                                                                                      • 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
                                                                                                                                                                                        • manualSpec
                                                                                                                                                                                          • charset : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • pinHost : boolean
                                                                                                                                                                                          • name : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • spec
                                                                                                                                                                                              Nested Object
                                                                                                                                                                                            • allwrite : boolean
                                                                                                                                                                                            • clobber : boolean
                                                                                                                                                                                            • compress : boolean
                                                                                                                                                                                            • locked : boolean
                                                                                                                                                                                            • modtime : boolean
                                                                                                                                                                                            • rmdir : boolean
                                                                                                                                                                                            • streamName : String
                                                                                                                                                                                            • line : String
                                                                                                                                                                                              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.

                                                                                                                                                                                            • view : String
                                                                                                                                                                                              View

                                                                                                                                                                                              Lines to map depot files into the client workspace.

                                                                                                                                                                                              The variable ${P4_CLIENT} will expand to the client name, for example, a simple mapping:

                                                                                                                                                                                              //depot/... //${P4_CLIENT}/...

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

                                                                                                                                                                                              To support migration from the old Perforce plugin, a View Mapping can be inserted from a file in Perforce. Add the depot path to the "View Mappings" field Prefix "@" (this only applies to the "Manual" Workspace behaviour).

                                                                                                                                                                                            • changeView : String
                                                                                                                                                                                            • type : String
                                                                                                                                                                                              Type

                                                                                                                                                                                              Type of client: writeable/readonly/partitioned/graph

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

                                                                                                                                                                                            • serverID : String
                                                                                                                                                                                            • backup : boolean
                                                                                                                                                                                              Backup

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

                                                                                                                                                                                          • cleanup : boolean
                                                                                                                                                                                          • syncID : String (optional)
                                                                                                                                                                                        • specFileSpec
                                                                                                                                                                                          • charset : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • pinHost : boolean
                                                                                                                                                                                          • name : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • specPath : String
                                                                                                                                                                                          • syncID : String (optional)
                                                                                                                                                                                        • staticSpec
                                                                                                                                                                                          • charset : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • pinHost : boolean
                                                                                                                                                                                          • name : String
                                                                                                                                                                                            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

                                                                                                                                                                                          • syncID : String (optional)
                                                                                                                                                                                        • streamSpec
                                                                                                                                                                                          • charset : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • pinHost : boolean
                                                                                                                                                                                          • streamName : String
                                                                                                                                                                                            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
                                                                                                                                                                                          • format : String
                                                                                                                                                                                            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

                                                                                                                                                                                          • syncID : String (optional)
                                                                                                                                                                                        • templateSpec
                                                                                                                                                                                          • charset : String
                                                                                                                                                                                            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.

                                                                                                                                                                                          • pinHost : boolean
                                                                                                                                                                                          • templateName : String
                                                                                                                                                                                            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

                                                                                                                                                                                          • format : String
                                                                                                                                                                                            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

                                                                                                                                                                                          • syncID : String (optional)
                                                                                                                                                                                      • filter
                                                                                                                                                                                          Array / List of Nested Choice of Objects
                                                                                                                                                                                        • latest
                                                                                                                                                                                          • latestChange : boolean
                                                                                                                                                                                        • pathFilter
                                                                                                                                                                                          • path : String
                                                                                                                                                                                            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

                                                                                                                                                                                            This is not Perforce syntax. Use of ... and * patterns are not supported. Only paths to directories are supported.

                                                                                                                                                                                        • viewPattern
                                                                                                                                                                                          • patternText : String
                                                                                                                                                                                            Java Pattern filter

                                                                                                                                                                                            Changes can be filtered to not trigger a build; if none of the files within a change match a Java pattern (regular expression) listed, the build is filtered.

                                                                                                                                                                                            For example, with the following regular expressions:
                                                                                                                                                                                            //depot/main/tests.*
                                                                                                                                                                                            //depot/main/src/.*\.cpp
                                                                                                                                                                                            //depot/main/build/.*(?:\.rb|\.py|\.bat|Jenkinsfile)
                                                                                                                                                                                            //depot/main/lib/(?!Lib1|Lib2).*

                                                                                                                                                                                            Case A (change will not be filtered, as these files match our first pattern on "tests"):

                                                                                                                                                                                            Files:

                                                                                                                                                                                            • //depot/main/tests/CONTRIUBTING.md
                                                                                                                                                                                            • //depot/main/tests/001/index.xml

                                                                                                                                                                                            Case B (Be careful with incomplete file paths! Change will NOT be filtered,
                                                                                                                                                                                            as this file matches a pattern which was likely intended as describing a "tests/" directory.)

                                                                                                                                                                                            Files:

                                                                                                                                                                                            • //depot/main/tests.doc

                                                                                                                                                                                            Case C (change will NOT be filtered, as all files match our fourth pattern looking for script files in 'build/'):

                                                                                                                                                                                            Files:

                                                                                                                                                                                            • //depot/main/build/rbs/deploy_server.rb
                                                                                                                                                                                            • //depot/main/build/deploy/deploy.bat
                                                                                                                                                                                            • //depot/main/build/Jenkinsfile

                                                                                                                                                                                            Case D (change will be filtered, as no file matches our second pattern for ".cpp" files under "main/src"):

                                                                                                                                                                                            Files:

                                                                                                                                                                                            • //depot/main/src/howto.doc
                                                                                                                                                                                            • //depot/main/src/oldmain.c
                                                                                                                                                                                            • //depot/main/src/art/splash.bmp
                                                                                                                                                                                            • //depot/main/src/bt/funnelcake.php

                                                                                                                                                                                            Case E (change will be filtered. Lib1 is included in a negative lookahead, and thus is excluded.)

                                                                                                                                                                                            Files:

                                                                                                                                                                                            • //depot/main/lib/Lib1/build.xml
                                                                                                                                                                                          • caseSensitive : boolean
                                                                                                                                                                                        • incremental
                                                                                                                                                                                          • perChange : boolean
                                                                                                                                                                                            Polling per change

                                                                                                                                                                                            When enabled, only the one, oldest changelist returned by polling is built.

                                                                                                                                                                                            If P4_INCREMENTAL environment variable (or build parameter) is set to "false", polling per change is ignored and all changelists are built.

                                                                                                                                                                                        • userFilter
                                                                                                                                                                                          • user : String
                                                                                                                                                                                            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.

                                                                                                                                                                                        • viewFilter
                                                                                                                                                                                          • viewMask : String
                                                                                                                                                                                            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
                                                                                                                                                                                      • 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.
                                                                                                                                                                                          Flush Workspace
                                                                                                                                                                                          No files Sync or cleanup attempted, but the Workspace's have list is updated.
                                                                                                                                                                                          Effective command 'p4 sync -k'.
                                                                                                                                                                                          Force Clean and Sync
                                                                                                                                                                                          Will remove all files from under the workspace root, then force sync the required files. Inefficient and NOT RECOMENDED.
                                                                                                                                                                                          Graph Force Clean and Sync/dt>
                                                                                                                                                                                          For Graph and Hybrid only, will remove all files from under the workspace root, then force sync the required files.
                                                                                                                                                                                          Preview Check Only
                                                                                                                                                                                          No files Sync or cleanup attempted; the Workspace's have list is not updated.
                                                                                                                                                                                          Effective command 'p4 sync -n'.
                                                                                                                                                                                          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.
                                                                                                                                                                                          Nested Choice of Objects
                                                                                                                                                                                        • autoClean
                                                                                                                                                                                          • replace : boolean
                                                                                                                                                                                            REPLACE missing/modified files

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

                                                                                                                                                                                          • delete : boolean
                                                                                                                                                                                            DELETE generated files

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

                                                                                                                                                                                          • tidy : boolean
                                                                                                                                                                                          • modtime : boolean
                                                                                                                                                                                          • quiet : boolean
                                                                                                                                                                                            Suppressing info messages

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

                                                                                                                                                                                          • pin : String
                                                                                                                                                                                            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).

                                                                                                                                                                                          • parallel
                                                                                                                                                                                              Nested Object
                                                                                                                                                                                            • enable : boolean
                                                                                                                                                                                            • path : String
                                                                                                                                                                                            • threads : String
                                                                                                                                                                                            • minfiles : String
                                                                                                                                                                                            • minbytes : String
                                                                                                                                                                                        • previewOnly
                                                                                                                                                                                          • quiet : boolean
                                                                                                                                                                                            Suppressing info messages

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

                                                                                                                                                                                          • pin : String
                                                                                                                                                                                        • flushOnly
                                                                                                                                                                                          • quiet : boolean
                                                                                                                                                                                          • pin : String
                                                                                                                                                                                            Pinning a build at Perforce Label

                                                                                                                                                                                            When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.

                                                                                                                                                                                            Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).

                                                                                                                                                                                        • forceClean
                                                                                                                                                                                          • have : boolean
                                                                                                                                                                                          • quiet : boolean
                                                                                                                                                                                            Suppressing info messages

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

                                                                                                                                                                                          • pin : String
                                                                                                                                                                                            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).

                                                                                                                                                                                          • parallel
                                                                                                                                                                                              Nested Object
                                                                                                                                                                                            • enable : boolean
                                                                                                                                                                                            • path : String
                                                                                                                                                                                            • threads : String
                                                                                                                                                                                            • minfiles : String
                                                                                                                                                                                            • minbytes : String
                                                                                                                                                                                        • graphClean
                                                                                                                                                                                          • quiet : boolean
                                                                                                                                                                                            Suppressing info messages

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

                                                                                                                                                                                          • pin : String
                                                                                                                                                                                            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).

                                                                                                                                                                                          • parallel
                                                                                                                                                                                              Nested Object
                                                                                                                                                                                            • enable : boolean
                                                                                                                                                                                            • path : String
                                                                                                                                                                                            • threads : String
                                                                                                                                                                                            • minfiles : String
                                                                                                                                                                                            • minbytes : String
                                                                                                                                                                                        • syncOnly
                                                                                                                                                                                          • revert : boolean
                                                                                                                                                                                          • have : boolean
                                                                                                                                                                                          • force : boolean
                                                                                                                                                                                          • modtime : boolean
                                                                                                                                                                                          • quiet : boolean
                                                                                                                                                                                            Suppressing info messages

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

                                                                                                                                                                                          • pin : String
                                                                                                                                                                                            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).

                                                                                                                                                                                          • parallel
                                                                                                                                                                                              Nested Object
                                                                                                                                                                                            • enable : boolean
                                                                                                                                                                                            • path : String
                                                                                                                                                                                            • threads : String
                                                                                                                                                                                            • minfiles : String
                                                                                                                                                                                            • minbytes : String
                                                                                                                                                                                      • browser
                                                                                                                                                                                          Nested Choice of Objects
                                                                                                                                                                                        • fishEye
                                                                                                                                                                                          • url : String
                                                                                                                                                                                          • rootModule : String
                                                                                                                                                                                        • openGrok
                                                                                                                                                                                          • url : String
                                                                                                                                                                                          • depotPath : String
                                                                                                                                                                                          • projectName : String
                                                                                                                                                                                        • p4Web
                                                                                                                                                                                          • url : String
                                                                                                                                                                                        • swarm
                                                                                                                                                                                          • url : String
                                                                                                                                                                                    • $class: 'PlasticSCM'
                                                                                                                                                                                      • selector : String
                                                                                                                                                                                      • cleanup
                                                                                                                                                                                        • Values: MINIMAL, STANDARD, FULL, DELETE
                                                                                                                                                                                      • workingMode
                                                                                                                                                                                        • Values: NONE, UP, LDAP
                                                                                                                                                                                      • credentialsId : String
                                                                                                                                                                                      • useMultipleWorkspaces : boolean
                                                                                                                                                                                      • additionalWorkspaces
                                                                                                                                                                                          Array / List of Nested Object
                                                                                                                                                                                        • selector : String
                                                                                                                                                                                        • cleanup
                                                                                                                                                                                          • Values: MINIMAL, STANDARD, FULL, DELETE
                                                                                                                                                                                        • directory : String
                                                                                                                                                                                      • pollOnController : boolean
                                                                                                                                                                                      • directory : String
                                                                                                                                                                                    • $class: 'ProxySCM'
                                                                                                                                                                                      • projectName : String
                                                                                                                                                                                    • $class: 'PvcsScm'
                                                                                                                                                                                      • projectRoot : String
                                                                                                                                                                                      • archiveRoot : String
                                                                                                                                                                                      • changeLogPrefixFudge : String
                                                                                                                                                                                      • moduleDir : String
                                                                                                                                                                                      • loginId : String
                                                                                                                                                                                      • pvcsWorkspace : String
                                                                                                                                                                                      • promotionGroup : String
                                                                                                                                                                                      • versionLabel : String
                                                                                                                                                                                      • cleanCopy : boolean
                                                                                                                                                                                    • $class: 'RTCScm'
                                                                                                                                                                                      • overrideGlobal : boolean

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

                                                                                                                                                                                      • buildTool : String

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

                                                                                                                                                                                      • serverURI : String

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

                                                                                                                                                                                      • timeout : int

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

                                                                                                                                                                                      • userId : String

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

                                                                                                                                                                                      • password

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

                                                                                                                                                                                        • Type: class hudson.util.Secret
                                                                                                                                                                                      • passwordFile : String

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

                                                                                                                                                                                      • credentialsId : String

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

                                                                                                                                                                                      • buildType
                                                                                                                                                                                          Nested Object
                                                                                                                                                                                        • value : String
                                                                                                                                                                                        • buildDefinition : String
                                                                                                                                                                                        • buildWorkspace : String
                                                                                                                                                                                        • buildSnapshot : String
                                                                                                                                                                                        • buildStream : String
                                                                                                                                                                                        • acceptBeforeLoad : boolean (optional)
                                                                                                                                                                                        • addLinksToWorkItems : boolean (optional)
                                                                                                                                                                                        • buildSnapshotContext (optional)
                                                                                                                                                                                            Nested Object
                                                                                                                                                                                          • snapshotOwnerType : String
                                                                                                                                                                                          • processAreaOfOwningStream : String
                                                                                                                                                                                          • owningStream : String
                                                                                                                                                                                          • owningWorkspace : String
                                                                                                                                                                                        • clearLoadDirectory : boolean (optional)
                                                                                                                                                                                        • componentLoadConfig : String (optional)
                                                                                                                                                                                        • componentsToExclude : String (optional)
                                                                                                                                                                                        • createFoldersForComponents : boolean (optional)
                                                                                                                                                                                        • currentSnapshotOwnerType : String (optional)
                                                                                                                                                                                        • customizedSnapshotName : String (optional)
                                                                                                                                                                                        • generateChangelogWithGoodBuild : boolean (optional)
                                                                                                                                                                                        • loadDirectory : String (optional)
                                                                                                                                                                                        • loadPolicy : String (optional)
                                                                                                                                                                                        • overrideDefaultSnapshotName : boolean (optional)
                                                                                                                                                                                        • pathToLoadRuleFile : String (optional)
                                                                                                                                                                                        • pollingOnly : boolean (optional)
                                                                                                                                                                                        • pollingOnlyData (optional)
                                                                                                                                                                                            Nested Object
                                                                                                                                                                                          • snapshotUUID : String
                                                                                                                                                                                        • processArea : String (optional)
                                                                                                                                                                                        • useDynamicLoadRules : boolean (optional)
                                                                                                                                                                                      • avoidUsingToolkit : boolean

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

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

                                                                                                                                                                                    • $class: 'SCLMSCM'
                                                                                                                                                                                      • server : String
                                                                                                                                                                                      • port : int
                                                                                                                                                                                      • credentialsId : String
                                                                                                                                                                                      • JESINTERFACELEVEL1 : boolean
                                                                                                                                                                                      • FTPActiveMode : boolean
                                                                                                                                                                                      • project : String
                                                                                                                                                                                      • alternate : String
                                                                                                                                                                                      • group : String
                                                                                                                                                                                      • types : String
                                                                                                                                                                                      • custJobStep : boolean
                                                                                                                                                                                      • JobStep : String
                                                                                                                                                                                      • custJobHeader : boolean
                                                                                                                                                                                      • JobHeader : String
                                                                                                                                                                                    • $class: 'ShellScriptSCM'
                                                                                                                                                                                      • checkoutShell : String
                                                                                                                                                                                      • pollingShell : String
                                                                                                                                                                                      • useCheckoutForPolling : boolean
                                                                                                                                                                                    • $class: 'SimpleClearCaseSCM'
                                                                                                                                                                                      • loadRules : String
                                                                                                                                                                                        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.

                                                                                                                                                                                      • viewname : String
                                                                                                                                                                                        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.
                                                                                                                                                                                      • branch : String
                                                                                                                                                                                        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.
                                                                                                                                                                                      • filter : boolean
                                                                                                                                                                                        Filters out mkbranch and rmbranch messages in lshistory. These changes isn't relevant if you are tracking source files in a specific branch.
                                                                                                                                                                                    • $class: 'StoreSCM'
                                                                                                                                                                                      • scriptName : String
                                                                                                                                                                                      • repositoryName : String
                                                                                                                                                                                        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.
                                                                                                                                                                                      • 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 of Nested Object
                                                                                                                                                                                        • pundleType
                                                                                                                                                                                          • Values: PACKAGE, BUNDLE
                                                                                                                                                                                        • name : String
                                                                                                                                                                                      • versionRegex : String
                                                                                                                                                                                        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
                                                                                                                                                                                      • minimumBlessingLevel : String
                                                                                                                                                                                        Choose the minimum Store blessing level that should be considered. Pundle versions with a lower blessing level will be ignored.
                                                                                                                                                                                      • generateParcelBuilderInputFile : boolean
                                                                                                                                                                                        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.
                                                                                                                                                                                      • parcelBuilderInputFilename : String
                                                                                                                                                                                        The name of the file, relative to the Jenkins workspace directory, where the input file for ParcelBuilder will be written.
                                                                                                                                                                                    • $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 of Nested Object
                                                                                                                                                                                        • remote : String
                                                                                                                                                                                        • credentialsId : String
                                                                                                                                                                                        • local : String
                                                                                                                                                                                          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.
                                                                                                                                                                                        • depthOption : String
                                                                                                                                                                                          --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.
                                                                                                                                                                                        • ignoreExternalsOption : boolean
                                                                                                                                                                                          "--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.
                                                                                                                                                                                        • cancelProcessOnExternalsFail : boolean
                                                                                                                                                                                          Determines if the process should be cancelled when checkout/update svn:externals failed. Will work when "Ignore externals" box is not checked. Default choice is to cancelled the process when checkout/update svn:externals failed.
                                                                                                                                                                                      • workspaceUpdater
                                                                                                                                                                                          Nested Choice of Objects
                                                                                                                                                                                        • $class: 'CheckoutUpdater'
                                                                                                                                                                                          • $class: 'NoopUpdater'
                                                                                                                                                                                            • $class: 'UpdateUpdater'
                                                                                                                                                                                              • $class: 'UpdateWithCleanUpdater'
                                                                                                                                                                                                • $class: 'UpdateWithRevertUpdater'
                                                                                                                                                                                                • browser
                                                                                                                                                                                                    Nested Choice of Objects
                                                                                                                                                                                                  • $class: 'Assembla'
                                                                                                                                                                                                    • spaceName : String
                                                                                                                                                                                                  • $class: 'BacklogRepositoryBrowser'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                      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.

                                                                                                                                                                                                  • $class: 'CollabNetSVN'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                      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.
                                                                                                                                                                                                  • $class: 'FishEyeSVN'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                      Specify the URL of this module in FishEye. (such as http://fisheye6.cenqua.com/browse/ant/)
                                                                                                                                                                                                    • rootModule : String
                                                                                                                                                                                                      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.
                                                                                                                                                                                                  • $class: 'Phabricator'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                    • repo : String
                                                                                                                                                                                                  • $class: 'PolarionRepositoryBrowser'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                    • location : String
                                                                                                                                                                                                  • $class: 'RedmineRepositoryBrowser'
                                                                                                                                                                                                    • repositoryId : String
                                                                                                                                                                                                  • $class: 'SVNWeb'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                  • $class: 'ScmManagerSvnRepositoryBrowser'
                                                                                                                                                                                                    • repoUrl : String
                                                                                                                                                                                                      Specify the root URL serving this repository (such as https://scm-manager.org/scm/repo/namespace/name).
                                                                                                                                                                                                  • $class: 'Sventon'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                      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/
                                                                                                                                                                                                    • repositoryInstance : String
                                                                                                                                                                                                      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
                                                                                                                                                                                                  • $class: 'Sventon2'
                                                                                                                                                                                                    • url : String
                                                                                                                                                                                                      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/
                                                                                                                                                                                                    • repositoryInstance : String
                                                                                                                                                                                                      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
                                                                                                                                                                                                  • $class: 'TeamForge'
                                                                                                                                                                                                    • connectionFactory
                                                                                                                                                                                                        Nested Object
                                                                                                                                                                                                      • url : String

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

                                                                                                                                                                                                      • username : String

                                                                                                                                                                                                        The user who will upload the files.

                                                                                                                                                                                                      • password : String

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

                                                                                                                                                                                                    • project : String
                                                                                                                                                                                                    • repo : String
                                                                                                                                                                                                  • $class: 'TracRepositoryBrowser'
                                                                                                                                                                                                    • $class: 'ViewSVN'
                                                                                                                                                                                                      • url : String
                                                                                                                                                                                                        Specify the root URL of ViewSVN for this repository (such as this).
                                                                                                                                                                                                    • $class: 'ViewVCRepositoryBrowser'
                                                                                                                                                                                                      • url : String
                                                                                                                                                                                                      • location : String
                                                                                                                                                                                                    • $class: 'VisualSVN'
                                                                                                                                                                                                    • $class: 'WebSVN'
                                                                                                                                                                                                      • url : String
                                                                                                                                                                                                  • excludedRegions : String
                                                                                                                                                                                                    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.
                                                                                                                                                                                                  • excludedUsers : String
                                                                                                                                                                                                    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.
                                                                                                                                                                                                  • excludedRevprop : String
                                                                                                                                                                                                    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.
                                                                                                                                                                                                  • excludedCommitMessages : String
                                                                                                                                                                                                    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.
                                                                                                                                                                                                  • includedRegions : String
                                                                                                                                                                                                    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.
                                                                                                                                                                                                  • ignoreDirPropChanges : boolean
                                                                                                                                                                                                    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).
                                                                                                                                                                                                  • filterChangelog : boolean
                                                                                                                                                                                                    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.
                                                                                                                                                                                                  • 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 of Nested Object
                                                                                                                                                                                                    • realm : String
                                                                                                                                                                                                      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).
                                                                                                                                                                                                    • credentialsId : String
                                                                                                                                                                                                      Select the credential from the list of relevant credentials in order to use that credential for checking out the source code.
                                                                                                                                                                                                  • quietOperation : boolean

                                                                                                                                                                                                    Mimics subversion command line --quiet parameter for check out / update operations to help keep the output shorter. Prints nothing, or only summary information.

                                                                                                                                                                                                • $class: 'SurroundSCM'
                                                                                                                                                                                                  • server : String
                                                                                                                                                                                                  • serverPort : String
                                                                                                                                                                                                  • branch : String
                                                                                                                                                                                                  • repository : String
                                                                                                                                                                                                  • credentialsId : String
                                                                                                                                                                                                  • rsaKey (optional)
                                                                                                                                                                                                      Nested Object
                                                                                                                                                                                                    • rsaKeyFileId : String (optional)
                                                                                                                                                                                                    • rsaKeyFilePath : String (optional)
                                                                                                                                                                                                    • rsaKeyType (optional)
                                                                                                                                                                                                      • Values: NoKey, Path, ID
                                                                                                                                                                                                    • rsaKeyValue : String (optional)
                                                                                                                                                                                                  • rsaKeyFileId : String (optional)
                                                                                                                                                                                                  • rsaKeyFilePath : String (optional)
                                                                                                                                                                                                    Enter the full path to the RSA key file for the Surround SCM connection. Example: C:\SurroundRSAKeyFile.xml
                                                                                                                                                                                                  • rsaKeyPath : String (optional)
                                                                                                                                                                                                • $class: 'SynergySCM'
                                                                                                                                                                                                  • project : String
                                                                                                                                                                                                  • database : String
                                                                                                                                                                                                  • release : String
                                                                                                                                                                                                  • purpose : String
                                                                                                                                                                                                  • username : String
                                                                                                                                                                                                  • password : String
                                                                                                                                                                                                  • engine : String
                                                                                                                                                                                                  • oldProject : String
                                                                                                                                                                                                  • baseline : String
                                                                                                                                                                                                  • oldBaseline : String
                                                                                                                                                                                                  • ccmHome : String
                                                                                                                                                                                                  • remoteClient : boolean
                                                                                                                                                                                                  • detectConflict : boolean
                                                                                                                                                                                                  • replaceSubprojects : boolean
                                                                                                                                                                                                  • checkForUpdateWarnings : boolean
                                                                                                                                                                                                  • leaveSessionOpen : boolean
                                                                                                                                                                                                  • maintainWorkarea : boolean
                                                                                                                                                                                                  • checkTaskModifiedObjects : boolean
                                                                                                                                                                                                • $class: 'VaultSCM'
                                                                                                                                                                                                  • serverName : String
                                                                                                                                                                                                    Specify the hostname or IP address of the vault server.
                                                                                                                                                                                                  • path : String
                                                                                                                                                                                                  • userName : String
                                                                                                                                                                                                  • password : String
                                                                                                                                                                                                  • repositoryName : String
                                                                                                                                                                                                  • vaultName : String
                                                                                                                                                                                                  • sslEnabled : boolean
                                                                                                                                                                                                  • useNonWorkingFolder : boolean
                                                                                                                                                                                                  • merge : String
                                                                                                                                                                                                  • fileTime : String
                                                                                                                                                                                                  • makeWritableEnabled : boolean
                                                                                                                                                                                                  • verboseEnabled : boolean
                                                                                                                                                                                                • $class: 'hudson.plugins.gradle_repo.RepoScm'
                                                                                                                                                                                                  • repositoryUrl : String
                                                                                                                                                                                                  • branch : String
                                                                                                                                                                                                • $class: 'hudson.plugins.repo.RepoScm'

                                                                                                                                                                                                  The repo plugin provides Repo as an SCM tools in Jenkins.

                                                                                                                                                                                                  The repo plugin provides an SCM implementation to be used with the Pipeline SCM checkout step. The Pipeline Syntax Snippet Generator guides the user to select repo plugin checkout options and provides online help for each of the options.

                                                                                                                                                                                                  • manifestRepositoryUrl : String

                                                                                                                                                                                                    The URL of the manifest. This is passed to repo as repo init -u url.

                                                                                                                                                                                                  • cleanFirst : boolean (optional)

                                                                                                                                                                                                    When this is checked the first thing to do will be a

                                                                                                                                                                                                    repo forall -c "git clean -fdx"

                                                                                                                                                                                                  • currentBranch : boolean (optional)

                                                                                                                                                                                                    Fetch only the current branch from server. Increases the speed of the repo sync operation. This is passed to repo as repo init --current-branch and repo sync -c.

                                                                                                                                                                                                  • depth : int (optional)

                                                                                                                                                                                                    Specify the depth in history to sync from the source. The default is to sync all of the history. Use 1 to just sync the most recent commit. This is passed to repo as repo init --depth=n.

                                                                                                                                                                                                  • destinationDir : String (optional)

                                                                                                                                                                                                    The sub-directory of the workspace where the source should be synced. The default is the root of the workspace.

                                                                                                                                                                                                  • extraEnvVars (optional)
                                                                                                                                                                                                    • Type: java.util.Map<java.lang.String, java.lang.String>
                                                                                                                                                                                                  • fetchSubmodules : boolean (optional)

                                                                                                                                                                                                    Fetch submodules for from server. This is passed to repo as repo sync --fetch-submodules.

                                                                                                                                                                                                  • forceSync : boolean (optional)

                                                                                                                                                                                                    Overwrite an existing git directory if it needs to point to a different object directory. WARNING: this may cause loss of data. This is passed to repo as repo sync --force-sync.

                                                                                                                                                                                                  • ignoreProjects : String (optional)
                                                                                                                                                                                                  • jobs : int (optional)

                                                                                                                                                                                                    Specify the number of projects to fetch simultaneously. The default is 1. This is passed to repo as repo sync --jobs=n.

                                                                                                                                                                                                  • localManifest : String (optional)

                                                                                                                                                                                                    The contents of .repo/local_manifests/local.xml. This is written prior to calling sync. The default is to not use a local.xml file.

                                                                                                                                                                                                    The contents may be given here literally, as XML; see the example below. Such literal content must start with the string <?xml. Alternatively, the content may be given as an URL, in which case the file pointed by the URL is used. If the content does not start with the <?xml prefix, it is assumed to be an URL.

                                                                                                                                                                                                    An example

                                                                                                                                                                                                        <?xml version="1.0" encoding="UTF-8"?>
                                                                                                                                                                                                        <manifest>
                                                                                                                                                                                                          <project path="external/project" name="org/project" remote="github" revision="master" />
                                                                                                                                                                                                        </manifest>
                                                                                                                                                                                                      
                                                                                                                                                                                                  • manifestBranch : String (optional)

                                                                                                                                                                                                    The branch of the manifest to use. This is passed to repo as repo init -b branchname. Repo will default to master if a branch name isn't provided.

                                                                                                                                                                                                  • manifestFile : String (optional)

                                                                                                                                                                                                    The initial manifest file to use while initializing the repo. This is passed to repo as repo init -m manifestFile. If a manifest file is not specified, repo uses the default of "default.xml".

                                                                                                                                                                                                  • manifestGroup : String (optional)

                                                                                                                                                                                                    Restricts manifest projects to ones tagged with provided group name. This is passed to repo as repo init -g groupName. If a group name is not provided, the -g option is not passed to repo and it will default to fetching projects that are tagged with 'default'.

                                                                                                                                                                                                  • manifestPlatform : String (optional)

                                                                                                                                                                                                    Restrict manifest projects to ones with a specified platform group [auto|all|none|linux|darwin|...] This is passed to repo as repo init -P platformName. If a platform is not provided, the -p option is not passed to repo and it will default to auto and ony fetch projects which needed for current system.

                                                                                                                                                                                                  • manifestSubmodules : boolean (optional)

                                                                                                                                                                                                    Sync any submodules associated with the manifest repo. This is passed to repo as repo init --submodules.

                                                                                                                                                                                                  • mirrorDir : String (optional)

                                                                                                                                                                                                    The location of the mirror directory to reference when initialising the repository. This is passed to repo as repo sync --reference=DIR. This speeds up fetching code and isn't used by default.

                                                                                                                                                                                                  • noCloneBundle : boolean (optional)

                                                                                                                                                                                                    When this is checked --no-clone-bundle is used when running the repo init and repo sync commands.

                                                                                                                                                                                                  • noTags : boolean (optional)

                                                                                                                                                                                                    Don't fetch tags. This is passed to repo as repo init --no-tags and repo sync --no-tags.

                                                                                                                                                                                                  • quiet : boolean (optional)

                                                                                                                                                                                                    Make repo more quiet. This is passed to repo as repo sync -q.

                                                                                                                                                                                                  • repoBranch : String (optional)

                                                                                                                                                                                                    Use a specific branch for pulling repo itself. By default this is empty, and repo will be using its default branch (i.e. stable)

                                                                                                                                                                                                  • repoUrl : String (optional)

                                                                                                                                                                                                    Pull repo itself from this git repository. By default this is empty, and repo will be pulled from its default git url (i.e. googles)

                                                                                                                                                                                                  • resetFirst : boolean (optional)

                                                                                                                                                                                                    When this is checked the first thing to do will be a

                                                                                                                                                                                                    repo forall -c "git reset --hard"

                                                                                                                                                                                                  • showAllChanges : boolean (optional)

                                                                                                                                                                                                    When this is checked --first-parent is no longer passed to git log when determining changesets.

                                                                                                                                                                                                  • trace : boolean (optional)

                                                                                                                                                                                                    Trace git command execution. This is passed to repo as repo --trace <subcommand>.

                                                                                                                                                                                                  • worktree : boolean (optional)

                                                                                                                                                                                                    Use `git worktree` for checkouts (At least, Git version 2.15 is required to avoid dangerous gc bugs). Usefull under Windows because it no longer require symlinks at all.

                                                                                                                                                                                              • changelog : boolean (optional)
                                                                                                                                                                                                Enable or Disable 'Include in changelog':

                                                                                                                                                                                                If 'Include in changelog' is enabled for an SCM source, then when a build occurs, the changes from that SCM source will be included in the changelog.

                                                                                                                                                                                                If 'Include in changelog' is disabled, then when a build occurs, the changes from this SCM source will not be included in the changelog.

                                                                                                                                                                                              • poll : boolean (optional)
                                                                                                                                                                                                Enable or Disable 'Include in polling'

                                                                                                                                                                                                If 'Include in polling' is enabled or 'Include in changelog' is enabled, then when polling occurs, the job will be started if changes are detected from this SCM source.

                                                                                                                                                                                                If 'Include in polling' is disabled and 'Include in changelog' is disabled, then when polling occurs, changes that are detected from this repository will be ignored.


                                                                                                                                                                                              Was this page helpful?

                                                                                                                                                                                              Please submit your feedback about this page through this quick form.

                                                                                                                                                                                              Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

                                                                                                                                                                                                  


                                                                                                                                                                                              See existing feedback here.