Integration between PivotalTracker and Yammer
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This project is a small Sinatra (Ruby 1.8) web service that posts updates from Pivotal Tracker to Yammer.  Note that you must host the web service on a machine that is accessible on the open internet.  (By default Sinatra will start the web service on port 4567).  It usees the 'Web Hooks' extension point in PivotalTracker, and posts to Yammer using OAuth.

The integration purposefully filters out story additions and story edits (so you don't flood the Yammer feeds during triage or planning), allowing through started/finished/delivered/accepted messages and comment additions.  If that doesn't work for your use case, go ahead and edit service.rb.  The code is really short and simple, so if you have any experience with Ruby, you'll have no problem adjusting the filtering (the 'if' with the regex's near the top).

Here are the steps to get it working:
1. Pull the files down from github. (git clone git://
2. Install bundler (gem install bundler) if you haven't already, then 'bundle install' in the directory you pulled the files down to.  This will install the gems that the integration depends on.
3. Register this application with Yammer for your domain, since our app token isn't yet valid for other domains.  To do so, launch your browser and log into yammer (IMPORTANT) then navigate to and fill out the form, then enter the "Consumer (Application) Key" value it gives you into config/oauth.yml next to "app_key: " (replacing the XXXX).  Enter the value it gives you for "Consumer (Application) Secret" next to where it says "app_secret:" (replacing the XXXX there).
4. Run 'ruby generate_token.rb' from within the directory where the app files are located.  It will give you instructions on how to update the other two values in oauth.yml (the user keys).
5. Run 'ruby service.rb' from within the directory where the app files are located, to start the web service.  (You can then make it a daemon using upstart if you so choose.)
6. Load your project in PivotalTracker and click the "Project" menu in the second navigation bar from the top, then click "Configure Integrations".  From that page, go down to the "Activity Web Hook" section, and enter the URL to the web service (http://XXX.XXX.XXX.XXX:4567/yammer, substituting your server's external IP address for the Xs).  Leave "v3" selected in the "API Version" drop-down, then click "SAVE WEB HOOK SETTINGS".  The confirmation message is confusingly at the top of the page.

You're ready to roll!  If you're running the web service in an interactive session (eg. 'ruby service.rb' from the command line), you will see a POST ... message every time something happens in PivotalTracker, which it posts to the service (which then posts it to Yammer).