GitHub sync plugin
This plugin synchronises a GitHub repository with a local repository used by Trac.
When a GitHub repository is changed, this plugin pulls those changes into the local repository.
After installation of this plugin, you have to configure GitHub to notify Trac about changes. You do this on GitHub under Admin -> Service Hooks section, where you select Post-Receive URLs service hook type and enter an URL of your Trac installation's /githubsync handler. For example, if your Trac installation is on http://www.example.com/ then enter http://www.example.com/githubsync as service hook URL.
Name of the repository on GitHub should match (it is case sensitive) the local one (you can use aliases in Trac 0.12 to assure that). User under which Trac is running on the server should have write access to the local repository for which it is configured and you want to sync.
Plugin automatically triggers trac-admin changeset added command with new revisions after every fetch, so ticket updates through commit messages is possible.
For testing, use GitHub's Test Hook. Opening http://www.example.com/githubsync in the browser will not work, because POST request is required, not GET request.
Download the zipped source from here.
pip install GitHubSyncPlugin
For more information, please follow documentation on how to install Trac's plugins.