A GoCD notification plugin which sends direct emails and Slack messages to the person who breaks a build
This plugin requires access to Go API to fetch status of previous job execution and material changes. If you are enforced to login before you can access the main pipelines screen, you need to provide a valid user/password to our plugin.
- Enter plugin settings
- Enter API username and password:
As this pluging needs to resolve user's email into a Slack ID, a WebHook is not enough to work. You need to install our Slack App into your team and get an API token.
You may see this warning when authorizing our app to work with your team. We will only access your team profile in order to match a email from a Material change into a Slack ID
- Install our app into your team:
- Copy your Slack API Token into GoCD's plugin configuration
- (optional) Configure a custom channel or slack id for the bot. If a channel is set, messages will still @mention a user. If not set, commits with an author that can't be resolved to a user in Slack will be posted to #general by default. Enter plugin settings and then:
- Configure your SMTP server details
- If you SMTP requires authentication, provide your account/password
- Provide a From email, the one our plugin will be sending email on behalf
- Provide an optional CC, this email will copied every time an email is sent
- Pipeline Broken Message: sent to a user when a specific pipeline is broken (the build fails) by the last commit
- Pipeline Still Broken Message: sent to a user when a specific pipeline was broken and the last commit didn' fix it
- Pipeline Fixed Message: sent to a user when a specific pipeline was broken the last commit fixed it
To install the plugin you must first clone and build the repository. Once built:
- Copy \plugin\build\libs\build-watcher-plugin-.jar to <gocd-installation-folder>\plugins\external
This repository is forked from: https://github.com/gmazzo/gocd-build-watcher-plugin
Modifications:
- Uses gradle 6.8.
- Targets GoCD 2.1.2.
- Changes regex to extract emails from the git usernme.
To build the repository:
./gradlew assemble
To clean and rebuild:
./gradlew clean assemble
To execute tests:
./gradlew test
To modify the package details, modify variables in /plugin/build.grade
The repository is incomplete:
- Tests are failing due to a lack of mocking framework.
- Lacking tests in key areas.
- Dependencies are out of date.
- Publish packages to ease installation.