octogate 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 15b8090fd5c63bfa0b9bd0081ef5ad4a150e5bb9
4
- data.tar.gz: a02a4fa8593bcd65e2c84093d5a00430022d1073
3
+ metadata.gz: a893f768570f7934db01a2314d6467c7cd3f930a
4
+ data.tar.gz: d9861197a5ceac6cb8b3916ce5d69ace77d80e18
5
5
  SHA512:
6
- metadata.gz: 3d1e22e616812d3131a8ea87ca407d64de8e05daf4eb70ddadaae046c6093aaad03dedcc268651f80c70e524a6deb4047fe9bbb7ed1173f85936708ebb59e3a0
7
- data.tar.gz: 4bef5e6bfb202e5893acfc4480dedc9fe94bc8e6db9b43863c7ab375fedf5bd4a304c63f26b97652224d45a3f9200774bfb64e2be6c9adc27155556bfe847909
6
+ metadata.gz: 4f991d9e3c4f8fc28662af108b296a5c3fdd3b3f45b79fd010ede2aa65f66879f2c401998ce1e331b5358618e6a4fc851e0cbfa533c9f833610da5d15e914316
7
+ data.tar.gz: e40e81224d97c31f4410888b5b2d6511a9af023736c51d2e776670e13b6fd63580be3e6d0746a3964847e17124718574dd971de4368b2a46a96d73aea2bccecb
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
  [![Gem Version](https://badge.fury.io/rb/octogate.png)](http://badge.fury.io/rb/octogate)
3
3
  [![Build Status](https://travis-ci.org/joker1007/octogate.png?branch=master)](https://travis-ci.org/joker1007/octogate)
4
4
  [![Code Climate](https://codeclimate.com/github/joker1007/octogate.png)](https://codeclimate.com/github/joker1007/octogate)
5
+ [![Coverage Status](https://coveralls.io/repos/joker1007/octogate/badge.png)](https://coveralls.io/r/joker1007/octogate)
5
6
 
6
7
  Github hook proxy server of Sinatra Framework.
7
8
 
@@ -25,6 +26,14 @@ Or install it yourself as:
25
26
 
26
27
  - Ruby-2.0.0 or later
27
28
 
29
+ ## Event Capability
30
+
31
+ - Push Event
32
+ - PullRequest Event
33
+ - PullRequest Review Comment Event
34
+ - Issues Event
35
+ - Issue Comment Event
36
+
28
37
  ## Usage
29
38
 
30
39
  Write config.rb.
@@ -33,7 +42,7 @@ Write config.rb.
33
42
  token "token_string"
34
43
 
35
44
  target "jenkins" do
36
- hook_type [:push, :pull_request]
45
+ hook_type [:push]
37
46
  url "http://targethost.dev/job/JobName"
38
47
  http_method :post
39
48
 
@@ -44,6 +53,8 @@ target "jenkins" do
44
53
  event.ref =~ /master/
45
54
  }
46
55
  end
56
+ # if event type is push and event.ref contains "master",
57
+ # octogate requests "http://targethost.dev/job/JobName" via POST method, request body is {key1: "value1, key2: "value2"} params
47
58
 
48
59
  target "json_params" do
49
60
  hook_type [:push, :pull_request]
@@ -54,9 +65,17 @@ target "json_params" do
54
65
  params key1: "value1", key2: "value2"
55
66
 
56
67
  match ->(event) {
57
- event.ref =~ /json_params/
68
+ case event
69
+ when Octogate::Event::PullRequest
70
+ event.try(:pull_request).try(:head).try(:ref) =~ /json_params/
71
+ when Octogate::Event::Push
72
+ event.ref =~ /json_params/
73
+ end
58
74
  }
59
75
  end
76
+ # if event type is push or pull_request, and ref name contains "json_params",
77
+ # octogate requests "http://targethost.dev/job/JobName" via POST method, body is {key1: "value1, key2: "value2"} as JSON FORMAT
78
+
60
79
  ```
61
80
 
62
81
  More sample is [hear](https://github.com/joker1007/octogate/blob/master/spec/config_sample.rb)
@@ -74,10 +93,87 @@ Usage: octogate [options]
74
93
  # => Endpoint is http://hostname:4567/token_string
75
94
  ```
76
95
 
77
- ## Event Capability
96
+ ## Config DSL Reference
78
97
 
79
- - Push Event
80
- - PullRequest Event
98
+ ### Global definitions
99
+ | name | arg | description |
100
+ | ------- | -------- | ------------ |
101
+ | token | String | set token used as endpoint url. |
102
+ | ssl_verify | Boolean | if set false, make disable SSL verification. (if target uses self-signed certificate) |
103
+ | target | String and Block | String is target name. Block is target definition block. |
104
+
105
+ ### Target definitions
106
+ | name | arg | description |
107
+ | ---------------- | ----------------- | ---------------------------------------------------------------------------------------------------- |
108
+ | hook_type | Array (value is event type) | set hook event (default = [:push]) |
109
+ | url | String | set destination URL |
110
+ | http_method | Symbol | set HTTP method when octogate request target. |
111
+ | parameter_type | :query or :json | :query = use form parameter or get query parameter, :json = serialize payload by json format (default = :query) |
112
+ | params | Hash or Proc | set payload parameters. if pass Proc instance, call with event instance and use result |
113
+ | match | Boolean or Proc | if this value is set, then transfer process is executed only when the evaluation result is truthy. |
114
+ | username | String | set Basic Auth username |
115
+ | password | String | set Basic Auth password |
116
+
117
+ ### Event type
118
+ | name | class name |
119
+ | ------- | ------------------ |
120
+ | :push | Octogate::Event::Push |
121
+ | :pull_request | Octogate::Event::PullRequest |
122
+ | :pull_request_review_comment | Octogate::Event::PullRequestReviewComment |
123
+ | :issues | Octogate::Event::Issue |
124
+ | :issue_comment | Octogate::Event::IssueComment |
125
+
126
+ Event instance is Mash subclass. it has same data with the payload sent by GitHub Hook.
127
+
128
+ ref. [Event Types | GitHub API](https://developer.github.com/v3/activity/events/types/#pushevent "Event Types | GitHub API")
129
+
130
+ ## Hosting on Heroku
131
+
132
+ Create directory and bundle init.
133
+
134
+ ```sh
135
+ % mkdir your-app-dir
136
+ % cd your-app-dir
137
+ % bundle init
138
+ ```
139
+
140
+ Write `Gemfile` and `bundle install`.
141
+
142
+ ```ruby
143
+ gem "octogate"
144
+ gem "thin"
145
+ ```
146
+
147
+ ```sh
148
+ bundle install --path .bundle
149
+ ```
150
+
151
+ Write `Procfile`
152
+
153
+ ```
154
+ web: bundle exec octogate -c ./config.rb -p $PORT
155
+ ```
156
+
157
+ Write config at `./config.rb`
158
+
159
+ ```sh
160
+ % vim config.rb
161
+ ```
162
+
163
+ Create git repository.
164
+
165
+ ```sh
166
+ % git init .
167
+ % echo ".bundle" > .gitignore
168
+ % git commit -am "init"
169
+ ```
170
+
171
+ Create Heroku app and push it.
172
+
173
+ ```sh
174
+ % heroku create your-app-name
175
+ % git push heroku master
176
+ ```
81
177
 
82
178
  ## Contributing
83
179
 
@@ -18,23 +18,24 @@ class Octogate::Client
18
18
  end
19
19
  end
20
20
 
21
- def request(t)
22
- uri = URI(t.url)
21
+ def request(target)
22
+ uri = URI(target.url)
23
23
 
24
- options = {url: t.url}
24
+ options = {url: target.url}
25
25
  options.merge!(ssl_options) if uri.scheme == "https"
26
26
 
27
- conn = build_connection(options, t.username, t.password)
27
+ conn = build_connection(options, target.username, target.password)
28
28
 
29
- params = t.params.respond_to?(:call) ? t.params.call(event) : t.params
29
+ params = target.params.is_a?(Proc) ?
30
+ target.instance_exec(event, &target.params) : target.params
30
31
 
31
- case t.http_method
32
+ case target.http_method
32
33
  when :get
33
34
  Octogate::TransferRequest::GET.new(conn)
34
35
  .do_request(url: uri.path, params: params)
35
36
  when :post
36
37
  Octogate::TransferRequest::POST.new(conn)
37
- .do_request(url: uri.path, params: params, parameter_type: t.parameter_type)
38
+ .do_request(url: uri.path, params: params, parameter_type: target.parameter_type)
38
39
  end
39
40
  end
40
41
 
@@ -44,7 +45,7 @@ class Octogate::Client
44
45
  condition = event.default_condition && target.include_event?(event)
45
46
  case target.match
46
47
  when Proc
47
- condition && instance_exec(event, &target.match)
48
+ condition && target.instance_exec(event, &target.match)
48
49
  when nil
49
50
  condition
50
51
  else
@@ -20,3 +20,6 @@ end
20
20
 
21
21
  require "octogate/events/push"
22
22
  require "octogate/events/pull_request"
23
+ require "octogate/events/issue"
24
+ require "octogate/events/issue_comment"
25
+ require "octogate/events/pull_request_review_comment"
@@ -0,0 +1,20 @@
1
+ require "octogate/events/base"
2
+ require "octogate/gh"
3
+
4
+ module Octogate
5
+ class Event::Issue < Event::Base
6
+ register_event :issues, self
7
+
8
+ coerce_key :issue, GH::Issue
9
+ coerce_key :repository, GH::Repository
10
+ coerce_key :sender, GH::User
11
+
12
+ class << self
13
+ def parse(json)
14
+ payload = Oj.load(json).deep_symbolize_keys
15
+
16
+ new(payload)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ require "octogate/events/base"
2
+ require "octogate/gh"
3
+
4
+ module Octogate
5
+ class Event::IssueComment < Event::Base
6
+ register_event :issue_comment, self
7
+
8
+ coerce_key :issue, GH::Issue
9
+ coerce_key :comment, GH::IssueComment
10
+ coerce_key :repository, GH::Repository
11
+ coerce_key :sender, GH::User
12
+
13
+ class << self
14
+ def parse(json)
15
+ payload = Oj.load(json).deep_symbolize_keys
16
+
17
+ new(payload)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ require "octogate/events/base"
2
+ require "octogate/gh"
3
+
4
+ module Octogate
5
+ class Event::PullRequestReviewComment < Event::Base
6
+ register_event :pull_request_review_comment, self
7
+
8
+ coerce_key :comment, GH::ReviewComment
9
+ coerce_key :repository, GH::Repository
10
+ coerce_key :sender, GH::User
11
+
12
+ class << self
13
+ def parse(json)
14
+ payload = Oj.load(json).deep_symbolize_keys
15
+
16
+ new(payload)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,8 +1,12 @@
1
1
  module Octogate
2
2
  module GH
3
- autoload :Commit , "octogate/gh/commit"
4
- autoload :Repository , "octogate/gh/repository"
5
- autoload :User , "octogate/gh/user"
6
- autoload :PullRequest , "octogate/gh/pull_request"
3
+ autoload :Commit , "octogate/gh/commit"
4
+ autoload :Repository , "octogate/gh/repository"
5
+ autoload :User , "octogate/gh/user"
6
+ autoload :PullRequest , "octogate/gh/pull_request"
7
+ autoload :Issue , "octogate/gh/issue"
8
+ autoload :Label , "octogate/gh/label"
9
+ autoload :IssueComment , "octogate/gh/issue_comment"
10
+ autoload :ReviewComment, "octogate/gh/review_comment"
7
11
  end
8
12
  end
@@ -0,0 +1,15 @@
1
+ require "octogate/gh/user"
2
+
3
+ module Octogate
4
+ class GH::Issue < Model
5
+ coerce_key :user, GH::User
6
+ coerce_key :assignee, GH::User
7
+
8
+ def initialize(*args)
9
+ super
10
+ self.labels = labels.nil? ? [] : labels.map do |l|
11
+ GH::Label.new(l)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ require "octogate/gh/user"
2
+
3
+ module Octogate
4
+ class GH::IssueComment < Model
5
+ coerce_key :user, GH::User
6
+ end
7
+ end
@@ -0,0 +1,4 @@
1
+ module Octogate
2
+ class GH::Label < Model
3
+ end
4
+ end
@@ -0,0 +1,7 @@
1
+ require "octogate/gh/user"
2
+
3
+ module Octogate
4
+ class GH::ReviewComment < Model
5
+ coerce_key :user, GH::User
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module Octogate
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -31,4 +31,5 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "awesome_print"
32
32
  spec.add_development_dependency "webmock"
33
33
  spec.add_development_dependency "thin"
34
+ spec.add_development_dependency "coveralls"
34
35
  end
@@ -39,7 +39,7 @@ target "block params" do
39
39
  http_method :post
40
40
 
41
41
  parameter_type :query
42
- params ->(event) { {ref: event.ref, head_commit_id: event.head_commit.id} }
42
+ params ->(event) { {ref: event.ref, head_commit_id: event.head_commit.id, method: http_method} }
43
43
 
44
44
  match ->(event) {
45
45
  event.ref =~ /block_parameters/
@@ -0,0 +1,204 @@
1
+ {
2
+ "action": "created",
3
+ "issue": {
4
+ "url": "https://api.github.com/repos/joker1007/octogate/issues/4",
5
+ "labels_url": "https://api.github.com/repos/joker1007/octogate/issues/4/labels{/name}",
6
+ "comments_url": "https://api.github.com/repos/joker1007/octogate/issues/4/comments",
7
+ "events_url": "https://api.github.com/repos/joker1007/octogate/issues/4/events",
8
+ "html_url": "https://github.com/joker1007/octogate/issues/4",
9
+ "id": 28599636,
10
+ "number": 4,
11
+ "title": "対応するイベントを増やす",
12
+ "user": {
13
+ "login": "joker1007",
14
+ "id": 116996,
15
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
16
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
17
+ "url": "https://api.github.com/users/joker1007",
18
+ "html_url": "https://github.com/joker1007",
19
+ "followers_url": "https://api.github.com/users/joker1007/followers",
20
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
21
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
22
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
23
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
24
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
25
+ "repos_url": "https://api.github.com/users/joker1007/repos",
26
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
27
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
28
+ "type": "User",
29
+ "site_admin": false
30
+ },
31
+ "labels": [
32
+ {
33
+ "url": "https://api.github.com/repos/joker1007/octogate/labels/in+progress",
34
+ "name": "in progress",
35
+ "color": "ededed"
36
+ }
37
+ ],
38
+ "state": "open",
39
+ "assignee": {
40
+ "login": "joker1007",
41
+ "id": 116996,
42
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
43
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
44
+ "url": "https://api.github.com/users/joker1007",
45
+ "html_url": "https://github.com/joker1007",
46
+ "followers_url": "https://api.github.com/users/joker1007/followers",
47
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
48
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
49
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
50
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
51
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
52
+ "repos_url": "https://api.github.com/users/joker1007/repos",
53
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
54
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
55
+ "type": "User",
56
+ "site_admin": false
57
+ },
58
+ "milestone": null,
59
+ "comments": 1,
60
+ "created_at": "2014-03-03T05:19:53Z",
61
+ "updated_at": "2014-03-03T14:59:03Z",
62
+ "closed_at": null,
63
+ "pull_request": {
64
+ "html_url": null,
65
+ "diff_url": null,
66
+ "patch_url": null
67
+ },
68
+ "body": null
69
+ },
70
+ "comment": {
71
+ "url": "https://api.github.com/repos/joker1007/octogate/issues/comments/36517379",
72
+ "html_url": "https://github.com/joker1007/octogate/issues/4#issuecomment-36517379",
73
+ "issue_url": "https://api.github.com/repos/joker1007/octogate/issues/4",
74
+ "id": 36517379,
75
+ "user": {
76
+ "login": "joker1007",
77
+ "id": 116996,
78
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
79
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
80
+ "url": "https://api.github.com/users/joker1007",
81
+ "html_url": "https://github.com/joker1007",
82
+ "followers_url": "https://api.github.com/users/joker1007/followers",
83
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
84
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
85
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
86
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
87
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
88
+ "repos_url": "https://api.github.com/users/joker1007/repos",
89
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
90
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
91
+ "type": "User",
92
+ "site_admin": false
93
+ },
94
+ "created_at": "2014-03-03T14:59:03Z",
95
+ "updated_at": "2014-03-03T14:59:03Z",
96
+ "body": "IssueとIssue Commentを追加する。"
97
+ },
98
+ "repository": {
99
+ "id": 17311500,
100
+ "name": "octogate",
101
+ "full_name": "joker1007/octogate",
102
+ "owner": {
103
+ "login": "joker1007",
104
+ "id": 116996,
105
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
106
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
107
+ "url": "https://api.github.com/users/joker1007",
108
+ "html_url": "https://github.com/joker1007",
109
+ "followers_url": "https://api.github.com/users/joker1007/followers",
110
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
111
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
112
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
113
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
114
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
115
+ "repos_url": "https://api.github.com/users/joker1007/repos",
116
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
117
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
118
+ "type": "User",
119
+ "site_admin": false
120
+ },
121
+ "private": false,
122
+ "html_url": "https://github.com/joker1007/octogate",
123
+ "description": "Github hook proxy server",
124
+ "fork": false,
125
+ "url": "https://api.github.com/repos/joker1007/octogate",
126
+ "forks_url": "https://api.github.com/repos/joker1007/octogate/forks",
127
+ "keys_url": "https://api.github.com/repos/joker1007/octogate/keys{/key_id}",
128
+ "collaborators_url": "https://api.github.com/repos/joker1007/octogate/collaborators{/collaborator}",
129
+ "teams_url": "https://api.github.com/repos/joker1007/octogate/teams",
130
+ "hooks_url": "https://api.github.com/repos/joker1007/octogate/hooks",
131
+ "issue_events_url": "https://api.github.com/repos/joker1007/octogate/issues/events{/number}",
132
+ "events_url": "https://api.github.com/repos/joker1007/octogate/events",
133
+ "assignees_url": "https://api.github.com/repos/joker1007/octogate/assignees{/user}",
134
+ "branches_url": "https://api.github.com/repos/joker1007/octogate/branches{/branch}",
135
+ "tags_url": "https://api.github.com/repos/joker1007/octogate/tags",
136
+ "blobs_url": "https://api.github.com/repos/joker1007/octogate/git/blobs{/sha}",
137
+ "git_tags_url": "https://api.github.com/repos/joker1007/octogate/git/tags{/sha}",
138
+ "git_refs_url": "https://api.github.com/repos/joker1007/octogate/git/refs{/sha}",
139
+ "trees_url": "https://api.github.com/repos/joker1007/octogate/git/trees{/sha}",
140
+ "statuses_url": "https://api.github.com/repos/joker1007/octogate/statuses/{sha}",
141
+ "languages_url": "https://api.github.com/repos/joker1007/octogate/languages",
142
+ "stargazers_url": "https://api.github.com/repos/joker1007/octogate/stargazers",
143
+ "contributors_url": "https://api.github.com/repos/joker1007/octogate/contributors",
144
+ "subscribers_url": "https://api.github.com/repos/joker1007/octogate/subscribers",
145
+ "subscription_url": "https://api.github.com/repos/joker1007/octogate/subscription",
146
+ "commits_url": "https://api.github.com/repos/joker1007/octogate/commits{/sha}",
147
+ "git_commits_url": "https://api.github.com/repos/joker1007/octogate/git/commits{/sha}",
148
+ "comments_url": "https://api.github.com/repos/joker1007/octogate/comments{/number}",
149
+ "issue_comment_url": "https://api.github.com/repos/joker1007/octogate/issues/comments/{number}",
150
+ "contents_url": "https://api.github.com/repos/joker1007/octogate/contents/{+path}",
151
+ "compare_url": "https://api.github.com/repos/joker1007/octogate/compare/{base}...{head}",
152
+ "merges_url": "https://api.github.com/repos/joker1007/octogate/merges",
153
+ "archive_url": "https://api.github.com/repos/joker1007/octogate/{archive_format}{/ref}",
154
+ "downloads_url": "https://api.github.com/repos/joker1007/octogate/downloads",
155
+ "issues_url": "https://api.github.com/repos/joker1007/octogate/issues{/number}",
156
+ "pulls_url": "https://api.github.com/repos/joker1007/octogate/pulls{/number}",
157
+ "milestones_url": "https://api.github.com/repos/joker1007/octogate/milestones{/number}",
158
+ "notifications_url": "https://api.github.com/repos/joker1007/octogate/notifications{?since,all,participating}",
159
+ "labels_url": "https://api.github.com/repos/joker1007/octogate/labels{/name}",
160
+ "releases_url": "https://api.github.com/repos/joker1007/octogate/releases{/id}",
161
+ "created_at": "2014-03-01T09:02:12Z",
162
+ "updated_at": "2014-03-03T14:47:44Z",
163
+ "pushed_at": "2014-03-03T14:47:44Z",
164
+ "git_url": "git://github.com/joker1007/octogate.git",
165
+ "ssh_url": "git@github.com:joker1007/octogate.git",
166
+ "clone_url": "https://github.com/joker1007/octogate.git",
167
+ "svn_url": "https://github.com/joker1007/octogate",
168
+ "homepage": "",
169
+ "size": 0,
170
+ "stargazers_count": 6,
171
+ "watchers_count": 6,
172
+ "language": "Ruby",
173
+ "has_issues": true,
174
+ "has_downloads": true,
175
+ "has_wiki": true,
176
+ "forks_count": 0,
177
+ "mirror_url": null,
178
+ "open_issues_count": 3,
179
+ "forks": 0,
180
+ "open_issues": 3,
181
+ "watchers": 6,
182
+ "default_branch": "master",
183
+ "master_branch": "master"
184
+ },
185
+ "sender": {
186
+ "login": "joker1007",
187
+ "id": 116996,
188
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
189
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
190
+ "url": "https://api.github.com/users/joker1007",
191
+ "html_url": "https://github.com/joker1007",
192
+ "followers_url": "https://api.github.com/users/joker1007/followers",
193
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
194
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
195
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
196
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
197
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
198
+ "repos_url": "https://api.github.com/users/joker1007/repos",
199
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
200
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
201
+ "type": "User",
202
+ "site_admin": false
203
+ }
204
+ }
@@ -0,0 +1,158 @@
1
+ {
2
+ "action": "opened",
3
+ "issue": {
4
+ "url": "https://api.github.com/repos/joker1007/octogate/issues/3",
5
+ "labels_url": "https://api.github.com/repos/joker1007/octogate/issues/3/labels{/name}",
6
+ "comments_url": "https://api.github.com/repos/joker1007/octogate/issues/3/comments",
7
+ "events_url": "https://api.github.com/repos/joker1007/octogate/issues/3/events",
8
+ "html_url": "https://github.com/joker1007/octogate/issues/3",
9
+ "id": 28599630,
10
+ "number": 3,
11
+ "title": "configファイルのドキュメントを整備する",
12
+ "user": {
13
+ "login": "joker1007",
14
+ "id": 116996,
15
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
16
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
17
+ "url": "https://api.github.com/users/joker1007",
18
+ "html_url": "https://github.com/joker1007",
19
+ "followers_url": "https://api.github.com/users/joker1007/followers",
20
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
21
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
22
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
23
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
24
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
25
+ "repos_url": "https://api.github.com/users/joker1007/repos",
26
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
27
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
28
+ "type": "User",
29
+ "site_admin": false
30
+ },
31
+ "labels": [
32
+ {
33
+ "url": "https://api.github.com/repos/joker1007/octogate/labels/in+progress",
34
+ "name": "in progress",
35
+ "color": "ededed"
36
+ }
37
+ ],
38
+ "state": "open",
39
+ "assignee": null,
40
+ "milestone": null,
41
+ "comments": 0,
42
+ "created_at": "2014-03-03T05:19:39Z",
43
+ "updated_at": "2014-03-03T05:19:39Z",
44
+ "closed_at": null,
45
+ "pull_request": {
46
+ "html_url": null,
47
+ "diff_url": null,
48
+ "patch_url": null
49
+ },
50
+ "body": null
51
+ },
52
+ "repository": {
53
+ "id": 17311500,
54
+ "name": "octogate",
55
+ "full_name": "joker1007/octogate",
56
+ "owner": {
57
+ "login": "joker1007",
58
+ "id": 116996,
59
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
60
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
61
+ "url": "https://api.github.com/users/joker1007",
62
+ "html_url": "https://github.com/joker1007",
63
+ "followers_url": "https://api.github.com/users/joker1007/followers",
64
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
65
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
66
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
67
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
68
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
69
+ "repos_url": "https://api.github.com/users/joker1007/repos",
70
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
71
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
72
+ "type": "User",
73
+ "site_admin": false
74
+ },
75
+ "private": false,
76
+ "html_url": "https://github.com/joker1007/octogate",
77
+ "description": "Github hook proxy server",
78
+ "fork": false,
79
+ "url": "https://api.github.com/repos/joker1007/octogate",
80
+ "forks_url": "https://api.github.com/repos/joker1007/octogate/forks",
81
+ "keys_url": "https://api.github.com/repos/joker1007/octogate/keys{/key_id}",
82
+ "collaborators_url": "https://api.github.com/repos/joker1007/octogate/collaborators{/collaborator}",
83
+ "teams_url": "https://api.github.com/repos/joker1007/octogate/teams",
84
+ "hooks_url": "https://api.github.com/repos/joker1007/octogate/hooks",
85
+ "issue_events_url": "https://api.github.com/repos/joker1007/octogate/issues/events{/number}",
86
+ "events_url": "https://api.github.com/repos/joker1007/octogate/events",
87
+ "assignees_url": "https://api.github.com/repos/joker1007/octogate/assignees{/user}",
88
+ "branches_url": "https://api.github.com/repos/joker1007/octogate/branches{/branch}",
89
+ "tags_url": "https://api.github.com/repos/joker1007/octogate/tags",
90
+ "blobs_url": "https://api.github.com/repos/joker1007/octogate/git/blobs{/sha}",
91
+ "git_tags_url": "https://api.github.com/repos/joker1007/octogate/git/tags{/sha}",
92
+ "git_refs_url": "https://api.github.com/repos/joker1007/octogate/git/refs{/sha}",
93
+ "trees_url": "https://api.github.com/repos/joker1007/octogate/git/trees{/sha}",
94
+ "statuses_url": "https://api.github.com/repos/joker1007/octogate/statuses/{sha}",
95
+ "languages_url": "https://api.github.com/repos/joker1007/octogate/languages",
96
+ "stargazers_url": "https://api.github.com/repos/joker1007/octogate/stargazers",
97
+ "contributors_url": "https://api.github.com/repos/joker1007/octogate/contributors",
98
+ "subscribers_url": "https://api.github.com/repos/joker1007/octogate/subscribers",
99
+ "subscription_url": "https://api.github.com/repos/joker1007/octogate/subscription",
100
+ "commits_url": "https://api.github.com/repos/joker1007/octogate/commits{/sha}",
101
+ "git_commits_url": "https://api.github.com/repos/joker1007/octogate/git/commits{/sha}",
102
+ "comments_url": "https://api.github.com/repos/joker1007/octogate/comments{/number}",
103
+ "issue_comment_url": "https://api.github.com/repos/joker1007/octogate/issues/comments/{number}",
104
+ "contents_url": "https://api.github.com/repos/joker1007/octogate/contents/{+path}",
105
+ "compare_url": "https://api.github.com/repos/joker1007/octogate/compare/{base}...{head}",
106
+ "merges_url": "https://api.github.com/repos/joker1007/octogate/merges",
107
+ "archive_url": "https://api.github.com/repos/joker1007/octogate/{archive_format}{/ref}",
108
+ "downloads_url": "https://api.github.com/repos/joker1007/octogate/downloads",
109
+ "issues_url": "https://api.github.com/repos/joker1007/octogate/issues{/number}",
110
+ "pulls_url": "https://api.github.com/repos/joker1007/octogate/pulls{/number}",
111
+ "milestones_url": "https://api.github.com/repos/joker1007/octogate/milestones{/number}",
112
+ "notifications_url": "https://api.github.com/repos/joker1007/octogate/notifications{?since,all,participating}",
113
+ "labels_url": "https://api.github.com/repos/joker1007/octogate/labels{/name}",
114
+ "releases_url": "https://api.github.com/repos/joker1007/octogate/releases{/id}",
115
+ "created_at": "2014-03-01T09:02:12Z",
116
+ "updated_at": "2014-03-02T16:17:22Z",
117
+ "pushed_at": "2014-03-02T16:17:22Z",
118
+ "git_url": "git://github.com/joker1007/octogate.git",
119
+ "ssh_url": "git@github.com:joker1007/octogate.git",
120
+ "clone_url": "https://github.com/joker1007/octogate.git",
121
+ "svn_url": "https://github.com/joker1007/octogate",
122
+ "homepage": "",
123
+ "size": 0,
124
+ "stargazers_count": 5,
125
+ "watchers_count": 5,
126
+ "language": "Ruby",
127
+ "has_issues": true,
128
+ "has_downloads": true,
129
+ "has_wiki": true,
130
+ "forks_count": 0,
131
+ "mirror_url": null,
132
+ "open_issues_count": 1,
133
+ "forks": 0,
134
+ "open_issues": 1,
135
+ "watchers": 5,
136
+ "default_branch": "master",
137
+ "master_branch": "master"
138
+ },
139
+ "sender": {
140
+ "login": "joker1007",
141
+ "id": 116996,
142
+ "avatar_url": "https://avatars.githubusercontent.com/u/116996",
143
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
144
+ "url": "https://api.github.com/users/joker1007",
145
+ "html_url": "https://github.com/joker1007",
146
+ "followers_url": "https://api.github.com/users/joker1007/followers",
147
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
148
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
149
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
150
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
151
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
152
+ "repos_url": "https://api.github.com/users/joker1007/repos",
153
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
154
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
155
+ "type": "User",
156
+ "site_admin": false
157
+ }
158
+ }
@@ -63,7 +63,7 @@ describe Octogate::Client do
63
63
 
64
64
  client = Octogate::Client.new(event)
65
65
  client.request(Octogate.find_target("block params"))
66
- expect(WebMock).to have_requested(:post, "http://targethost.dev/job/JobName").with(body: {ref: event.ref, head_commit_id: event.head_commit.id})
66
+ expect(WebMock).to have_requested(:post, "http://targethost.dev/job/JobName").with(body: {ref: event.ref, head_commit_id: event.head_commit.id, method: "post"})
67
67
  end
68
68
 
69
69
  it "request always to target that have no match rule" do
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Octogate::Event::IssueComment do
4
+ describe ".parse" do
5
+ subject { described_class.parse(read_payload(:issue_comment)) }
6
+ it { should be_a described_class }
7
+
8
+ it { expect(subject.action).to eq "created" }
9
+ it { expect(subject.issue).to be_a Octogate::GH::Issue }
10
+ it { expect(subject.issue.id).to eq 28599636 }
11
+ it { expect(subject.issue.labels.first).to be_a Octogate::GH::Label }
12
+ it { expect(subject.repository).to be_a Octogate::GH::Repository }
13
+ it { expect(subject.comment).to be_a Octogate::GH::IssueComment }
14
+ it { expect(subject.comment.body).to eq "IssueとIssue Commentを追加する。" }
15
+ end
16
+
17
+ describe "registered" do
18
+ subject { Octogate::Event.get(:issue_comment) }
19
+
20
+ it { should eq Octogate::Event::IssueComment }
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Octogate::Event::Issue do
4
+ describe ".parse" do
5
+ subject { described_class.parse(read_payload(:issues)) }
6
+ it { should be_a described_class }
7
+
8
+ it { expect(subject.action).to eq "opened" }
9
+ it { expect(subject.issue).to be_a Octogate::GH::Issue }
10
+ it { expect(subject.issue.id).to eq 28599630 }
11
+ it { expect(subject.issue.labels.first).to be_a Octogate::GH::Label }
12
+ it { expect(subject.repository).to be_a Octogate::GH::Repository }
13
+ end
14
+
15
+ describe "registered" do
16
+ subject { Octogate::Event.get(:issues) }
17
+
18
+ it { should eq Octogate::Event::Issue }
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Octogate::Event::PullRequestReviewComment do
4
+ describe ".parse" do
5
+ subject { described_class.parse(read_payload(:pull_request_review_comment)) }
6
+ it { should be_a described_class }
7
+
8
+ it { expect(subject.comment).to be_a Octogate::GH::ReviewComment }
9
+ it { expect(subject.comment.id).to eq 10384812 }
10
+ it { expect(subject.comment.user).to be_a Octogate::GH::User }
11
+ it { expect(subject.repository).to be_a Octogate::GH::Repository }
12
+ it { expect(subject.comment.body).to eq "review comment test" }
13
+ end
14
+
15
+ describe "registered" do
16
+ subject { Octogate::Event.get(:pull_request_review_comment) }
17
+
18
+ it { should eq Octogate::Event::PullRequestReviewComment }
19
+ end
20
+ end
@@ -11,4 +11,10 @@ describe Octogate::Event::PullRequest do
11
11
  it { expect(subject.pull_request.base).to be_a Octogate::GH::Commit }
12
12
  it { expect(subject.pull_request.head).to be_a Octogate::GH::Commit }
13
13
  end
14
+
15
+ describe "registered" do
16
+ subject { Octogate::Event.get(:pull_request) }
17
+
18
+ it { should eq Octogate::Event::PullRequest }
19
+ end
14
20
  end
@@ -11,4 +11,10 @@ describe Octogate::Event::Push do
11
11
  it { expect(subject.head_commit).to be_a Octogate::GH::Commit }
12
12
  it { expect(subject.repository).to be_a Octogate::GH::Repository }
13
13
  end
14
+
15
+ describe "registered" do
16
+ subject { Octogate::Event.get(:push) }
17
+
18
+ it { should eq Octogate::Event::Push }
19
+ end
14
20
  end
@@ -0,0 +1,153 @@
1
+ {
2
+ "comment": {
3
+ "url": "https://api.github.com/repos/joker1007/octogate/pulls/comments/10384812",
4
+ "id": 10384812,
5
+ "diff_hunk": "@@ -20,3 +20,5 @@ class NotRegisteredEvent < StandardError; end\n \n require \"octogate/events/push\"\n require \"octogate/events/pull_request\"\n+require \"octogate/events/issue\"\n+require \"octogate/events/issue_comment\"",
6
+ "path": "lib/octogate/events.rb",
7
+ "position": 5,
8
+ "original_position": 5,
9
+ "commit_id": "f0b04fad2375d5da1113904f8bac7defc3064542",
10
+ "original_commit_id": "f0b04fad2375d5da1113904f8bac7defc3064542",
11
+ "user": {
12
+ "login": "joker1007",
13
+ "id": 116996,
14
+ "avatar_url": "https://gravatar.com/avatar/a5e5ee2fb9e4ce3c728ed9e3ef6e916f?d=https%3A%2F%2Fidenticons.github.com%2F6d9143d0e2f570b60020bc92f615e688.png&r=x",
15
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
16
+ "url": "https://api.github.com/users/joker1007",
17
+ "html_url": "https://github.com/joker1007",
18
+ "followers_url": "https://api.github.com/users/joker1007/followers",
19
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
20
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
21
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
22
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
23
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
24
+ "repos_url": "https://api.github.com/users/joker1007/repos",
25
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
26
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
27
+ "type": "User",
28
+ "site_admin": false
29
+ },
30
+ "body": "review comment test",
31
+ "created_at": "2014-03-07T14:43:55Z",
32
+ "updated_at": "2014-03-07T14:43:55Z",
33
+ "html_url": "https://github.com/joker1007/octogate/pull/7#discussion_r10384812",
34
+ "pull_request_url": "https://api.github.com/repos/joker1007/octogate/pulls/7",
35
+ "_links": {
36
+ "self": {
37
+ "href": "https://api.github.com/repos/joker1007/octogate/pulls/comments/10384812"
38
+ },
39
+ "html": {
40
+ "href": "https://github.com/joker1007/octogate/pull/7#discussion_r10384812"
41
+ },
42
+ "pull_request": {
43
+ "href": "https://api.github.com/repos/joker1007/octogate/pulls/7"
44
+ }
45
+ }
46
+ },
47
+ "repository": {
48
+ "id": 17311500,
49
+ "name": "octogate",
50
+ "full_name": "joker1007/octogate",
51
+ "owner": {
52
+ "login": "joker1007",
53
+ "id": 116996,
54
+ "avatar_url": "https://gravatar.com/avatar/a5e5ee2fb9e4ce3c728ed9e3ef6e916f?d=https%3A%2F%2Fidenticons.github.com%2F6d9143d0e2f570b60020bc92f615e688.png&r=x",
55
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
56
+ "url": "https://api.github.com/users/joker1007",
57
+ "html_url": "https://github.com/joker1007",
58
+ "followers_url": "https://api.github.com/users/joker1007/followers",
59
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
60
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
61
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
62
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
63
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
64
+ "repos_url": "https://api.github.com/users/joker1007/repos",
65
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
66
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
67
+ "type": "User",
68
+ "site_admin": false
69
+ },
70
+ "private": false,
71
+ "html_url": "https://github.com/joker1007/octogate",
72
+ "description": "Github hook proxy server",
73
+ "fork": false,
74
+ "url": "https://api.github.com/repos/joker1007/octogate",
75
+ "forks_url": "https://api.github.com/repos/joker1007/octogate/forks",
76
+ "keys_url": "https://api.github.com/repos/joker1007/octogate/keys{/key_id}",
77
+ "collaborators_url": "https://api.github.com/repos/joker1007/octogate/collaborators{/collaborator}",
78
+ "teams_url": "https://api.github.com/repos/joker1007/octogate/teams",
79
+ "hooks_url": "https://api.github.com/repos/joker1007/octogate/hooks",
80
+ "issue_events_url": "https://api.github.com/repos/joker1007/octogate/issues/events{/number}",
81
+ "events_url": "https://api.github.com/repos/joker1007/octogate/events",
82
+ "assignees_url": "https://api.github.com/repos/joker1007/octogate/assignees{/user}",
83
+ "branches_url": "https://api.github.com/repos/joker1007/octogate/branches{/branch}",
84
+ "tags_url": "https://api.github.com/repos/joker1007/octogate/tags",
85
+ "blobs_url": "https://api.github.com/repos/joker1007/octogate/git/blobs{/sha}",
86
+ "git_tags_url": "https://api.github.com/repos/joker1007/octogate/git/tags{/sha}",
87
+ "git_refs_url": "https://api.github.com/repos/joker1007/octogate/git/refs{/sha}",
88
+ "trees_url": "https://api.github.com/repos/joker1007/octogate/git/trees{/sha}",
89
+ "statuses_url": "https://api.github.com/repos/joker1007/octogate/statuses/{sha}",
90
+ "languages_url": "https://api.github.com/repos/joker1007/octogate/languages",
91
+ "stargazers_url": "https://api.github.com/repos/joker1007/octogate/stargazers",
92
+ "contributors_url": "https://api.github.com/repos/joker1007/octogate/contributors",
93
+ "subscribers_url": "https://api.github.com/repos/joker1007/octogate/subscribers",
94
+ "subscription_url": "https://api.github.com/repos/joker1007/octogate/subscription",
95
+ "commits_url": "https://api.github.com/repos/joker1007/octogate/commits{/sha}",
96
+ "git_commits_url": "https://api.github.com/repos/joker1007/octogate/git/commits{/sha}",
97
+ "comments_url": "https://api.github.com/repos/joker1007/octogate/comments{/number}",
98
+ "issue_comment_url": "https://api.github.com/repos/joker1007/octogate/issues/comments/{number}",
99
+ "contents_url": "https://api.github.com/repos/joker1007/octogate/contents/{+path}",
100
+ "compare_url": "https://api.github.com/repos/joker1007/octogate/compare/{base}...{head}",
101
+ "merges_url": "https://api.github.com/repos/joker1007/octogate/merges",
102
+ "archive_url": "https://api.github.com/repos/joker1007/octogate/{archive_format}{/ref}",
103
+ "downloads_url": "https://api.github.com/repos/joker1007/octogate/downloads",
104
+ "issues_url": "https://api.github.com/repos/joker1007/octogate/issues{/number}",
105
+ "pulls_url": "https://api.github.com/repos/joker1007/octogate/pulls{/number}",
106
+ "milestones_url": "https://api.github.com/repos/joker1007/octogate/milestones{/number}",
107
+ "notifications_url": "https://api.github.com/repos/joker1007/octogate/notifications{?since,all,participating}",
108
+ "labels_url": "https://api.github.com/repos/joker1007/octogate/labels{/name}",
109
+ "releases_url": "https://api.github.com/repos/joker1007/octogate/releases{/id}",
110
+ "created_at": "2014-03-01T09:02:12Z",
111
+ "updated_at": "2014-03-03T19:24:06Z",
112
+ "pushed_at": "2014-03-03T19:24:06Z",
113
+ "git_url": "git://github.com/joker1007/octogate.git",
114
+ "ssh_url": "git@github.com:joker1007/octogate.git",
115
+ "clone_url": "https://github.com/joker1007/octogate.git",
116
+ "svn_url": "https://github.com/joker1007/octogate",
117
+ "homepage": "",
118
+ "size": 0,
119
+ "stargazers_count": 8,
120
+ "watchers_count": 8,
121
+ "language": "Ruby",
122
+ "has_issues": true,
123
+ "has_downloads": true,
124
+ "has_wiki": true,
125
+ "forks_count": 0,
126
+ "mirror_url": null,
127
+ "open_issues_count": 3,
128
+ "forks": 0,
129
+ "open_issues": 3,
130
+ "watchers": 8,
131
+ "default_branch": "master",
132
+ "master_branch": "master"
133
+ },
134
+ "sender": {
135
+ "login": "joker1007",
136
+ "id": 116996,
137
+ "avatar_url": "https://gravatar.com/avatar/a5e5ee2fb9e4ce3c728ed9e3ef6e916f?d=https%3A%2F%2Fidenticons.github.com%2F6d9143d0e2f570b60020bc92f615e688.png&r=x",
138
+ "gravatar_id": "a5e5ee2fb9e4ce3c728ed9e3ef6e916f",
139
+ "url": "https://api.github.com/users/joker1007",
140
+ "html_url": "https://github.com/joker1007",
141
+ "followers_url": "https://api.github.com/users/joker1007/followers",
142
+ "following_url": "https://api.github.com/users/joker1007/following{/other_user}",
143
+ "gists_url": "https://api.github.com/users/joker1007/gists{/gist_id}",
144
+ "starred_url": "https://api.github.com/users/joker1007/starred{/owner}{/repo}",
145
+ "subscriptions_url": "https://api.github.com/users/joker1007/subscriptions",
146
+ "organizations_url": "https://api.github.com/users/joker1007/orgs",
147
+ "repos_url": "https://api.github.com/users/joker1007/repos",
148
+ "events_url": "https://api.github.com/users/joker1007/events{/privacy}",
149
+ "received_events_url": "https://api.github.com/users/joker1007/received_events",
150
+ "type": "User",
151
+ "site_admin": false
152
+ }
153
+ }
@@ -1,4 +1,7 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'coveralls'
3
+ Coveralls.wear!
4
+
2
5
  require 'octogate'
3
6
  require 'tapp'
4
7
  require 'webmock/rspec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octogate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - joker1007
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-02 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -178,6 +178,20 @@ dependencies:
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: coveralls
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
181
195
  description: Github webhook proxy server. Request target is defined by Ruby DSL
182
196
  email:
183
197
  - kakyoin.hierophant@gmail.com
@@ -201,12 +215,19 @@ files:
201
215
  - lib/octogate/configuration.rb
202
216
  - lib/octogate/events.rb
203
217
  - lib/octogate/events/base.rb
218
+ - lib/octogate/events/issue.rb
219
+ - lib/octogate/events/issue_comment.rb
204
220
  - lib/octogate/events/pull_request.rb
221
+ - lib/octogate/events/pull_request_review_comment.rb
205
222
  - lib/octogate/events/push.rb
206
223
  - lib/octogate/gh.rb
207
224
  - lib/octogate/gh/commit.rb
225
+ - lib/octogate/gh/issue.rb
226
+ - lib/octogate/gh/issue_comment.rb
227
+ - lib/octogate/gh/label.rb
208
228
  - lib/octogate/gh/pull_request.rb
209
229
  - lib/octogate/gh/repository.rb
230
+ - lib/octogate/gh/review_comment.rb
210
231
  - lib/octogate/gh/user.rb
211
232
  - lib/octogate/model.rb
212
233
  - lib/octogate/server.rb
@@ -216,13 +237,19 @@ files:
216
237
  - lib/octogate/version.rb
217
238
  - octogate.gemspec
218
239
  - spec/config_sample.rb
240
+ - spec/issue_comment_payload.json
241
+ - spec/issues_payload.json
219
242
  - spec/lib/octogate/client_spec.rb
220
243
  - spec/lib/octogate/config_loader_spec.rb
244
+ - spec/lib/octogate/events/issue_comment_spec.rb
245
+ - spec/lib/octogate/events/issue_spec.rb
246
+ - spec/lib/octogate/events/pull_request_review_comment_spec.rb
221
247
  - spec/lib/octogate/events/pull_request_spec.rb
222
248
  - spec/lib/octogate/events/push_spec.rb
223
249
  - spec/lib/octogate/events_spec.rb
224
250
  - spec/lib/octogate/target_spec.rb
225
251
  - spec/pull_request_payload.json
252
+ - spec/pull_request_review_comment_payload.json
226
253
  - spec/push_payload.json
227
254
  - spec/spec_helper.rb
228
255
  homepage: https://github.com/joker1007/octogate
@@ -251,12 +278,18 @@ specification_version: 4
251
278
  summary: Github webhook proxy server
252
279
  test_files:
253
280
  - spec/config_sample.rb
281
+ - spec/issue_comment_payload.json
282
+ - spec/issues_payload.json
254
283
  - spec/lib/octogate/client_spec.rb
255
284
  - spec/lib/octogate/config_loader_spec.rb
285
+ - spec/lib/octogate/events/issue_comment_spec.rb
286
+ - spec/lib/octogate/events/issue_spec.rb
287
+ - spec/lib/octogate/events/pull_request_review_comment_spec.rb
256
288
  - spec/lib/octogate/events/pull_request_spec.rb
257
289
  - spec/lib/octogate/events/push_spec.rb
258
290
  - spec/lib/octogate/events_spec.rb
259
291
  - spec/lib/octogate/target_spec.rb
260
292
  - spec/pull_request_payload.json
293
+ - spec/pull_request_review_comment_payload.json
261
294
  - spec/push_payload.json
262
295
  - spec/spec_helper.rb