Github Integration

With Trajectory and Github integration you can reference stories in your git commit messages and references to those commits will automatically appear on the mentioned stories in Trajectory.

Each story also has a branch name associated with it. Commits made to a branch with that name will automatically be associated with the story.

Setup

To set up the hook, go to your Trajectory user settings page https://www.apptrajectory.com/profile/edit and get your API Key.

Then go to the project Admin page on Github for the project you’d like to link up. Click "Service Hooks" on the left hand side and then click "Post-Receive URLs" and enter the following url:

https://www.apptrajectory.com/api/payloads?api_key=XXX

Where XXX is the API key you got in the previous step.

Usage

Feature Branches

When you commit to the properly named feature branch, your commits will automatically be associated with the matching story.

Once you start a story the feature branch name will be automatically generated based upon the title of the story. And will be shown on the lower right hand sidebar of the story.

github-branch.png

You can edit the name of the expected branch if you'd like to just change it to something else or you will be working on multiple stories all in the same branch. To edit the name of the branch, click on it and supply a new name.

rename-branch.png

Individual Commits

In your commit messages you can include the URL of any trajectory story that your Trajectory user (the API key you used) has access to and those commits will be associated with the story in Trajectory.

For example, you can make the following commit message:

implementing great new feature X
https://www.apptrajectory.com/accounts/thoughtbot/projects/trajectory/stories#97475

And the commit will be logged against the story with the included URL. You can include more than one story url in a commit message, and you can include multiple commits that reference different stories in the same push.

Issuing Commands

You can also issue commands in the commit message to mark the associated story as "Finished" in Trajectory.

So, for example, you can make a commit with the message

Finishes https://www.apptrajectory.com/accounts/thoughtbot/projects/trajectory/stories#97475

And it will be advanced to Finished in Trajectory, as well as display the commits. The following keywords will all advance the story to Finished: finish finished finishes fixed fixes. Case does not matter.

A story must be started in Trajectory in order to mark it as Finished with a git commit.

Trajectory will attempt to identify the user who finished a story by looking at the github email address of the user who made the commit. If it cannot find a matching user with access to the project the user's API key associated with the commit hook will be used.

Branching, Merging, Rebasing

Trajectory support Branches, Merges, and Rebases. Any transactions in git that contain commits referencing URLs will be associated with the story and an appropriate message.