lita-github_pr_list 0.0.16 → 0.0.19
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 +4 -4
- data/CHANGELOG.md +21 -0
- data/lib/lita/builders/merge_request_builder.rb +19 -0
- data/lib/lita/github_pr_list/gitlab_merge_requests.rb +45 -0
- data/lib/lita/github_pr_list/version.rb +1 -1
- data/spec/fixtures/gitlab_lookup_response.json +68 -0
- data/spec/fixtures/gitlab_remotely_closed.json +22 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ac2c61fa0c996d2927dcbfb5b2da7035fbe3565
|
4
|
+
data.tar.gz: 2cfb0f5046eed5f37ab7cd9980c47d78fba60824
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1084cb4cb0b99d178ad64dfc5876a17dd80f513e8dd77e8a856dcd61f1ebd4301e3e987ff1c12280d7b2f0310c86d0f353034c23efc2ad7e60cfabcc911d1c48
|
7
|
+
data.tar.gz: 348be2dd911a8d157fc05f6e3f1e7c503346bfb8a9f7e4fd5bdb68429e56a4cab1ed07b1b8c0c89b4a652a599d528be4e5aab91f1d6fd130d5332c432aba53bf
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
## 2015-04-15
|
2
|
+
|
3
|
+
Bug Fixes:
|
4
|
+
|
5
|
+
* Incrementing gem version, as rubygems doesn't let you push old versions. ([#37][], [@MathieuGilbert][])
|
6
|
+
|
7
|
+
## 2015-04-14
|
8
|
+
|
9
|
+
Bug Fixes:
|
10
|
+
|
11
|
+
* Updating syntax on Lita.adapters to match Lita 5 syntax (now used in main Lita app). ([#35][], [@MathieuGilbert][])
|
12
|
+
|
13
|
+
## 2015-04-10
|
14
|
+
|
15
|
+
Features:
|
16
|
+
|
17
|
+
* Querying Gitlab's API for a list of merge requests when "pr list" command is made, to clear out the merge events we didn't get a webhook call for. ([#33][], [@MathieuGilbert][])
|
18
|
+
|
1
19
|
## 2014-11-04
|
2
20
|
|
3
21
|
Bug Fixes:
|
@@ -28,6 +46,9 @@ Features:
|
|
28
46
|
[#29]: https://github.com/amaabca/lita-github_pr_list/issues/29
|
29
47
|
[#30]: https://github.com/amaabca/lita-github_pr_list/issues/30
|
30
48
|
[#32]: https://github.com/amaabca/lita-github_pr_list/issues/32
|
49
|
+
[#33]: https://github.com/amaabca/lita-github_pr_list/issues/33
|
50
|
+
[#35]: https://github.com/amaabca/lita-github_pr_list/issues/35
|
51
|
+
[#37]: https://github.com/amaabca/lita-github_pr_list/issues/37
|
31
52
|
[@MathieuGilbert]: https://github.com/MathieuGilbert
|
32
53
|
[@darkodosenovic]: https://github.com/darkodosenovic
|
33
54
|
[@rubene]: https://github.com/rubene
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Builders
|
2
|
+
class MergeRequestBuilder
|
3
|
+
attr_accessor :merge_request_data
|
4
|
+
|
5
|
+
def initialize(args = {})
|
6
|
+
self.merge_request_data = args.fetch(:merge_request_data, [])
|
7
|
+
end
|
8
|
+
|
9
|
+
def all
|
10
|
+
merge_request_data.map do |m|
|
11
|
+
OpenStruct.new(id: m["id"], state: m["state"])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def closed
|
16
|
+
all.select { |m| m.state.downcase != 'opened' }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'rest_client'
|
2
|
+
|
3
|
+
module Lita
|
4
|
+
module GithubPrList
|
5
|
+
class GitlabMergeRequests
|
6
|
+
attr_accessor :raw_response, :redis
|
7
|
+
|
8
|
+
def initialize(args = {})
|
9
|
+
self.redis = args.fetch(:redis, nil)
|
10
|
+
end
|
11
|
+
|
12
|
+
# Gitlab merge events don't always trigger the web hook. This will remove merged MRs from redis
|
13
|
+
def rectify
|
14
|
+
if local_merge_requests?
|
15
|
+
closed_merge_requests.each do |closed_merge_request|
|
16
|
+
Lita::GithubPrList::MergeRequest.new({ id: closed_merge_request.id, state: 'not_open', redis: redis }).handle
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def gitlab_data
|
24
|
+
self.raw_response = RestClient::Request.execute(
|
25
|
+
method: :get,
|
26
|
+
url: "#{Lita.config.handlers.github_pr_list.gitlab_project_endpoint}/merge_requests",
|
27
|
+
headers: {
|
28
|
+
accept: 'application/xml',
|
29
|
+
content_type: 'application/xml',
|
30
|
+
'PRIVATE-TOKEN' => Lita.config.handlers.github_pr_list.gitlab_api_key
|
31
|
+
},
|
32
|
+
verify_ssl: OpenSSL::SSL::VERIFY_NONE
|
33
|
+
)
|
34
|
+
end
|
35
|
+
|
36
|
+
def closed_merge_requests
|
37
|
+
Builders::MergeRequestBuilder.new(merge_request_data: JSON.parse(gitlab_data)).closed
|
38
|
+
end
|
39
|
+
|
40
|
+
def local_merge_requests?
|
41
|
+
redis.keys("gitlab_mr*").any?
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 41,
|
4
|
+
"iid": 41,
|
5
|
+
"project_id": 1,
|
6
|
+
"target_branch": "master",
|
7
|
+
"source_branch": "api-unicorns",
|
8
|
+
"title": "Api Unicorns",
|
9
|
+
"state": "merged",
|
10
|
+
"upvotes": 0,
|
11
|
+
"downvotes": 0,
|
12
|
+
"author": {
|
13
|
+
"id": 6,
|
14
|
+
"username": "mathieu.gilbert",
|
15
|
+
"email": "mathieu.gilbert@ama.ab.ca",
|
16
|
+
"name": "Mathieu Gilbert",
|
17
|
+
"state": "active",
|
18
|
+
"created_at": "2014-01-16T21:23:07.474Z"
|
19
|
+
},
|
20
|
+
"assignee": null,
|
21
|
+
"source_project_id": 1,
|
22
|
+
"target_project_id": 1
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"id": 3,
|
26
|
+
"iid": 3,
|
27
|
+
"project_id": 1,
|
28
|
+
"target_branch": "master",
|
29
|
+
"source_branch": "remote-syslog-on-db-servers",
|
30
|
+
"title": "Remote Syslog On Db Servers",
|
31
|
+
"state": "closed",
|
32
|
+
"upvotes": 0,
|
33
|
+
"downvotes": 0,
|
34
|
+
"author": {
|
35
|
+
"id": 5,
|
36
|
+
"username": "jordan.babe",
|
37
|
+
"email": "jordan.babe@ama.ab.ca",
|
38
|
+
"name": "Jordan Babe",
|
39
|
+
"state": "active",
|
40
|
+
"created_at": "2014-01-16T21:22:31.114Z"
|
41
|
+
},
|
42
|
+
"assignee": null,
|
43
|
+
"source_project_id": 1,
|
44
|
+
"target_project_id": 1
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"id": 99,
|
48
|
+
"iid": 1,
|
49
|
+
"project_id": 14,
|
50
|
+
"target_branch": "master",
|
51
|
+
"source_branch": "pie-factory",
|
52
|
+
"title": "Fixed the things",
|
53
|
+
"state": "opened",
|
54
|
+
"upvotes": 0,
|
55
|
+
"downvotes": 0,
|
56
|
+
"author": {
|
57
|
+
"id": 5,
|
58
|
+
"username": "jordan.babe",
|
59
|
+
"email": "jordan.babe@ama.ab.ca",
|
60
|
+
"name": "Jordan Babe",
|
61
|
+
"state": "active",
|
62
|
+
"created_at": "2014-01-16T21:22:31.114Z"
|
63
|
+
},
|
64
|
+
"assignee": null,
|
65
|
+
"source_project_id": 1,
|
66
|
+
"target_project_id": 1
|
67
|
+
}
|
68
|
+
]
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"object_kind": "merge_request",
|
3
|
+
"object_attributes": {
|
4
|
+
"assignee_id": 6,
|
5
|
+
"author_id": 51,
|
6
|
+
"created_at": "2013-12-03T17:23:34Z",
|
7
|
+
"description": "",
|
8
|
+
"id": 3,
|
9
|
+
"iid": 1,
|
10
|
+
"merge_status": "unchecked",
|
11
|
+
"milestone_id": null,
|
12
|
+
"source_branch": "ms-viewport",
|
13
|
+
"source_project_id": 14,
|
14
|
+
"st_commits": null,
|
15
|
+
"st_diffs": null,
|
16
|
+
"state": "opened",
|
17
|
+
"target_branch": "master",
|
18
|
+
"target_project_id": 14,
|
19
|
+
"title": "Fixed the things",
|
20
|
+
"updated_at": "2013-12-03T17:23:34Z"
|
21
|
+
}
|
22
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-github_pr_list
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael van den Beuken
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2015-04-15 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: lita
|
@@ -166,10 +166,12 @@ files:
|
|
166
166
|
- Rakefile
|
167
167
|
- bin/rake
|
168
168
|
- bin/rspec
|
169
|
+
- lib/lita/builders/merge_request_builder.rb
|
169
170
|
- lib/lita/github_pr_list.rb
|
170
171
|
- lib/lita/github_pr_list/alias_user.rb
|
171
172
|
- lib/lita/github_pr_list/check_list.rb
|
172
173
|
- lib/lita/github_pr_list/comment_hook.rb
|
174
|
+
- lib/lita/github_pr_list/gitlab_merge_requests.rb
|
173
175
|
- lib/lita/github_pr_list/merge_request.rb
|
174
176
|
- lib/lita/github_pr_list/pull_request.rb
|
175
177
|
- lib/lita/github_pr_list/pull_request_open_message_hook.rb
|
@@ -178,7 +180,9 @@ files:
|
|
178
180
|
- lib/lita/github_pr_list/web_hook.rb
|
179
181
|
- lib/lita/handlers/github_pr_list.rb
|
180
182
|
- lita-github_pr_list.gemspec
|
183
|
+
- spec/fixtures/gitlab_lookup_response.json
|
181
184
|
- spec/fixtures/gitlab_merge_request.json
|
185
|
+
- spec/fixtures/gitlab_remotely_closed.json
|
182
186
|
- spec/fixtures/gitlab_request_closed.json
|
183
187
|
- spec/fixtures/issue_comment_event_failed.json
|
184
188
|
- spec/fixtures/issue_comment_event_failed_hankey.json
|
@@ -224,12 +228,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
224
228
|
version: '0'
|
225
229
|
requirements: []
|
226
230
|
rubyforge_project:
|
227
|
-
rubygems_version: 2.0.
|
231
|
+
rubygems_version: 2.0.14
|
228
232
|
signing_key:
|
229
233
|
specification_version: 4
|
230
234
|
summary: List open pull requests for an organization.
|
231
235
|
test_files:
|
236
|
+
- spec/fixtures/gitlab_lookup_response.json
|
232
237
|
- spec/fixtures/gitlab_merge_request.json
|
238
|
+
- spec/fixtures/gitlab_remotely_closed.json
|
233
239
|
- spec/fixtures/gitlab_request_closed.json
|
234
240
|
- spec/fixtures/issue_comment_event_failed.json
|
235
241
|
- spec/fixtures/issue_comment_event_failed_hankey.json
|