Skip to content

juhasipo/gocd-slack-build-notifier

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gocd-slack-build-notifier

Slack based GoCD build notifier

Demo

Setup

Download jar from releases & place it in /plugins/external & restart Go Server.

Configuration

All configurations are in HOCON format. Create a file go_notify.conf in the server user's (typically /var/go/) home directory. Minimalistic configuration would be something like

gocd.slack {
  login = "someuser"
  password = "somepassword"
  server-host = "http://localhost:8153/"
  webhookUrl = "https://hooks.slack.com/services/...."

  # optional fields
  channel = "#build"
  slackDisplayName = "gocd-slack-bot"
  slackUserIconURL = "http://example.com/slack-bot.png"
}
  • login - Login for a Go user who is authorized to access the REST API.
  • password - Password for the user specified above. You might want to create a less privileged user for this plugin.
  • server-host - FQDN of the Go Server. All links on the slack channel will be relative to this host.
  • webhookUrl - Slack Webhook URL
  • channel - Override the default channel where we should send the notifications in slack. You can also give a value starting with @ to send it to any specific user.

Pipline Rules

By default the plugin pushes a note about all failed stages across all pipelines to Slack. You have fine grain control over this operation.

gocd.slack {
  server-host = "http://localhost:8153/"
  webhookUrl = "https://hooks.slack.com/services/...."

  pipelines = [{
    name = ".*"
    stage = ".*"
    state = "failed"
  },{
    name = "gocd-slack-build"
    stage = "build"
    state = "failed|passed"
    channel = "#oss-build-group"
  }]
}

gocd.slack.pipelines contains all the rules for the go-server. It is a list of rules (see below for what the parameters mean) for various pipelines.

  • name - Regex to match the pipeline name
  • stage - Regex to match the stage name
  • state - State of the pipeline at which we should send a notification. You can provide multiple values separated by pipe (|) symbol. Valid values are passed, failed, cancelled, building, fixed, broken or all.
  • channel - (Optional) channel where we should send the slack notification. This setting for a rule overrides the global setting

License

http://www.apache.org/licenses/LICENSE-2.0

About

GoCD (go.cd) plugin to push build notifications to Slack

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.7%
  • Shell 0.3%