The Opsera Salesforce Pipeline now supports webhook based start events.
With this functionality user can manage what branches the trigger event will occur off of. User can select a primary and secondary branch in this form and any time a commit occurs on one of these branches, the pipeline will be triggered.
Note: When a pipeline is running and user makes a commit, the pipeline will finish its current run and only IF the run was successful, it will run a second time. If the user makes multiple commits during a run the pipeline will always use the latest commit for the next run. The pipeline will only run once after the current run no matter how many run requests it gets for that time period.
Salesforce pipeline webhook setup contains 3 steps:
Source Repository Configuration in Start of Workflow
In the salesforce pipeline Workflow, in Start of Workflow box, open up the Source Repository settings by selecting the gear icon(⚙︎). This will open Source Repository configurations.
To restrict a Pipeline based webhook trigger to a particular project and branch (master or non-master) select a source repository management Platform from the drop down. Choose from GitLab, GitHub or Bitbucket.
Upon selecting a Platform, corresponding accounts stored in the Tool Registry will be fetched and provided in the Account drop down. Select the account containing the project you wish to configure your webhook trigger events to.
Once the Account is selected, a list of Repositories and then Branches will be fetched and provided in drop downs. Select the Repository of your project and then select a Primary Branch. You have the option to select a Secondary Branch as well. Once the webhook is successfully registered in the following steps, this pipeline will be triggered any time a commit occurs on the selected Primary and Secondary Branch.
Enable the ‘Trigger Active’ toggle to proceed with webhook registration.
Complete webhook registration by copying the webhook URL shown. You will need to paste the copied webhook URL In your SCM account’s webhook settings.
Note: The ‘Register Webhook’ button will not automatically register your webhook. Register it manually in the next steps.
Webhook Registration - GitHub
Use the following instructions to manually configure your webhook in GitHub webhook settings.
In GitHub, navigate to the selected repository containing the branches the trigger event will occur off of. Click on ‘Settings’ to access webhook settings.
In Settings, select ‘Webhooks’ then click ‘Add Webhook’.
Fill out the form, pasting the copied URL from Source Repository step configurations in the Payload URL.
IMPORTANT: ‘Content type’ by default is set to ‘application/x-www-form-urlencoded’. You must select ‘application/json’ from the drop down for webhook to trigger.
4. Select ‘Add webhook’ button to save configuration.
Salesforce Package Job Creation step configuration
Salesforce pipeline webhook events require further configuration within the first pipeline step - the Salesforce Package Job Creation (Using Jenkins tool with a Salesforce package job). The Jenkins job must also contain an Account including the repository selected in the Source Repository step. The Repository and Branch selected in this step must match those selected in the Source Repository step or this step (pre-start action in pipeline activity logs) will fail and the modified branch will not contain the altered files.