Send URL parameters to Jenkins
Webhook to Jenkins for Bitbucket Cloud now supports sending custom URL parameters to Jenkins during the notification/trigger process. To use this feature, you must configure Jenkins to allow URL parameters.
The URL parameter feature is only available when using the Git plugin and Direct Job Trigger endpoints. Bitbucket Branch Source plugin is not supported at this time.
The URL parameter feature for Webhook to Jenkins for Bitbucket Cloud only supports the
PR_destination (target branch)
parameter.
Setup
Configure Jenkins to allow job parameters
Git Plugin for Jenkins version 2.5.0 and higher rejects all URL parameters. You must configure Jenkins to allow URL parameters by doing ONE of the following:
Set the Jenkins JVM switches
-Dhudson.model.ParametersAction.keepUndefinedParameters=true
and-Dhudson.plugins.git.GitStatus.allowNotifyCommitParameters=true
. This allows arbitrary notify commit parameters (reference).Set the Jenkins JVM switch
-Dhudson.plugins.git.GitStatus.safeParameters=PARM1,PARM1
. If this property is set to a comma-separated list of parameters, those parameters are allowed for any job.
Only set these switches if you trust all unauthenticated users not to pass harmful arguments to your jobs.
For detailed instructions on adding Java arguments to Jenkins, see https://support.cloudbees.com/hc/en-us/articles/209715698-How-to-add-Java-arguments-to-Jenkins-.
Usage
Configure Bitbucket Server
Log in to Bitbucket Cloud. Click the Settings icon and select Workspace settings.
Click Webhook to Jenkins for Bitbucket. If you have not created a connection, refer to Configure Webhook to Jenkins for Bitbucket Cloud for instructions.
Click Hook Settings and add the job parameter to an existing instance by locating an entry from the list and clicking the Options icon > Edit. If you need to create a new instance, refer toConfigure Webhook to Jenkins for Bitbucket Cloudfor instructions.
Click Settings.
Under the Job parameters heading, enter the Parameter name. This is the same name used when configuring the parameter name in Jenkins.
Select a predefined parameter or type in a parameter value. You can create a custom value by entering a string value containing any text that is not the same as a predefined parameter. This parameter must also be defined in Jenkins. See Configure Jenkins for more information.
Click Add.
The name and value are added to the Job parameters list. Any custom value has a CUSTOM label attached when it appears in the list.
Click the Trash icon to remove the entry from the list.
Available Parameters
The available parameters available for Webhook to Jenkins for Bitbucket Cloud is limited compared to the Data Center version. Additional parameters will be added in future releases.
Parameter | Description |
---|---|
PR_DESTINATION | The branch name of the destination branch (Only available in pull requests). |
PR_SOURCE | The branch name of the source branch (Only available in pull requests). |
PR_SOURCE_COMMIT | The most recent commit id/reference for the source branch (Only available in pull requests). |
PR_DESTINATION_COMMIT | The most recent commit id/reference for the destination branch (Only available in pull requests). |
PR_ID | The pull request ID number (Only available in pull requests). |
PR_URL | The URL of the pull request (Only available in pull requests). |
PR_TITLE | The title of the pull request (Only available in pull requests). |
PR_ACTION | The action that triggered build for the pull request (Only available in pull requests). |
PR_REVIEWERS | The pull request reviewer display names (Only available in pull requests). |
PR_REVIEWERS_SLUG | The pull request reviewer slugs (Only available in pull requests). |
REPOSITORY | The repository being affected by the event. |
PROJECT | The project the repository being affected by the event is located in. |
BRANCH | The branch associated with the event. |
COMMIT | The commit id/reference associated with the event. |
USER | The username of the user who initiated the event. |
Configure Jenkins
To access the parameter in your Jenkins job:
Go to your job, click Configure from the left sidebar and go to the General tab. Select This project is parameterized.
click Add Parameter and select String Parameter
in the Name field, enter the name of the parameter that you used in the Webhook to Jenkins URL Parameters field.
For each additional parameter, click Add Parameter, select String Parameter and enter the name of the next parameter.
Click Save.
Your parameters are now passed to Jenkins.