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

        The AWS region must be the same to the region where your action runs in CodePipeline. Examples: "us-east-1", "cn-north-1", "us-gov-west-1". To list all supported regions, see AWS CodePipeline endpoints and quotas.

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

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

      • 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
        • 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'
                    • 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.
                      • 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.
                      • 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).
                      • 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.
                      • cleanAfterCheckout
                        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.
                      • 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'
                            • lfs
                              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.
                                • 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.
                                • 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

                                    • 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
                                      • submodule
                                        • 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.
                                        • disableSubmodules : boolean (optional)
                                          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.
                                        • parentCredentials : boolean (optional)
                                          Use credentials from the default remote of the parent project.
                                        • recursiveSubmodules : boolean (optional)
                                          Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
                                        • reference : String (optional)
                                          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
                                            
                                        • 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.
                                        • timeout : int (optional)
                                          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).
                                        • trackingSubmodules : boolean (optional)
                                          Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
                                      • $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'
                                    • $class: 'CVSSCM'
                                    • $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: 'CvsProjectset'
                                          • $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).

                                          • scmGit
                                          • $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
                                            • serverSubAppl : 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'
                                          • $class: 'MergebotScm'
                                            • cleanup
                                              • Values: MINIMAL, STANDARD, FULL, DELETE
                                            • workingMode
                                              • Values: NONE, UP, LDAP
                                            • credentialsId : String
                                            • specAttributeName : String
                                          • $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.

                                                    • streamAtChange : String (optional)
                                                      Stream at change

                                                      When specified, the client view is generated from the stream specification version at or before the change number.

                                                  • 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

                                                  • streamAtChange : String (optional)
                                                    Stream at change

                                                    When specified, the client view is generated from the stream specification version at or before the change number.

                                                  • 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
                                                • latestWithPin
                                                  • latestWithPin : boolean
                                                    Polling latest change with pin

                                                    When enabled, in case of a pinned checkout, polling ignores the pin or the label specified in the checkout step and polls till the latest change.

                                                • 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'
                                            • $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.
                                            • SpaceGit
                                              • customSpaceConnection

                                                Provide JetBrains Space connection, project and repository.

                                                This section is optional in case Triggered by JetBrains Space is enabled for a job or pipeline. The Build trigger settings will be used for checking out source code if the JetBrains Space connection parameters are not specified here explicitly.

                                                  Nested Object
                                                • spaceConnection : String
                                                • projectKey : String
                                                • repository : 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

                                              • gitTool : String

                                                Name of the git tool to be used for this job. Git tool names are defined in "Global Tool Configuration".

                                              • extensions
                                                  Array / List of Nested Choice of Objects
                                                • 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'
                                                            • 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.
                                                              • 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.
                                                              • 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).
                                                              • 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.
                                                              • cleanAfterCheckout
                                                                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.
                                                              • 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'
                                                                    • lfs
                                                                      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.
                                                                        • 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.
                                                                        • 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

                                                                            • 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
                                                                              • submodule
                                                                                • 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.
                                                                                • disableSubmodules : boolean (optional)
                                                                                  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.
                                                                                • parentCredentials : boolean (optional)
                                                                                  Use credentials from the default remote of the parent project.
                                                                                • recursiveSubmodules : boolean (optional)
                                                                                  Retrieve all submodules recursively (uses '--recursive' option which requires git>=1.6.5)
                                                                                • reference : String (optional)
                                                                                  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
                                                                                    
                                                                                • 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.
                                                                                • timeout : int (optional)
                                                                                  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).
                                                                                • trackingSubmodules : boolean (optional)
                                                                                  Retrieve the tip of the configured branch in .gitmodules (Uses '--remote' option which requires git>=1.8.2)
                                                                              • $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.
                                                                              • postBuildStatusToSpace : boolean (optional)

                                                                                If checked, Jenkins will automatically report the build to JetBrains Space. Adding any steps to the job or workflow definition will not be required.

                                                                                The build will be reported as running upon its start and as succeeded or failed upon its completion.

                                                                                Git commit and branch name for reporting will be taken from the GIT_COMMIT and GIT_BRANCH environment variables. These environment variables are provided by the standard Jenkins Git plugin when source code is checked out from a git repository.

                                                                            • $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'
                                                                            • $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'
                                                                          • 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.