factor-connector-github 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1bee9fb0009dc9c51051cde4d8b8d2202ddd3442
4
- data.tar.gz: 723c0fd019e05a250f9fa183d5bde9028294e3a3
3
+ metadata.gz: 574ddfdd712172c90584967b94c72b7cb07bb5b5
4
+ data.tar.gz: aa6d240b65f79735dcb2fa53a9c187266eed7a71
5
5
  SHA512:
6
- metadata.gz: 0790bebf5cc58a6f986134ab26279ccc74a8b55b1f807237161caabe2226b79a140b09cef21aff737b85ad05aa03d6aa2471fbf46793523986abb88a8f176c0e
7
- data.tar.gz: 323153be8ac78ecbbc31207c6754a1ebd0e88e2c3b30db9f22b45bc2f2f82bd35e505e49c0a803a6a062a319f65e0531a9c5d6b095811603f33143fee9cf0fdc
6
+ metadata.gz: c03851e4f00f2a3c8ba8e6a5ee59d1f80448059873205f7da7b27fe885264bdafc6cca82373146c8fc3d312e50c52a3bffeecb3d7d889e30b8e4e26cf7c39b4b
7
+ data.tar.gz: 3c3f93b4f246ff9e0b4f2592c75710e9972b3152d1558c1d9d05267180111e598521f4ddc0574f1ba02adef2777f4b8b954b9b997c2af3d0950bea510319410a
@@ -0,0 +1,124 @@
1
+ require 'factor-connector-api'
2
+ require 'github_api'
3
+
4
+ Factor::Connector.service 'github_deployments' do
5
+ action 'list' do |params|
6
+ api_key = params['api_key']
7
+ username = params['username']
8
+ repo = params['repo']
9
+
10
+ fail 'API Key must be defined' unless api_key
11
+
12
+ info 'Connecting to Github'
13
+ begin
14
+ github = Github.new oauth_token: api_key
15
+ rescue
16
+ fail 'Unable to connect to Github'
17
+ end
18
+
19
+ info 'Getting all deployments'
20
+ begin
21
+ deployments = []
22
+ github_wrapper = github.repos.deployments.list username, repo
23
+ github_wrapper.body.each { |mash| deployments << mash.to_hash }
24
+ rescue
25
+ fail 'Unable to get the deployment'
26
+ end
27
+
28
+ action_callback deployments
29
+ end
30
+
31
+ action 'create' do |params|
32
+ api_key = params['api_key']
33
+ username = params['username']
34
+ repo = params['repo']
35
+ ref = params['ref']
36
+
37
+ fail 'API Key (api_key) is required' unless api_key
38
+ fail 'Username (username) is required' unless username
39
+ fail 'Repo (repo) is required' unless repo
40
+ fail 'Ref (ref) is required' unless ref
41
+
42
+ info 'Connecting to Github'
43
+ begin
44
+ github = Github.new oauth_token: api_key
45
+ rescue
46
+ fail 'Unable to connect to Github'
47
+ end
48
+
49
+ tag_options = %w(ref task auto_merge required_contexts payload environment description force)
50
+
51
+ deployment_params = {}
52
+ params.each do |key,value|
53
+ deployment_params[key.to_sym] = value if tag_options.include?(key)
54
+ end
55
+
56
+ begin
57
+ status = github.repos.deployments.create username, repo, deployment_params
58
+ rescue
59
+ fail 'Failed to create the deployment'
60
+ end
61
+ action_callback status.body.to_hash
62
+ end
63
+
64
+ action 'statuses' do |params|
65
+ api_key = params['api_key']
66
+ username = params['username']
67
+ repo = params['repo']
68
+ id = params['id']
69
+
70
+ fail 'API Key must be defined' unless api_key
71
+ fail 'Deployment ID (id) is required' unless id
72
+
73
+ info 'Connecting to Github'
74
+ begin
75
+ github = Github.new oauth_token: api_key
76
+ rescue
77
+ fail 'Unable to connect to Github'
78
+ end
79
+
80
+ info 'Getting all deployments'
81
+ begin
82
+ deployment_statuses = []
83
+ github_wrapper = github.repos.deployments.statuses username, repo, id
84
+ github_wrapper.body.each { |mash| deployment_statuses << mash.to_hash }
85
+ rescue
86
+ fail 'Unable to get the deployment'
87
+ end
88
+
89
+ action_callback deployment_statuses
90
+ end
91
+
92
+ action 'create_status' do |params|
93
+ api_key = params['api_key']
94
+ username = params['username']
95
+ repo = params['repo']
96
+ id = params['id']
97
+
98
+ fail 'API Key (api_key) is required' unless api_key
99
+ fail 'Username (username) is required' unless username
100
+ fail 'Repo (repo) is required' unless repo
101
+ fail 'Deployment ID (id) is required' unless id
102
+
103
+ info 'Connecting to Github'
104
+ begin
105
+ github = Github.new oauth_token: api_key
106
+ rescue
107
+ fail 'Unable to connect to Github'
108
+ end
109
+
110
+ tag_options = %w(state target_url description)
111
+
112
+ status_params = {}
113
+ params.each do |key,value|
114
+ status_params[key.to_sym] = value if tag_options.include?(key)
115
+ end
116
+
117
+ begin
118
+ status = github.repos.deployments.create_status username, repo, id, status_params
119
+ rescue
120
+ fail 'Failed to create the deployment status'
121
+ end
122
+ action_callback status.body.to_hash
123
+ end
124
+ end
@@ -0,0 +1,124 @@
1
+ require 'factor-connector-api'
2
+ require 'github_api'
3
+
4
+ Factor::Connector.service 'github_releases' do
5
+ action 'list' do |params|
6
+ api_key = params['api_key']
7
+ username = params['username']
8
+ repo = params['repo']
9
+
10
+ fail 'API Key must be defined' unless api_key
11
+
12
+ info 'Connecting to Github'
13
+ begin
14
+ github = Github.new oauth_token: api_key
15
+ rescue
16
+ fail 'Unable to connect to Github'
17
+ end
18
+
19
+ info 'Getting all releaes'
20
+ begin
21
+ releases = []
22
+ github_wrapper = github.repos.releases.list username, repo
23
+ github_wrapper.body.each { |mash| releases << mash.to_hash }
24
+ rescue
25
+ fail 'Unable to get the releases'
26
+ end
27
+
28
+ action_callback releases
29
+ end
30
+
31
+ action 'get' do |params|
32
+ api_key = params['api_key']
33
+ username = params['username']
34
+ repo = params['repo']
35
+ id = params['id']
36
+
37
+ fail 'API Key (api_key) is required' unless api_key
38
+ fail 'ID (id) is required' unless id
39
+ fail 'Username (username) is required' unless username
40
+ fail 'Repo (repo) is required' unless repo
41
+
42
+ info 'Connecting to Github'
43
+ begin
44
+ github = Github.new oauth_token: api_key
45
+ rescue
46
+ fail 'Unable to connect to Github'
47
+ end
48
+
49
+ info 'Getting all releaes'
50
+ begin
51
+ releases = []
52
+ github_wrapper = github.repos.releases.get username, repo, id
53
+ release = github_wrapper.body.to_hash
54
+ rescue
55
+ fail 'Unable to get the releases'
56
+ end
57
+
58
+ action_callback release
59
+ end
60
+
61
+ action 'create' do |params|
62
+ api_key = params['api_key']
63
+ username = params['username']
64
+ repo = params['repo']
65
+ tag_name = params['tag_name']
66
+
67
+ fail 'API Key (api_key) is required' unless api_key
68
+ fail 'Username (username) is required' unless username
69
+ fail 'Repo (repo) is required' unless repo
70
+ fail 'Tag Name (tag_name) is required' unless tag_name
71
+
72
+ info 'Connecting to Github'
73
+ begin
74
+ github = Github.new oauth_token: api_key
75
+ rescue
76
+ fail 'Unable to connect to Github'
77
+ end
78
+
79
+ tag_options = %w(target_commitish body name draft prerelease)
80
+
81
+ tag_params = {}
82
+ params.each do |key,value|
83
+ tag_params[key.to_sym] = value if tag_options.include?(key)
84
+ end
85
+
86
+ begin
87
+ release = github.repos.releases.create username, repo, tag_name, tag_params
88
+ rescue
89
+ fail 'Failed to tag the release'
90
+ end
91
+
92
+ action_callback release.body.to_hash
93
+
94
+ end
95
+
96
+ action 'delete' do |params|
97
+ api_key = params['api_key']
98
+ username = params['username']
99
+ repo = params['repo']
100
+ id = params['id']
101
+
102
+ fail 'API Key (api_key) is required' unless api_key
103
+ fail 'ID (id) is required' unless id
104
+ fail 'Username (username) is required' unless username
105
+ fail 'Repo (repo) is required' unless repo
106
+
107
+ info 'Connecting to Github'
108
+ begin
109
+ github = Github.new oauth_token: api_key
110
+ rescue
111
+ fail 'Unable to connect to Github'
112
+ end
113
+
114
+ info 'Getting all releaes'
115
+ begin
116
+ release = github.repos.releases.delete username, repo, id
117
+ rescue
118
+ fail 'Unable to get the releases'
119
+ end
120
+
121
+ action_callback
122
+ end
123
+
124
+ end
@@ -0,0 +1,74 @@
1
+ require 'factor-connector-api'
2
+ require 'github_api'
3
+
4
+ Factor::Connector.service 'github_statuses' do
5
+ action 'list' do |params|
6
+ api_key = params['api_key']
7
+ username = params['username']
8
+ repo = params['repo']
9
+ ref = params['ref']
10
+
11
+ fail 'API Key must be defined' unless api_key
12
+ fail 'Ref (ref) must be defined' unless ref
13
+
14
+ info 'Connecting to Github'
15
+ begin
16
+ github = Github.new oauth_token: api_key
17
+ rescue
18
+ fail 'Unable to connect to Github'
19
+ end
20
+
21
+ info 'Getting all statuses'
22
+ begin
23
+ statuses = []
24
+ github_wrapper = github.repos.statuses.list username, repo, ref
25
+ github_wrapper.body.each { |mash| statuses << mash.to_hash }
26
+ rescue
27
+ fail 'Unable to get the statuses'
28
+ end
29
+
30
+ action_callback statuses
31
+ end
32
+
33
+ action 'create' do |params|
34
+ api_key = params['api_key']
35
+ username = params['username']
36
+ repo = params['repo']
37
+ sha = params['sha']
38
+ state = params['state']
39
+ description = params['description']
40
+ target_url = params['target_url']
41
+ context = params['context'] || 'default'
42
+
43
+ fail 'API Key (api_key) is required' unless api_key
44
+ fail 'Username (username) is required' unless username
45
+ fail 'Repo (repo) is required' unless repo
46
+ fail 'SHA (sha) is required' unless sha
47
+ fail 'State (state) is required' unless state
48
+
49
+ allowed_states = %w{pending success error failure}
50
+
51
+ fail "State (state) can only be #{allowed_states.join(',')}" unless allowed_states.include?(state)
52
+
53
+ info 'Connecting to Github'
54
+ begin
55
+ github = Github.new oauth_token: api_key
56
+ rescue
57
+ fail 'Unable to connect to Github'
58
+ end
59
+
60
+ tag_options = %w(state target_url description context)
61
+
62
+ status_params = {}
63
+ params.each do |key,value|
64
+ status_params[key.to_sym] = value if tag_options.include?(key)
65
+ end
66
+
67
+ begin
68
+ status = github.repos.statuses.create username, repo, sha, status_params
69
+ rescue
70
+ fail 'Failed to update the status'
71
+ end
72
+ action_callback status.body.to_hash
73
+ end
74
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factor-connector-github
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Skierkowski
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-25 00:00:00.000000000 Z
12
+ date: 2015-01-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: github_api
@@ -17,42 +17,42 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 0.11.3
20
+ version: 0.12.2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 0.11.3
27
+ version: 0.12.2
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: factor-connector-api
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.0.13
34
+ version: 0.0.14
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 0.0.13
41
+ version: 0.0.14
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: codeclimate-test-reporter
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 0.4.1
48
+ version: 0.4.5
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 0.4.1
55
+ version: 0.4.5
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -73,14 +73,14 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 10.3.2
76
+ version: 10.4.2
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 10.3.2
83
+ version: 10.4.2
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: wrong
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +101,14 @@ dependencies:
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 0.26.1
104
+ version: 0.28.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 0.26.1
111
+ version: 0.28.0
112
112
  description:
113
113
  email:
114
114
  - maciej@factor.io
@@ -117,8 +117,11 @@ executables: []
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
+ - lib/factor/connector/github_deployments.rb
120
121
  - lib/factor/connector/github_issue.rb
122
+ - lib/factor/connector/github_releases.rb
121
123
  - lib/factor/connector/github_repo.rb
124
+ - lib/factor/connector/github_statuses.rb
122
125
  homepage: https://factor.io
123
126
  licenses: []
124
127
  metadata: {}