Go to section …

Integrating Capistrano

Capistrano is a deployment tool written in Ruby. Using the Flowdock API Ruby Gem, you can send notification to a flow after deployment is finished by writing an appropriate task. Here's a simplified example that you can add to your Capistrano recipes.

require "flowdock"
after :deploy, "deploy:notify_flow"
namespace :deploy do
  desc "Notify flow about deployment using email"
  task :notify_flow do
    # create a new Flow object with target flow's api token and sender information
    flow = Flowdock::Flow.new(api_token: "_YOUR_API_TOKEN_HERE_",
      source: "Capistrano deployment", project: "My project",
      from: {name: "John Doe", address: "john.doe@yourdomain.com"})

    # send message to the flow
    flow.send_message(format: "html", subject: "Application deployed #deploy",
      content: "Application deployed successfully!", tags: ["deploy", "frontend"])
  end
end

Get your flow's API token here:

Showing deployed changes

If you're using Capistrano and Git, you can get a list of new commits in the deploy notification. The Flowdock notifier for Capistrano is available for both Capistrano 2.x and 3.x.

Capistrano 3.x

Install capistrano-flowdock either manually or by using Bundler.

# Gemfile
gem "capistrano-flowdock", "~> 2.0", require: false

Require the gem in your Capfile.

# Capfile
require 'capistrano/flowdock'

Then configure deploy.rb to match your project and flow.

# deploy.rb
set :flowdock_project_name, "My project"
set :flowdock_deploy_tags, ["frontend"]
set :flowdock_api_token, "_YOUR_API_TOKEN_HERE_"

The resulting notification should look something like this:

Capistrano 2.x

Notifications for Capistrano 2.x are implemented in version 1.x of the capistrano-flowdock gem. Either install it manually or use bundler to manage dependencies.

# Gemfile
gem "capistrano-flowdock", "~> 1.0", require: false

To enable CA Flowdock notifications, require capistrano/flowdock in deploy.rb and configure the required settings to match your project and flow.

# deploy.rb
require 'capistrano/flowdock'

set :flowdock_project_name, "My project"
set :flowdock_deploy_tags, ["frontend"]
set :flowdock_api_token, "_YOUR_API_TOKEN_HERE_"
Back to integrations page