digitalkaoz/github-contributions-bundle

Symfony2 Bundle to show Github Contributions

1.0.2 2013-11-02 20:12 UTC

README

This Bundle lets you display some Github Statistics in your Symfony2 Application. See https://help.github.com/articles/viewing-contributions for more Information.

Build Status Scrutinizer Quality Score Code Coverage SensioLabsInsight Latest Stable Version Total Downloads

Contribution Calendar

687474703a2f2f7332312e706f7374696d672e6f72672f343936387a323777372f42696c6473636869726d666f746f5f323031335f31315f30315f756d5f32305f34305f30362e706e67

Repositories & Contributions

687474703a2f2f7331312e706f7374696d672e6f72672f34327373356d6d6b6a2f42696c6473636869726d666f746f5f323031335f31315f30315f756d5f32305f34305f31382e706e67

Installation

Add the Bundle with Composer

{
    "require" : {
        "digitalkaoz/GithubContributionsBundle" : "~1.0"
    }
}

For Caching add "liip/doctrine-cache-bundle": "~1.0" as well!

Then update your Dependencies: php composer.phar update

Activate the Bundle in your AppKernel

public function registerBundles()
{
    $bundles = array(
        // ...
        new digitalkaoz\GithubContributionsBundle\digitalkaozGithubContributionsBundle()
    );

    return $bundles;
}

Include the Routing File in your routing.yml

digitalkaoz_github_contributions:
    resource: "@digitalkaozGithubContributionsBundle/Resources/config/routing.xml"
    prefix:   /github

Configuration

the full configuration looks like this:

# only needed if you want to cache the github reponses (recommend)
liip_doctrine_cache:
    namespaces:
        github:
            type: file_system

#nothing is required, but its recommended to use an api token and cache the results
digitalkaoz_github_contributions:
    api_token:     your_github_api_token
    cache_service: liip_doctrine_cache.ns.github
    username:      your_github_username
    templates:
        contributions:   digitalkaozGithubContributionsBundle:Contributions:contributions.html.twig
        activity_stream: digitalkaozGithubContributionsBundle:Contributions:activity.html.twig
        user_repos:      digitalkaozGithubContributionsBundle:Contributions:user_repos.html.twig

Usage

View the Statistics

  • visit /github/contributions to view a list of repositories you have contributed to
  • visit /github/repos to view a list of your own repositories
  • visit /github/activity to view your contribution calendar (like the github one)

Generate the Caches

the calculation of your contributions may take a while, so i build some commands to generate the caches eagerly from your console/cronjobs.

  • run app/console github:contribution-update contribution digitalkaoz to update the contributions cache for digitalkaoz
  • run app/console github:contribution-update repos digitalkaoz to update the repos cache for digitalkaoz
  • run app/console github:contribution-update activity digitalkaoz to update the activity cache for digitalkaoz

Tests

everything is well tested and under CI:

TODO

  • other useful stats?
  • more generic approach for hooking own stats collectors?