Everyone these days working with one or the other Version controls systems and Agile tracking tools. Currently for our most of the project, we are working with github and for tracking we all are using Pivotal, Trello or some other tools.

Now these apps are having some cool apis and api tokens which helps us integrating Version control system and tracking tools.
So that when we commit something that same message gets saved in our tracking tool. At the same time those tracking tools change their status automatically from Started -> Finished -> Delivered etc

I am going to explain, how to integrate Github with Pivotal. This is very simple and quick and you can make it work immediately.

Basic Requirement

  • Admin access to the Github Account
  • Api token for the Pivotal

Steps to implement

  • Login to Pivotal and go to Profile page. At the bottom of the page you will find the API TOKEN. As shown in the screenshot-1
  • Copy the API Token
  • Now login to the GITHUB account and go to the specific project for which you would like to integrate the tracking. If you have the admin access for github then you will see a tab Settings in githib
  • Go to settings page and click on *Service Hooks" link. That will give you list of all the services which Github supports, e.g. Pivotal, Basecamp, Campfire and Trello etc
  • Click on the Pivotal Tracker link, it will show you screen as shown in Screenshot-2
    Now enter the API TOKEN of Pivotal in the TOKEN field and tick the ACTIVE checkbox. Then just save settings

You are done with the integration of the Github and Pivotal

Commit Message after Integration

To associate an Github commit with a Pivotal Tracker story, we must include a special syntax in the
commit message to indicate one or more story IDs and (optionally) a state change for the story.

  • Commit message should have square brackets containing a hash mark
    followed by the story ID

    i.e. "[ #StoryID]".

    If a story was not already started (it was in the "not started"
    state), a commit message will automatically start it.

    e.g. [#12345678 #12345679] feature developed for soap

  • To automatically FINISH a story by using a commit message, include
    "fixed", "completed" or "finished" in the square brackets in addition to the story ID.

    e.g.

    "[fixed #12345678] my message" or

    "[fix #12345678] my message "or

    "[fixes #12345678] my message"

    "[completed #12345678] my message"

    "[finished #12345678] my message"

Note: For features, this will put the story in the 'finished' state.

For chores, it will put the story in the 'accepted' state.

If you have implement CI, which will basically do an auto deployment and test. For that situation,
include "delivers" in the comment and story will be put in the 'delivered' state:

e.g.
"[Delivers #12345679] My message"