Trac plugin for github integration
Clone or download
Pull request Compare This branch is 62 commits ahead, 10 commits behind davglass:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


I have officially taken this project over, so all forks of this project should happen here not upstream.


Please file bug reports here:


This trac plugin is designed to accept a GitHub Post-Receive url.

It also allows you to replace the builtin Trac browser with redirects to the GitHub source browser.

More information about the Post-Receive Hook can be found here:

To install this Trac Plugin:

    1. Clone the repository:
        git clone git://

    2. Install SimpleJSON:
        easy_install simplejson

    3. Install the Plugin:
        cd github
        sudo python install

    4. Configure Trac by editing your trac.ini
        github.* = enabled

        apitoken = YOUR GITHUB API TOKEN
        closestatus = closed (This is optional, defaults to closed
        browser =

        #Optional - perform a fetch on the local git repository
        autofetch = true

        #Optional - file mapping between svn revisions and git hashes
        enable_revmap = 1
        #created with git log --quiet --format='%H%n%s%n%b'>/path/to/trac/root/revmap
        svn_revmap = revmap
    5. Go to the Admin page for your project on GitHub. Then select the services tab.
        Under the: Post-Receive URLs
        Place a link to your Trac repository, in a format like this:

        You can get your GitHub API token from your accounts page.
        This is for your security, only those that know the API Token will able to post to this url

    6. All done.


The commit hook is designed to close or mark tickets that are attached to a commit message.

It searches commit messages for text in the form of:
    command #1
    command #1, #2
    command #1 & #2 
    command #1 and #2

Instead of the short-hand syntax "#1", "ticket:1" can be used as well, e.g.:
    command ticket:1
    command ticket:1, ticket:2
    command ticket:1 & ticket:2 
    command ticket:1 and ticket:2


The Code Browser

The code browser portion of the plugin is designed to replace the code browser built into Trac with a
redirect to the GitHub source browser.

In order for this to work properly, you still need to have Trac set to show a git repository. Turning this off
will not show source control links in other places (timeline). This git repository needs to be a synced clone of
your GitHub repository. Trac requires the GitPlugin in order to show a Git Repository:

This plugin will attempt to intercept the /browser and /changeset url's and redirect you to the proper GitHub url.