Getting started with SCM/VCS integration

Getting started

Bugify supports keeping track of commits in your repositories.
Your commit messages can be logged against the referenced issue, and you can even perform actions based on the content of the commit message. It doesn't matter if you use git, svn, hg or another SCM, you should be able to setup integration between your commits and Bugify. It's super simple with GitHub, BitBucket and Beanstalk.

  • All commits that contain a reference to an issue (e.g., #123) will be added to the issue in Bugify. Commits are shown slightly different from comments, but are shown in the same area.
  • Commit messages will be formatted using Markdown (same as comments).
  • You can run actions against tickets by using command words.
  • Commits are matched to a user based on the author username (or email).

Matching commits to a Bugify user

If your SCM username doesn't match your Bugify username, you'll need to add your SCM usernames to your account in Bugify. Click on My Account, and fill in your SCM usernames.

Bugify tries to match a commit author to a Bugify user based on the following rules:

  1. If the git/hg commit contains an author email address, the email is used as the "author", otherwise the name is used. For svn, there is only one author parameter in the commit data. Note that this only works where the payload contains the email as a separate field, otherwise it might be matched based on the following rule.
  2. The "author" (based on the author discovered in rule 1) is matched against each Bugify users' username and email address. If it matches any, that Bugify user is used.
  3. If no user has been found, it goes through the list of Bugify users again and matches against the full name of each user. If it matches any, that Bugify user is used.
  4. If no user has been found to match against the author, it is then matched against each Bugify user again, but this time against the SCM usernames that have been saved for the user.

If no Bugify has been found after this, the commit is ignored.

Find your Bugify post-commit hook URL

Log in to Bugify, go to General Settings and locate the post-commit hook URL down the right side of the page. It looks something like this http://bugify.example.com/commits/post/39bfcbc4806ee40e3b5e2deaccc97ab2b33df3b0

Integrating with GitHub

Open the GitHub repository you wish to integrate with Bugify, then:

  1. Go to the project's homepage.
  2. Click on the "Settings" button.
  3. Click the "Webhooks & Services" tab in the left menu.
  4. Click the "Add Webhook" button.
  5. Paste the Bugify post-commit URL into the empty Payload URL text input (leave Content type as application/json)
  6. Click "Add Webhook" to save it.

Your GitHub commits will now be sent through to Bugify.

Integrating with BitBucket

Open the BitBucket repository you wish to integrate with Bugify, then:

  1. Go to the project's homepage.
  2. Click on the "Administration" button (cog on right side of page)
  3. Click the "Hooks" option in the left menu.
  4. Select "POST" as the hook type and click "Add Hook"
  5. Paste the Bugify post-commit URL into the empty URL text input.
  6. Click "Save".

Your BitBucket commits will now be sent through to Bugify.

Integrating with Beanstalk

Open the Beanstalk repository you wish to integrate with Bugify, then:

  1. Click on the "Setup" tab at the top.
  2. Click on the "Integration" tab below the "Repository Setup" header.
  3. Choose "Webhooks" from the list of services on the left.
  4. Click the "Activate Integration" button.
  5. Paste the Bugify post-commit URL into the empty URL text input.
  6. Click "Next Step".
  7. Click "Activate".

Your Beanstalk commits will now be sent through to Bugify.

Integrating with private SVN repositories

We have provided an example post-commit hook for SVN in ./cli/hooks/svn-post-commit-hook.py that you can use to setup a post-commit hook from your SVN repo to Bugify.