fluent-plugin-github-activities 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +22 -0
- data/README.md +87 -0
- data/fluent-plugin-github-activities.gemspec +43 -0
- data/lib/fluent/plugin/github-activities.rb +27 -0
- data/lib/fluent/plugin/github-activities/crawler.rb +368 -0
- data/lib/fluent/plugin/github-activities/safe_file_writer.rb +46 -0
- data/lib/fluent/plugin/in_github-activities.rb +94 -0
- data/test/fixture.rb +32 -0
- data/test/fixture/accept-pull-request-event.json +55 -0
- data/test/fixture/branch-event.json +25 -0
- data/test/fixture/commit-comment-event.json +58 -0
- data/test/fixture/commit.json +89 -0
- data/test/fixture/fork-event.json +115 -0
- data/test/fixture/issue-comment-event.json +97 -0
- data/test/fixture/issues-event.json +69 -0
- data/test/fixture/line-note-event.json +51 -0
- data/test/fixture/pull-request-accepted-event.json +349 -0
- data/test/fixture/pull-request-comment-event.json +103 -0
- data/test/fixture/pull-request-event.json +331 -0
- data/test/fixture/push-event-multiple-commits.json +85 -0
- data/test/run-test.rb +35 -0
- data/test/test_crawler.rb +260 -0
- metadata +166 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# This file is part of fluent-plugin-github-activities.
|
4
|
+
#
|
5
|
+
# fluent-plugin-github-activities is free software: you can
|
6
|
+
# redistribute it and/or modify it under the terms of the GNU Lesser
|
7
|
+
# General Public License as published by the Free Software
|
8
|
+
# Foundation, either version 3 of the License, or (at your option)
|
9
|
+
# any later version.
|
10
|
+
#
|
11
|
+
# fluent-plugin-github-activities is distributed in the hope that
|
12
|
+
# it will be useful, but WITHOUT ANY WARRANTY; without even the
|
13
|
+
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
14
|
+
# PURPOSE. See the GNU Lesser General Public License for more details.
|
15
|
+
#
|
16
|
+
# You should have received a copy of the GNU Lesser General Public
|
17
|
+
# License along with fluent-plugin-github-activities. If not, see
|
18
|
+
# <http://www.gnu.org/licenses/>.
|
19
|
+
|
20
|
+
require "pathname"
|
21
|
+
require "fileutils"
|
22
|
+
require "tempfile"
|
23
|
+
|
24
|
+
module Fluent
|
25
|
+
module GithubActivities
|
26
|
+
class SafeFileWriter
|
27
|
+
class << self
|
28
|
+
def write(path, contents=nil)
|
29
|
+
# Don't output the file directly to prevent loading of incomplete file!
|
30
|
+
path = Pathname(path).expand_path
|
31
|
+
FileUtils.mkdir_p(path.dirname.to_s)
|
32
|
+
Tempfile.open(path.basename.to_s, path.dirname.to_s) do |output|
|
33
|
+
if block_given?
|
34
|
+
yield(output, output.path)
|
35
|
+
else
|
36
|
+
output.write(contents)
|
37
|
+
end
|
38
|
+
output.flush
|
39
|
+
File.rename(output.path, path.to_s)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# This file is part of fluent-plugin-github-activities.
|
4
|
+
#
|
5
|
+
# fluent-plugin-github-activities is free software: you can
|
6
|
+
# redistribute it and/or modify it under the terms of the GNU Lesser
|
7
|
+
# General Public License as published by the Free Software
|
8
|
+
# Foundation, either version 3 of the License, or (at your option)
|
9
|
+
# any later version.
|
10
|
+
#
|
11
|
+
# fluent-plugin-github-activities is distributed in the hope that
|
12
|
+
# it will be useful, but WITHOUT ANY WARRANTY; without even the
|
13
|
+
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
14
|
+
# PURPOSE. See the GNU Lesser General Public License for more details.
|
15
|
+
#
|
16
|
+
# You should have received a copy of the GNU Lesser General Public
|
17
|
+
# License along with fluent-plugin-github-activities. If not, see
|
18
|
+
# <http://www.gnu.org/licenses/>.
|
19
|
+
|
20
|
+
module Fluent
|
21
|
+
class GithubActivitiesInput < Input
|
22
|
+
DEFAULT_BASE_TAG = "github-activity"
|
23
|
+
|
24
|
+
Plugin.register_input("github-activities", self)
|
25
|
+
|
26
|
+
config_param :basic_username, :string, :default => nil
|
27
|
+
config_param :basic_password, :string, :default => nil
|
28
|
+
config_param :users, :string, :default => nil
|
29
|
+
config_param :users_list, :string, :default => nil
|
30
|
+
config_param :include_commits_from_pull_request, :bool, :default => false
|
31
|
+
config_param :include_foreign_commits, :bool, :default => false
|
32
|
+
config_param :base_tag, :string, :default => DEFAULT_BASE_TAG
|
33
|
+
config_param :pos_file, :string, :default => nil
|
34
|
+
config_param :interval, :integer, :default => 1
|
35
|
+
|
36
|
+
def initialize
|
37
|
+
super
|
38
|
+
|
39
|
+
require "thread"
|
40
|
+
require "pathname"
|
41
|
+
require "fluent/plugin/github-activities"
|
42
|
+
end
|
43
|
+
|
44
|
+
def start
|
45
|
+
@base_tag = @base_tag.sub(/\.\z/, "")
|
46
|
+
@thread = Thread.new do
|
47
|
+
crawler_options = {
|
48
|
+
:username => @basic_username,
|
49
|
+
:password => @basic_password,
|
50
|
+
:watching_users => prepare_users_list,
|
51
|
+
:include_commits_from_pull_request => @include_commits_from_pull_request,
|
52
|
+
:include_foreign_commits => @include_foreign_commits,
|
53
|
+
:pos_file => @pos_file,
|
54
|
+
:default_interval => @interval,
|
55
|
+
}
|
56
|
+
@crawler = ::Fluent::GithubActivities::Crawler.new(crawler_options)
|
57
|
+
@crawler.on_emit = lambda do |tag, record|
|
58
|
+
Engine.emit("#{@base_tag}.#{tag}", Engine.now, record)
|
59
|
+
end
|
60
|
+
|
61
|
+
loop do
|
62
|
+
@crawler.process_request
|
63
|
+
sleep(@crawler.interval_for_next_request)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def shutdown
|
69
|
+
@thread.exit
|
70
|
+
end
|
71
|
+
|
72
|
+
private
|
73
|
+
def prepare_users_list
|
74
|
+
@users ||= ""
|
75
|
+
users = @users.split(",")
|
76
|
+
|
77
|
+
if @users_list
|
78
|
+
users_list = Pathname(@users_list)
|
79
|
+
if users_list.exist?
|
80
|
+
list = users_list.read
|
81
|
+
users += list.split("\n")
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
users = users.collect do |user|
|
86
|
+
user.strip
|
87
|
+
end.reject do |user|
|
88
|
+
user.empty?
|
89
|
+
end
|
90
|
+
|
91
|
+
users
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
data/test/fixture.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# This file is part of fluent-plugin-github-activities.
|
4
|
+
#
|
5
|
+
# fluent-plugin-github-activities is free software: you can
|
6
|
+
# redistribute it and/or modify it under the terms of the GNU Lesser
|
7
|
+
# General Public License as published by the Free Software
|
8
|
+
# Foundation, either version 3 of the License, or (at your option)
|
9
|
+
# any later version.
|
10
|
+
#
|
11
|
+
# fluent-plugin-github-activities is distributed in the hope that
|
12
|
+
# it will be useful, but WITHOUT ANY WARRANTY; without even the
|
13
|
+
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
14
|
+
# PURPOSE. See the GNU Lesser General Public License for more details.
|
15
|
+
#
|
16
|
+
# You should have received a copy of the GNU Lesser General Public
|
17
|
+
# License along with fluent-plugin-github-activities. If not, see
|
18
|
+
# <http://www.gnu.org/licenses/>.
|
19
|
+
|
20
|
+
module Fixture
|
21
|
+
def fixture_directory
|
22
|
+
File.join(File.dirname(__FILE__), "fixture")
|
23
|
+
end
|
24
|
+
|
25
|
+
def fixture_path(*path_components)
|
26
|
+
File.join(fixture_directory, *path_components)
|
27
|
+
end
|
28
|
+
|
29
|
+
def fixture_data(*path_components)
|
30
|
+
File.read(fixture_path(*path_components))
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
{
|
2
|
+
"id": "2823106834",
|
3
|
+
"type": "PushEvent",
|
4
|
+
"actor": {
|
5
|
+
"id": 70062,
|
6
|
+
"login": "piroor",
|
7
|
+
"gravatar_id": "",
|
8
|
+
"url": "https://api.github.com/users/piroor",
|
9
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?"
|
10
|
+
},
|
11
|
+
"repo": {
|
12
|
+
"id": 35922279,
|
13
|
+
"name": "clear-code/fluent-plugin-github-activities",
|
14
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities"
|
15
|
+
},
|
16
|
+
"payload": {
|
17
|
+
"push_id": 670501578,
|
18
|
+
"size": 2,
|
19
|
+
"distinct_size": 2,
|
20
|
+
"ref": "refs/heads/master",
|
21
|
+
"head": "221ab225dc4e3f58985730c92b2823578ef445de",
|
22
|
+
"before": "6e88a89630650ec73fafc4e968e8d3c671043bc1",
|
23
|
+
"commits": [
|
24
|
+
{
|
25
|
+
"sha": "2e64fe40a729bb065805c78245f3eb17dc88f39d",
|
26
|
+
"author": {
|
27
|
+
"email": "piro.outsider.reflex@gmail.com",
|
28
|
+
"name": "YUKI \"Piro\" Hiroshi"
|
29
|
+
},
|
30
|
+
"message": "Add README",
|
31
|
+
"distinct": true,
|
32
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/commits/2e64fe40a729bb065805c78245f3eb17dc88f39d"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"sha": "221ab225dc4e3f58985730c92b2823578ef445de",
|
36
|
+
"author": {
|
37
|
+
"email": "piro.outsider.reflex@gmail.com",
|
38
|
+
"name": "YUKI \"Piro\" Hiroshi"
|
39
|
+
},
|
40
|
+
"message": "Merge pull request #2 from piroor/master\n\nAdd README",
|
41
|
+
"distinct": true,
|
42
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/commits/221ab225dc4e3f58985730c92b2823578ef445de"
|
43
|
+
}
|
44
|
+
]
|
45
|
+
},
|
46
|
+
"public": true,
|
47
|
+
"created_at": "2015-05-21T06:19:12Z",
|
48
|
+
"org": {
|
49
|
+
"id": 176515,
|
50
|
+
"login": "clear-code",
|
51
|
+
"gravatar_id": "",
|
52
|
+
"url": "https://api.github.com/orgs/clear-code",
|
53
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/176515?"
|
54
|
+
}
|
55
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"id": "2838478605",
|
3
|
+
"type": "CreateEvent",
|
4
|
+
"actor": {
|
5
|
+
"id": 70062,
|
6
|
+
"login": "piroor",
|
7
|
+
"gravatar_id": "",
|
8
|
+
"url": "https://api.github.com/users/piroor",
|
9
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?"
|
10
|
+
},
|
11
|
+
"repo": {
|
12
|
+
"id": 36351771,
|
13
|
+
"name": "piroor/sharetary",
|
14
|
+
"url": "https://api.github.com/repos/piroor/sharetary"
|
15
|
+
},
|
16
|
+
"payload": {
|
17
|
+
"ref": "test",
|
18
|
+
"ref_type": "branch",
|
19
|
+
"master_branch": "master",
|
20
|
+
"description": "Archives any topic about a technical conference and provides a cross-origin timeline view in real time.",
|
21
|
+
"pusher_type": "user"
|
22
|
+
},
|
23
|
+
"public": true,
|
24
|
+
"created_at": "2015-05-27T07:57:14Z"
|
25
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
{
|
2
|
+
"id": "2823071775",
|
3
|
+
"type": "CommitCommentEvent",
|
4
|
+
"actor": {
|
5
|
+
"id": 70062,
|
6
|
+
"login": "piroor",
|
7
|
+
"gravatar_id": "",
|
8
|
+
"url": "https://api.github.com/users/piroor",
|
9
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?"
|
10
|
+
},
|
11
|
+
"repo": {
|
12
|
+
"id": 35922279,
|
13
|
+
"name": "clear-code/fluent-plugin-github-activities",
|
14
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities"
|
15
|
+
},
|
16
|
+
"payload": {
|
17
|
+
"comment": {
|
18
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/comments/11299069",
|
19
|
+
"html_url": "https://github.com/clear-code/fluent-plugin-github-activities/commit/83fa1eae306105a5d8b1d31bf54017a456d7416a#commitcomment-11299069",
|
20
|
+
"id": 11299069,
|
21
|
+
"user": {
|
22
|
+
"login": "piroor",
|
23
|
+
"id": 70062,
|
24
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?v=3",
|
25
|
+
"gravatar_id": "",
|
26
|
+
"url": "https://api.github.com/users/piroor",
|
27
|
+
"html_url": "https://github.com/piroor",
|
28
|
+
"followers_url": "https://api.github.com/users/piroor/followers",
|
29
|
+
"following_url": "https://api.github.com/users/piroor/following{/other_user}",
|
30
|
+
"gists_url": "https://api.github.com/users/piroor/gists{/gist_id}",
|
31
|
+
"starred_url": "https://api.github.com/users/piroor/starred{/owner}{/repo}",
|
32
|
+
"subscriptions_url": "https://api.github.com/users/piroor/subscriptions",
|
33
|
+
"organizations_url": "https://api.github.com/users/piroor/orgs",
|
34
|
+
"repos_url": "https://api.github.com/users/piroor/repos",
|
35
|
+
"events_url": "https://api.github.com/users/piroor/events{/privacy}",
|
36
|
+
"received_events_url": "https://api.github.com/users/piroor/received_events",
|
37
|
+
"type": "User",
|
38
|
+
"site_admin": false
|
39
|
+
},
|
40
|
+
"position": null,
|
41
|
+
"line": null,
|
42
|
+
"path": "",
|
43
|
+
"commit_id": "83fa1eae306105a5d8b1d31bf54017a456d7416a",
|
44
|
+
"created_at": "2015-05-21T05:57:14Z",
|
45
|
+
"updated_at": "2015-05-21T05:57:14Z",
|
46
|
+
"body": "test comment"
|
47
|
+
}
|
48
|
+
},
|
49
|
+
"public": true,
|
50
|
+
"created_at": "2015-05-21T05:57:14Z",
|
51
|
+
"org": {
|
52
|
+
"id": 176515,
|
53
|
+
"login": "clear-code",
|
54
|
+
"gravatar_id": "",
|
55
|
+
"url": "https://api.github.com/orgs/clear-code",
|
56
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/176515?"
|
57
|
+
}
|
58
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
{
|
2
|
+
"sha": "8e90721ff5d89f52b5b3adf0b86db01f03dc5588",
|
3
|
+
"commit": {
|
4
|
+
"author": {
|
5
|
+
"name": "YUKI Hiroshi",
|
6
|
+
"email": "shimoda@clear-code.com",
|
7
|
+
"date": "2015-05-21T05:14:56Z"
|
8
|
+
},
|
9
|
+
"committer": {
|
10
|
+
"name": "YUKI Hiroshi",
|
11
|
+
"email": "shimoda@clear-code.com",
|
12
|
+
"date": "2015-05-21T05:14:56Z"
|
13
|
+
},
|
14
|
+
"message": "Add missing constant",
|
15
|
+
"tree": {
|
16
|
+
"sha": "ee67d534dd9d4baba9438f046220d7ea70bf9b0f",
|
17
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/git/trees/ee67d534dd9d4baba9438f046220d7ea70bf9b0f"
|
18
|
+
},
|
19
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/git/commits/8e90721ff5d89f52b5b3adf0b86db01f03dc5588",
|
20
|
+
"comment_count": 0
|
21
|
+
},
|
22
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/commits/8e90721ff5d89f52b5b3adf0b86db01f03dc5588",
|
23
|
+
"html_url": "https://github.com/clear-code/fluent-plugin-github-activities/commit/8e90721ff5d89f52b5b3adf0b86db01f03dc5588",
|
24
|
+
"comments_url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/commits/8e90721ff5d89f52b5b3adf0b86db01f03dc5588/comments",
|
25
|
+
"author": {
|
26
|
+
"login": "piroor",
|
27
|
+
"id": 70062,
|
28
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?v=3",
|
29
|
+
"gravatar_id": "",
|
30
|
+
"url": "https://api.github.com/users/piroor",
|
31
|
+
"html_url": "https://github.com/piroor",
|
32
|
+
"followers_url": "https://api.github.com/users/piroor/followers",
|
33
|
+
"following_url": "https://api.github.com/users/piroor/following{/other_user}",
|
34
|
+
"gists_url": "https://api.github.com/users/piroor/gists{/gist_id}",
|
35
|
+
"starred_url": "https://api.github.com/users/piroor/starred{/owner}{/repo}",
|
36
|
+
"subscriptions_url": "https://api.github.com/users/piroor/subscriptions",
|
37
|
+
"organizations_url": "https://api.github.com/users/piroor/orgs",
|
38
|
+
"repos_url": "https://api.github.com/users/piroor/repos",
|
39
|
+
"events_url": "https://api.github.com/users/piroor/events{/privacy}",
|
40
|
+
"received_events_url": "https://api.github.com/users/piroor/received_events",
|
41
|
+
"type": "User",
|
42
|
+
"site_admin": false
|
43
|
+
},
|
44
|
+
"committer": {
|
45
|
+
"login": "piroor",
|
46
|
+
"id": 70062,
|
47
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?v=3",
|
48
|
+
"gravatar_id": "",
|
49
|
+
"url": "https://api.github.com/users/piroor",
|
50
|
+
"html_url": "https://github.com/piroor",
|
51
|
+
"followers_url": "https://api.github.com/users/piroor/followers",
|
52
|
+
"following_url": "https://api.github.com/users/piroor/following{/other_user}",
|
53
|
+
"gists_url": "https://api.github.com/users/piroor/gists{/gist_id}",
|
54
|
+
"starred_url": "https://api.github.com/users/piroor/starred{/owner}{/repo}",
|
55
|
+
"subscriptions_url": "https://api.github.com/users/piroor/subscriptions",
|
56
|
+
"organizations_url": "https://api.github.com/users/piroor/orgs",
|
57
|
+
"repos_url": "https://api.github.com/users/piroor/repos",
|
58
|
+
"events_url": "https://api.github.com/users/piroor/events{/privacy}",
|
59
|
+
"received_events_url": "https://api.github.com/users/piroor/received_events",
|
60
|
+
"type": "User",
|
61
|
+
"site_admin": false
|
62
|
+
},
|
63
|
+
"parents": [
|
64
|
+
{
|
65
|
+
"sha": "e77acc068b5568f8ea55605db2e3a9005805c898",
|
66
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/commits/e77acc068b5568f8ea55605db2e3a9005805c898",
|
67
|
+
"html_url": "https://github.com/clear-code/fluent-plugin-github-activities/commit/e77acc068b5568f8ea55605db2e3a9005805c898"
|
68
|
+
}
|
69
|
+
],
|
70
|
+
"stats": {
|
71
|
+
"total": 2,
|
72
|
+
"additions": 2,
|
73
|
+
"deletions": 0
|
74
|
+
},
|
75
|
+
"files": [
|
76
|
+
{
|
77
|
+
"sha": "cf54be996c731d5a8223934eecaac9d7cba2687e",
|
78
|
+
"filename": "lib/fluent/plugin/github-activities.rb",
|
79
|
+
"status": "modified",
|
80
|
+
"additions": 2,
|
81
|
+
"deletions": 0,
|
82
|
+
"changes": 2,
|
83
|
+
"blob_url": "https://github.com/clear-code/fluent-plugin-github-activities/blob/8e90721ff5d89f52b5b3adf0b86db01f03dc5588/lib/fluent/plugin/github-activities.rb",
|
84
|
+
"raw_url": "https://github.com/clear-code/fluent-plugin-github-activities/raw/8e90721ff5d89f52b5b3adf0b86db01f03dc5588/lib/fluent/plugin/github-activities.rb",
|
85
|
+
"contents_url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities/contents/lib/fluent/plugin/github-activities.rb?ref=8e90721ff5d89f52b5b3adf0b86db01f03dc5588",
|
86
|
+
"patch": "@@ -21,6 +21,8 @@\n \n module Fluent\n module GithubActivities\n+ BASE_TAG = \"github-activity\"\n+\n TYPE_EVENTS = :events\n TYPE_COMMIT = :commit\n end"
|
87
|
+
}
|
88
|
+
]
|
89
|
+
}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
{
|
2
|
+
"id": "2823098048",
|
3
|
+
"type": "ForkEvent",
|
4
|
+
"actor": {
|
5
|
+
"id": 70062,
|
6
|
+
"login": "piroor",
|
7
|
+
"gravatar_id": "",
|
8
|
+
"url": "https://api.github.com/users/piroor",
|
9
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?"
|
10
|
+
},
|
11
|
+
"repo": {
|
12
|
+
"id": 35922279,
|
13
|
+
"name": "clear-code/fluent-plugin-github-activities",
|
14
|
+
"url": "https://api.github.com/repos/clear-code/fluent-plugin-github-activities"
|
15
|
+
},
|
16
|
+
"payload": {
|
17
|
+
"forkee": {
|
18
|
+
"id": 35994648,
|
19
|
+
"name": "fluent-plugin-github-activities",
|
20
|
+
"full_name": "piroor/fluent-plugin-github-activities",
|
21
|
+
"owner": {
|
22
|
+
"login": "piroor",
|
23
|
+
"id": 70062,
|
24
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/70062?v=3",
|
25
|
+
"gravatar_id": "",
|
26
|
+
"url": "https://api.github.com/users/piroor",
|
27
|
+
"html_url": "https://github.com/piroor",
|
28
|
+
"followers_url": "https://api.github.com/users/piroor/followers",
|
29
|
+
"following_url": "https://api.github.com/users/piroor/following{/other_user}",
|
30
|
+
"gists_url": "https://api.github.com/users/piroor/gists{/gist_id}",
|
31
|
+
"starred_url": "https://api.github.com/users/piroor/starred{/owner}{/repo}",
|
32
|
+
"subscriptions_url": "https://api.github.com/users/piroor/subscriptions",
|
33
|
+
"organizations_url": "https://api.github.com/users/piroor/orgs",
|
34
|
+
"repos_url": "https://api.github.com/users/piroor/repos",
|
35
|
+
"events_url": "https://api.github.com/users/piroor/events{/privacy}",
|
36
|
+
"received_events_url": "https://api.github.com/users/piroor/received_events",
|
37
|
+
"type": "User",
|
38
|
+
"site_admin": false
|
39
|
+
},
|
40
|
+
"private": false,
|
41
|
+
"html_url": "https://github.com/piroor/fluent-plugin-github-activities",
|
42
|
+
"description": "Provides ability to watch activities on GitHub",
|
43
|
+
"fork": true,
|
44
|
+
"url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities",
|
45
|
+
"forks_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/forks",
|
46
|
+
"keys_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/keys{/key_id}",
|
47
|
+
"collaborators_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/collaborators{/collaborator}",
|
48
|
+
"teams_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/teams",
|
49
|
+
"hooks_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/hooks",
|
50
|
+
"issue_events_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/issues/events{/number}",
|
51
|
+
"events_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/events",
|
52
|
+
"assignees_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/assignees{/user}",
|
53
|
+
"branches_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/branches{/branch}",
|
54
|
+
"tags_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/tags",
|
55
|
+
"blobs_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/git/blobs{/sha}",
|
56
|
+
"git_tags_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/git/tags{/sha}",
|
57
|
+
"git_refs_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/git/refs{/sha}",
|
58
|
+
"trees_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/git/trees{/sha}",
|
59
|
+
"statuses_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/statuses/{sha}",
|
60
|
+
"languages_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/languages",
|
61
|
+
"stargazers_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/stargazers",
|
62
|
+
"contributors_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/contributors",
|
63
|
+
"subscribers_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/subscribers",
|
64
|
+
"subscription_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/subscription",
|
65
|
+
"commits_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/commits{/sha}",
|
66
|
+
"git_commits_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/git/commits{/sha}",
|
67
|
+
"comments_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/comments{/number}",
|
68
|
+
"issue_comment_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/issues/comments{/number}",
|
69
|
+
"contents_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/contents/{+path}",
|
70
|
+
"compare_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/compare/{base}...{head}",
|
71
|
+
"merges_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/merges",
|
72
|
+
"archive_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/{archive_format}{/ref}",
|
73
|
+
"downloads_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/downloads",
|
74
|
+
"issues_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/issues{/number}",
|
75
|
+
"pulls_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/pulls{/number}",
|
76
|
+
"milestones_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/milestones{/number}",
|
77
|
+
"notifications_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/notifications{?since,all,participating}",
|
78
|
+
"labels_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/labels{/name}",
|
79
|
+
"releases_url": "https://api.github.com/repos/piroor/fluent-plugin-github-activities/releases{/id}",
|
80
|
+
"created_at": "2015-05-21T06:13:39Z",
|
81
|
+
"updated_at": "2015-05-20T07:30:00Z",
|
82
|
+
"pushed_at": "2015-05-21T06:09:12Z",
|
83
|
+
"git_url": "git://github.com/piroor/fluent-plugin-github-activities.git",
|
84
|
+
"ssh_url": "git@github.com:piroor/fluent-plugin-github-activities.git",
|
85
|
+
"clone_url": "https://github.com/piroor/fluent-plugin-github-activities.git",
|
86
|
+
"svn_url": "https://github.com/piroor/fluent-plugin-github-activities",
|
87
|
+
"homepage": null,
|
88
|
+
"size": 0,
|
89
|
+
"stargazers_count": 0,
|
90
|
+
"watchers_count": 0,
|
91
|
+
"language": null,
|
92
|
+
"has_issues": false,
|
93
|
+
"has_downloads": true,
|
94
|
+
"has_wiki": true,
|
95
|
+
"has_pages": false,
|
96
|
+
"forks_count": 0,
|
97
|
+
"mirror_url": null,
|
98
|
+
"open_issues_count": 0,
|
99
|
+
"forks": 0,
|
100
|
+
"open_issues": 0,
|
101
|
+
"watchers": 0,
|
102
|
+
"default_branch": "master",
|
103
|
+
"public": true
|
104
|
+
}
|
105
|
+
},
|
106
|
+
"public": true,
|
107
|
+
"created_at": "2015-05-21T06:13:39Z",
|
108
|
+
"org": {
|
109
|
+
"id": 176515,
|
110
|
+
"login": "clear-code",
|
111
|
+
"gravatar_id": "",
|
112
|
+
"url": "https://api.github.com/orgs/clear-code",
|
113
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/176515?"
|
114
|
+
}
|
115
|
+
}
|