Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Unlike Bot Commit, this module does not react to repository changes. It is a lookup tool in the fashion of the Bot Project URL lookup.

This project provides an integration between GitHub and the Bot module. More specifically it makes GitHub a Bot Project provider by utilizing the patch in #969294: Make issue-tracking integration extensible (for Redmine), following the example of Bot project Redmine.

This module currently has support for Commits and Branches. Additional Github-related tricks may be added later.

It depends on the php-github-api library, which for now must be copied into the module directory.

What Does It Do?

  • Paste of a git commit url gets commit data.
  • Shorthand syntax allows request of commit and branch information.
    • Configurable prefix for the commit or branch name.
    • Per-channel default for the GitHub account/Organization namespace.
    • Per-channel default for the GitHub repository.
    • Ability to specify a repository to override the channel default.
  • Ability to specify user account & api key for authenticated GitHub requests. This allows the Bot to pull information about otherwise private repositories.
  • De-duplication and 5-item flood control per line.

A commit request might look like:
Grayside: ~0a6fc5129b, %master
or
Grayside: ~bot_github:0a6fc5129b

And produce:
GitHubBot: Commit "Issue #1042: Create an Awesome GitHub Bot integration." by Grayside, http://github.com/Grayside/fakeproject/0a6fc5129b (47 IRC men$
GitHubBot: Branch "master" last updated on Fri, 03 Feb 2012 15:03:31 -0800, https://github.com/Grayside/fakeproject/tree/master (2 IRC mentions)

Project information