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.

Jira plugin

jiraComment: Jira: Add a comment to issue(s)

  • issueKey : String
  • body : String

jiraIssueSelector: Jira: Issue selector

  • issueSelector (optional)
      Nested Choice of Objects
    • $class: 'DefaultIssueSelector'
      • $class: 'ExplicitIssueSelector'
        • issueKeys : String
      • $class: 'JqlIssueSelector'
        • jql : String
      • $class: 'P4JobIssueSelector'

      jiraSearch: Jira: Search issues

      • jql : String

      step([$class: 'IssueFieldUpdateStep']): Jira: Issue custom field updater

      JiraIssueFieldUpdater can be used to update custom Jira issue field.
      • issueSelector (optional)
          Nested Choice of Objects
        • $class: 'DefaultIssueSelector'
          • $class: 'ExplicitIssueSelector'
            • issueKeys : String
          • $class: 'JqlIssueSelector'
            • jql : String
          • $class: 'P4JobIssueSelector'
          • fieldId : String (optional)
          • fieldValue : String (optional)

          step([$class: 'JiraIssueUpdateBuilder']): Jira: Progress issues by workflow action

          Performs a Jira workflow action for every issue that matches the JQL query. A common use might be to consider a ticket "confirmed" in the last build step of a job, or to mark an issue as "merged" if the job is used to merge changes from one SCM repository to another.

          Optionally, include a comment that will be attached to those tickets that are modified as a result of this build step.
          • jqlSearch : String
            Issues which match this JQL Query will be progressed using the specified workflow action.

            This can contain $PARAM values which will be replaced by the build parameters.

            Example:

            project = JENKINS and fixVersion = "$RELEASE_VERSION" and status not in (Resolved, Closed)
            or (e.g., combined with a Jira Issue Parameter, selecting one issue from a JQL result set):
            issue = $ISSUE_ID

          • workflowActionName : String
            The workflow action to be performed on the selected Jira issues.

            Be mindful of the issues being selected by the JQL query, because not all actions are valid for all issue statuses.

            NOTE: the Jenkins user must have access to perform the workflow step, as if the user were logged in and viewing the issue in a web browser.
          • comment : String
            An optional comment to be added to the issue after updating the workflow. If left empty, no comment will be added.

            This can contain $PARAM values which will be replaced by the build parameters.

          step([$class: 'JiraIssueUpdater']): Jira: Update relevant issues

          • issueSelector
              Nested Choice of Objects
            • $class: 'DefaultIssueSelector'
              • $class: 'ExplicitIssueSelector'
                • issueKeys : String
              • $class: 'JqlIssueSelector'
                • jql : String
              • $class: 'P4JobIssueSelector'
              • scm
                  Nested Choice of Objects
                • $class: 'AWSCodePipelineSCM'
                  • name : String
                  • clearWorkspace : boolean
                  • region : String
                  • awsAccessKey : String

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

                  • awsSecretKey : String

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

                  • proxyHost : String

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

                  • proxyPort : String

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

                  • category : String

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

                  • provider : String

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

                  • version : String

                    Leave the default as 1.

                • accurev
                  • depot : String
                  • stream : String
                  • serverName : String (optional)
                  • serverUUID : String (optional)
                  • wspaceORreftree : String (optional)
                  • accurevTool : String (optional)
                  • cleanreftree : boolean (optional)
                  • directoryOffset : String (optional)
                  • dontPopContent : boolean (optional)
                  • filterForPollSCM : String (optional)
                  • ignoreStreamParent : boolean (optional)
                  • reftree : String (optional)
                  • snapshotNameFormat : String (optional)
                  • subPath : String (optional)
                  • subPathOnly : boolean (optional)
                  • synctime : boolean (optional)
                  • useSnapshot : boolean (optional)
                  • workspace : String (optional)
                • $class: 'BazaarSCM'
                  • source : String
                  • cleantree : boolean
                  • browser
                      Nested Choice of Objects
                    • $class: 'Loggerhead'
                      • url : String
                        Loggerhead is a web-based interface for Bazaar branches. It is used by Launchpad, so if your code is hosted on Launchpad, you are using Loggerhead.
                        The repository browser URL for the root of the project. For example, a Launchpad project called myproject would use http://bazaar.launchpad.net/~myteam/myproject/mybranch.
                    • $class: 'OpenGrok'
                      • url : String
                        The repository browser URL for the root of the project. For example, the OpenGrok project would use http://src.opensolaris.org/source/.
                      • rootModule : String
                        Specify the root Bazaar module that this OpenGrok monitors. For example, for http://src.opensolaris.org/source/xref/opengrok/trunk/, this field would be opengrok/trunk/ because it displays the directory "/opengrok/trunk/".
                  • checkout : boolean
                • $class: 'BitKeeperSCM'
                  • parent : String
                  • localRepository : String
                  • usePull : boolean
                  • quiet : boolean
                • BbS
                  • id : String
                  • branches
                      Array / List of Nested Object
                    • name : String

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

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

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

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

                      Possible options:

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

                  • credentialsId : String

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

                    You can provide Jenkins with credentials here by:

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

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

                  • sshCredentialsId : String

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

                    To provide Jenkins with SSH credentials, you can:

                    • choose credentials from the list
                    • add credentials as a SSH Username with private key (the username must be "git")
                  • extensions
                      Array / List of Nested Choice of Objects
                    • 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).
                                                      • 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: 'MercurialSCM'
                                                      • $class: 'MergeBotUpdater'
                                                        • $class: 'MultiSCM'
                                                        • none
                                                          • $class: 'OpenShiftImageStreams'
                                                            • imageStreamName : String
                                                              The name of the ImageStream is what shows up in the NAME column if you dump all the ImageStream's with the `oc get is` command invocation.
                                                            • tag : String
                                                              The specific image tag within the ImageStream to monitor.
                                                            • apiURL : String
                                                            • namespace : String
                                                            • authToken : String
                                                            • verbose : String
                                                          • perforce
                                                            • credential : String
                                                              Perforce Credentials

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

                                                              There are two types:

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

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

                                                              There are five types:

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

                                                                  The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.

                                                                • pinHost : boolean
                                                                • name : String
                                                                  Workspace name

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

                                                                • spec
                                                                    Nested Object
                                                                  • allwrite : boolean
                                                                  • clobber : boolean
                                                                  • compress : boolean
                                                                  • locked : boolean
                                                                  • modtime : boolean
                                                                  • rmdir : boolean
                                                                  • streamName : String
                                                                  • line : String
                                                                    Line Endings

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

                                                                    • UNIX

                                                                      linefeed: UNIX style.

                                                                    • MAC

                                                                      carriage return: Macintosh style. (obsolete)

                                                                    • WIN

                                                                      carriage return-linefeed: Windows style.

                                                                    • SHARE

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

                                                                  • view : String
                                                                    View

                                                                    Lines to map depot files into the client workspace.

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

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

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

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

                                                                  • changeView : String
                                                                  • type : String
                                                                    Type

                                                                    Type of client: writeable/readonly/partitioned/graph

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

                                                                  • serverID : String
                                                                  • backup : boolean
                                                                    Backup

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

                                                                • cleanup : boolean
                                                                • syncID : String (optional)
                                                              • specFileSpec
                                                                • charset : String
                                                                  P4CHARSET

                                                                  The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.

                                                                • pinHost : boolean
                                                                • name : String
                                                                  An existing workspace

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

                                                                • specPath : String
                                                                • syncID : String (optional)
                                                              • staticSpec
                                                                • charset : String
                                                                  P4CHARSET

                                                                  The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.

                                                                • pinHost : boolean
                                                                • name : String
                                                                  An existing workspace

                                                                  Specify the name of an existing workspace in Perforce to be used as the Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces

                                                                • syncID : String (optional)
                                                              • streamSpec
                                                                • charset : String
                                                                  P4CHARSET

                                                                  The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.

                                                                • pinHost : boolean
                                                                • streamName : String
                                                                  Stream codeline

                                                                  Specify the full Perforce depot path for the given stream. If connected to a Perforce server the auto-text fill should list possible streams.

                                                                  For example: //stream-depot/main-stream
                                                                • format : String
                                                                  Workspace name formatter

                                                                  Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)

                                                                  Variables can be taken from the Jenkins Environment or Parameterized builds

                                                                • syncID : String (optional)
                                                              • templateSpec
                                                                • charset : String
                                                                  P4CHARSET

                                                                  The character set used by Jenkins when syncing files from the Perforce server. This should be set to 'none' unless connected to a Unicode enabled Perforce server.

                                                                • pinHost : boolean
                                                                • templateName : String
                                                                  Templace workspace

                                                                  Specify the name of an existing workspace in Perforce used to create or update a Jenkins build workspace. If connected to a Perforce server the auto-text fill should list suitable workspaces

                                                                • format : String
                                                                  Workspace name formatter

                                                                  Jenklin slave nodes must each use a unique Perforce workspace. The format string configures the workspace name by substituting the specified variables: (at least one variable must be used)

                                                                  Variables can be taken from the Jenkins Environment or Parameterized builds

                                                                • syncID : String (optional)
                                                            • filter
                                                                Array / List of Nested Choice of Objects
                                                              • latest
                                                                • latestChange : boolean
                                                              • pathFilter
                                                                • path : String
                                                                  Depot path filter

                                                                  Changes can be filtered to not trigger a build; if all the files within a change match the specified path, the build is filtered.

                                                                  For example, with a Filter of " //depot/main/tests ":

                                                                  Case A (change will be filtered):

                                                                  Files:

                                                                  • //depot/main/tests/index.xml
                                                                  • //depot/main/tests/001/test.xml
                                                                  • //depot/main/tests/002/test.xml

                                                                  Case B (change will not be filtered, as build.xml is outside of the filter):

                                                                  Files:

                                                                  • //depot/main/src/build.xml
                                                                  • //depot/main/tests/004/test.xml
                                                                  • //depot/main/tests/005/test.xml

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

                                                              • viewPattern
                                                                • patternText : String
                                                                  Java Pattern filter

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

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

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

                                                                  Files:

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

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

                                                                  Files:

                                                                  • //depot/main/tests.doc

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

                                                                  Files:

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

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

                                                                  Files:

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

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

                                                                  Files:

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

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

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

                                                              • userFilter
                                                                • user : String
                                                                  User name filter

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

                                                              • viewFilter
                                                                • viewMask : String
                                                                  View Mask filter

                                                                  Changes can be filtered to not trigger a build; if none of the files within a change are contained in the view mask, the build is filtered.

                                                                  For example, with a View Mask Filter of:
                                                                  //depot/main/tests
                                                                  -//depot/main/tests/001

                                                                  Case A (change will not be filtered, as index.xml is in the view mask):

                                                                  Files:

                                                                  • //depot/main/tests/index.xml
                                                                  • //depot/main/tests/001/test.xml

                                                                  Case B (change will not be filtered, as index.xml is in the view mask):

                                                                  Files:

                                                                  • //depot/main/test/index.xml
                                                                  • //depot/main/src/build.xml

                                                                  Case C (change will be filtered, as no file is in the view mask):

                                                                  Files:

                                                                  • //depot/main/src/build.xml

                                                                  Case D (change will be filtered, as no file is in the view mask):

                                                                  Files:

                                                                  • //depot/main/src/build.xml
                                                                  • //depot/main/tests/001/test.xml
                                                            • populate
                                                              Populate Options

                                                              Perforce will populate the workspace with the file revisions needed for the build. The different options effect the way the workspace is cleaned and the file revisions are updated.

                                                              There are three options:

                                                                Automatic Cleanup and Sync
                                                                Efficient cleaning and syncing of file revisions. Extra (non versioned files) are removed, missing and modified files re-added.
                                                                Best for clean builds.
                                                                Flush Workspace
                                                                No files Sync or cleanup attempted, but the Workspace's have list is updated.
                                                                Effective command 'p4 sync -k'.
                                                                Force Clean and Sync
                                                                Will remove all files from under the workspace root, then force sync the required files. Inefficient and NOT RECOMENDED.
                                                                Graph Force Clean and Sync/dt>
                                                                For Graph and Hybrid only, will remove all files from under the workspace root, then force sync the required files.
                                                                Preview Check Only
                                                                No files Sync or cleanup attempted; the Workspace's have list is not updated.
                                                                Effective command 'p4 sync -n'.
                                                                Sync Only
                                                                No cleanup attempted; the sync will update all files (as CLOBBER is set) to the required set of revisions.
                                                                Best for incremental builds.
                                                                Nested Choice of Objects
                                                              • autoClean
                                                                • replace : boolean
                                                                  REPLACE missing/modified files

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

                                                                • delete : boolean
                                                                  DELETE generated files

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

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

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

                                                                • pin : String
                                                                  Pinning a build at Perforce Label

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

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

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

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

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

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

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

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

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

                                                                • pin : String
                                                                  Pinning a build at Perforce Label

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

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

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

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

                                                                • pin : String
                                                                  Pinning a build at Perforce Label

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

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

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

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

                                                                • pin : String
                                                                  Pinning a build at Perforce Label

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

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

                                                                • parallel
                                                                    Nested Object
                                                                  • enable : boolean
                                                                  • path : String
                                                                  • threads : String
                                                                  • minfiles : String
                                                                  • minbytes : String
                                                            • browser
                                                                Nested Choice of Objects
                                                              • fishEye
                                                                • url : String
                                                                • rootModule : String
                                                              • openGrok
                                                                • url : String
                                                                • depotPath : String
                                                                • projectName : String
                                                              • p4Web
                                                                • url : String
                                                              • swarm
                                                                • url : String
                                                          • $class: 'PlasticSCM'
                                                            • selector : String
                                                            • cleanup
                                                              • Values: MINIMAL, STANDARD, FULL, DELETE
                                                            • workingMode
                                                              • Values: NONE, UP, LDAP
                                                            • credentialsId : String
                                                            • useMultipleWorkspaces : boolean
                                                            • additionalWorkspaces
                                                                Array / List of Nested Object
                                                              • selector : String
                                                              • cleanup
                                                                • Values: MINIMAL, STANDARD, FULL, DELETE
                                                              • directory : String
                                                            • pollOnController : boolean
                                                            • directory : String
                                                          • $class: 'ProxySCM'
                                                            • projectName : String
                                                          • $class: 'PvcsScm'
                                                            • projectRoot : String
                                                            • archiveRoot : String
                                                            • changeLogPrefixFudge : String
                                                            • moduleDir : String
                                                            • loginId : String
                                                            • pvcsWorkspace : String
                                                            • promotionGroup : String
                                                            • versionLabel : String
                                                            • cleanCopy : boolean
                                                          • $class: 'RTCScm'
                                                          • $class: 'SCLMSCM'
                                                            • server : String
                                                            • port : int
                                                            • credentialsId : String
                                                            • JESINTERFACELEVEL1 : boolean
                                                            • FTPActiveMode : boolean
                                                            • project : String
                                                            • alternate : String
                                                            • group : String
                                                            • types : String
                                                            • custJobStep : boolean
                                                            • JobStep : String
                                                            • custJobHeader : boolean
                                                            • JobHeader : String
                                                          • $class: 'ShellScriptSCM'
                                                            • checkoutShell : String
                                                            • pollingShell : String
                                                            • useCheckoutForPolling : boolean
                                                          • $class: 'SimpleClearCaseSCM'
                                                            • loadRules : String
                                                              Specify the paths to the source code inside of ClearCase VOBS. one Path for each line. For instance:

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

                                                            • viewname : String
                                                              The viewname which has a configured config spec. This is external to the plugin as the way the config spec can be configured in many different ways. From updating the config spec dynamically with fixed intervals to having a constant one throughout a full project life time.
                                                            • branch : String
                                                              Specify which branch to follow. Not mandatory. If not set then all branches will be followed, i.e you will get notifications about changes in branches which your config specification isn't related to. Example value: main, dev etc.
                                                            • filter : boolean
                                                              Filters out mkbranch and rmbranch messages in lshistory. These changes isn't relevant if you are tracking source files in a specific branch.
                                                          • $class: 'StoreSCM'
                                                            • scriptName : String
                                                            • repositoryName : String
                                                              Specify the name of the Store repository to be checked. It is assumed that the Smalltalk image being run by the "script" property will contain any necessary repository definitions.
                                                            • pundles
                                                              List the names of the top-level pundles (bundles and/or packages) to check for changes. All listed pundles and their recursive prerequisites will be checked.
                                                                Array / List of Nested Object
                                                              • pundleType
                                                                • Values: PACKAGE, BUNDLE
                                                              • name : String
                                                            • versionRegex : String
                                                              Specify a Regex11-style regular expression that specifies which pundle versions to consider when checking for changes. Examples:
                                                              • .+ (the default) will match any version string
                                                              • \d+ will match any integer version number
                                                              • (7.9\s*-\s*)?\d+ will match any integer version number with an optional "7.9 - " prefix
                                                            • minimumBlessingLevel : String
                                                              Choose the minimum Store blessing level that should be considered. Pundle versions with a lower blessing level will be ignored.
                                                            • generateParcelBuilderInputFile : boolean
                                                              Check this if Jenkins should generate an input file for ParcelBuilder or a similar tool. A ParcelBuilder input file specifies the type, name, and version of all of the Pundles that are part of the current build.
                                                            • parcelBuilderInputFilename : String
                                                              The name of the file, relative to the Jenkins workspace directory, where the input file for ParcelBuilder will be written.
                                                          • $class: 'SubversionSCM'
                                                          • $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'
                                                        • labels : Array / List of String

                                                          step([$class: 'JiraReleaseVersionUpdaterBuilder']): Jira: Mark a version as Released

                                                          • jiraProjectKey : String

                                                            Specify the project key. A project key is the all capitals part before the issue number in Jira.

                                                            (EXAMPLE-100)

                                                          • jiraRelease : String
                                                            Specify the name of the parameter which will contain the release version. This can reference a build parameter.
                                                          • jiraDescription : String
                                                            Optional
                                                            Specify a description of the release version. This can reference a build parameter.

                                                          step([$class: 'JiraVersionCreatorBuilder']): Jira: Create new version

                                                          • jiraVersion : String
                                                            Specify the name of the parameter which will contain the release version. This can reference a build parameter.
                                                          • jiraProjectKey : String

                                                            Specify the project key. A project key is the all capitals part before the issue number in Jira.

                                                            (EXAMPLE-100)

                                                          wrap([$class: 'JiraCreateReleaseNotes']): Generate Release Notes

                                                          • jiraProjectKey : String

                                                            Specify Jira project key. A project key is the all capitals part before the issue number in Jira.

                                                            (EXAMPLE-100)

                                                          • jiraRelease : String

                                                            Specify the name of the parameter which will contain the release version. This can reference a build parameter.

                                                          • jiraEnvironmentVariable : String

                                                            Specify the environment variable to which the release notes will be stored, defaults to RELEASE_NOTES.

                                                            This can be used in another build step which supports environments.

                                                          • jiraFilter : String

                                                            Apply additional filtering criteria to the issue filter. This will be concatenated with an AND operator.

                                                            Defaults To:

                                                            status in (Released, Closed)

                                                          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.