@sparkol/bitbucket-pr-merge-slack-notification
v1.0.5
Published
Takes a BitBucket PR merge git commit log and automatically turns it into a nicely formatted slack notification message
Downloads
32
Readme
@sparkol/bitbucket-pr-merge-slack-notification
Takes a BitBucket PR merge git commit log and automatically turns it into a nicely formatted slack notification message. Use in your BitBucket pipeline to slack a channel when a release is made to an environment.
Prerequisites
- NodeJS 18.6.0+
Usage
npx @sparkol/bitbucket-pr-merge-slack-notification <<slack-webhook-url>> <<slack-channel>> <<notification-heading>> <<git-log-subject>>
Example
npx @sparkol/bitbucket-pr-merge-slack-notification "https://hooks.slack.com/services/T02BP612H/B5T4B35JB/ABCDE1234" "#changelog" "Application Name Production Release" "$(git log -n 1 $BITBUCKET_COMMIT --format=%s)"
Note, that if the script is unable to query the BitBucket API or Slack Webhook or is unable to find a PR number in the commit subject then the script will fail silently in order to not block your pipelines.
Required Arguments
- slack-webhook-url - Webhook URL given by Slack to allow you to post messages as a bot.
- slack-channel - The channel name where you want the notification to go. E.g.
#company-changelog
- notification-heading - This will appear as the Slack message heading.
- git-log-subject - When you merge a PR in BitBucket UI it will generate the git commit subject to include the PR number (e.g.
Merged in slack-message (pull request #1656)
) This script is looking for the PR number via a regex so you need to make sure that the subject line includes something in the format(pull request #1656)
. If you're using BitBucket pipelines then you can get the merge commit subject by using$(git log -n 1 $BITBUCKET_COMMIT --format=%s)
.
Requires Environemnt Variables
- BITBUCKET_REPO_FULL_NAME - This will generally be set by BitBucket in your pipeline and is used to query the BitBucket API. Value will be something like
workspace-name/repo-name
e.g.sparkol/videoscribe
- BITBUCKET_API_USER - The BitBuckt API Application Username. Used to query the BitBucket API
- BITBUCKET_API_PASSWORD - The BitBuckt API Application Password. Used to query the BitBucket API