stMind

about Tech, Computer vision and Machine learning

Net::GitHubを使ってEvents取得するサンプル

Net::GitHubを使ってGithubからeventsを取得するサンプルを書いた。

cpanmでモジュールのインストール。

$ cpanm http://search.cpan.org/CPAN/authors/id/F/FA/FAYLAND/Net-GitHub-0.46.tar.gz


モジュールはGitHubのエイチが大文字であることに注意。
GithubDev/get_events.pl at master · satojkovic/GithubDev

#!perl

use strict;
use warnings;

use Net::GitHub::V3;
use Config::Pit;

my $conf = pit_get("api.gihtub.com", require => {
    "username" => "username on github",
    "password" => "password on github"
});

my $gh = Net::GitHub::V3->new(
    login => $conf->{username}, pass => $conf->{password},
);

my $event = $gh->event();
my @events = $event->user_public_events($conf->{username});

foreach my $ev (@events) {
    print "----\n";
    foreach my $key (keys $ev) {
        if( ref($ev->{$key}) ne 'HASH' ) {
            print "$key: $ev->{$key}\n";
        }
    }
}

"repo", "payload", "actor"は複雑になりそうなので表示していない。特定のイベントを取得してTwitterにポストなども出来そう(Watch始めた等)。