Flowdock

Flowdock Plugin for Jenkins

Flowdock Plugin is a tool for sending build notification from Jenkins to your flow. It hooks to Post-build Actions of the build,
so you can use with any number of different builds. All you need to configure is the API token of the flow where you want the notifications
to go. See Tokens page for list of your API tokens.

Install

With Jenkins Plugin manager

  • Go to Manage Jenkins -> Manage Plugins -> Available
  • Find "Flowdock plugin" and install it
  • Restart Jenkins

From Jenkins Plugin repository

  • Download the latest plugin
  • Install it by uploading the package in admin: `Manage Jenkins/Hudson -> Manage Plugins -> Advanced -> Upload Plugin`
  • Restart Jenkins/Hudson

From source

To compile this plugin from source, you need to have at Maven 3.0.4 or newer installed.

  • Clone the Github repo
  • Run `mvn install` to build a .hpi-plugin package
  • Install it by uploading the package in admin: `Manage Jenkins/Hudson -> Manage Plugins -> Advanced -> Upload Plugin`
  • Restart Jenkins/Hudson

Configure

  • Go to Configure page inside a build
  • Scroll down to Post-build Actions
  • Select "Flowdock notification" from the list and fill out your the API token of your flow
  • Save the changes and click "Build Now"
  • Your flow should now receive notification. If not, see the Console Output of the build for errors.

Troubleshooting by Console Output

ERROR: Publisher com.flowdock.jenkins.FlowdockNotifier aborted due to exception
 java.lang.NullPointerException
 at com.flowdock.jenkins.FlowdockNotifier.shouldNotify(FlowdockNotifier.java:117)
 at com.flowdock.jenkins.FlowdockNotifier.perform(FlowdockNotifier.java:108)
 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
 at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:692)
 at hudson.model.Build$BuildExecution.cleanUp(Build.java:192)
 at hudson.model.Run.execute(Run.java:1546)
 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
 at hudson.model.ResourceController.execute(ResourceController.java:88)
 at hudson.model.Executor.run(Executor.java:236)
Finished: FAILURE

The way of storing the plugin configuration has changed in the recent versions. However, after
upgrading both Jenkins and Flowdock plugin, the old configuration data may remain and cause exceptions
like this. The quickest way to resolve this is to re-install the Flowdock plugin, which should flush the
cached configuration.

Flowdock: failed to send notification
Flowdock: response status: 401 Unauthorized

Most likely the API token is not valid or you do not have the permission to access the flow.

Flowdock: failed to send notification
Flowdock: response status: 400 Bad Request, _RESPONSE_

Validation of the notification message failed. This can occur when customizing the build notification
content as it needs to conform to Flowdock Push API format described in the API documentation.
The RESPONSE text should help in debugging why the message was rejected.

Write your own custom notifier

It's easy, just fork the Github repo of Jenkins Flowdock Plugin and start hacking!

To simply modify the contents of Team Inbox or Chat messages sent by the plugin, see the `fromBuild` method in `TeamInboxMessage` and `ChatMessage` classes.

Jenkins Flowdock Plugin contains a full implementation of the Flowdock Push API which is great for posting notifications.
If you need to go beyond simple notifications, have a look at what the REST API can offer you.