gerrit2jiracomment 0.2.7 → 0.2.9

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
  SHA256:
3
- metadata.gz: 95ecbc2fa4fe6a2be30cd9a54c0c53f239ce6574a923684e0a963c2360c28c05
4
- data.tar.gz: ce36adffff7b0e5f03c9f3d54585cc7bb2fde9ff189bdafe6b31cfb96034ee27
3
+ metadata.gz: 38f02540c309cdb94461866f9e3cbe2d9c771dd9087c0ec8f5afb924e4804e8f
4
+ data.tar.gz: ea95574a11ee24e72d7f7e539df37f976cc300edb165bb572218d26ed72059fc
5
5
  SHA512:
6
- metadata.gz: b400a0f0f3235ac4a4eb99bc42868daaf98c1bd2cd2916ac80dfd0c2d4380f3f3548bdea2bcccbb037becc9879ba11312f1b5443e810d25d6b9c7fcfd04d28dd
7
- data.tar.gz: 3e5c5e1c1403aa0b738294575cb3550d35626b0139ed68d3af38f3863e11f11fb119ed631cdd2f4152aa57ab1a9ebd5ac8097c53dc9d77bb7ff6f20172261331
6
+ metadata.gz: f44112e662f9129fe99ec0746f7287691d806547900762382a7607f2f8dfc2f05a23bc7433a5360ad892859820901bf57c8e41fef78dca94401668b272079337
7
+ data.tar.gz: 1600dfba6a24099cf90eea1551785d7b3ac6fdb2548419f38401f0d09dab4795eb18a509ab2dc7f211e5a0d5dd09f9585797434b2e55f0b6b6eccd098648f6eb
data/.rubocop.yml CHANGED
@@ -2,3 +2,5 @@ AllCops:
2
2
  TargetRubyVersion: 2.5
3
3
  Metrics/BlockLength:
4
4
  ExcludedMethods: ['describe']
5
+ Style/StringLiterals:
6
+ EnforcedStyle: double_quotes
data/.ruby-version CHANGED
@@ -1,2 +1,2 @@
1
- 2.5.0
1
+ ruby-2.5.0
2
2
 
data/.travis.yml CHANGED
@@ -3,16 +3,17 @@ rvm:
3
3
  - 2.5.0
4
4
  sudo: false
5
5
  before_install:
6
- - gem install bundler -v 1.16.1
6
+ - gem install bundler -v 1.16.1
7
7
  before_script:
8
- - bundle install
8
+ - bundle install
9
9
  script:
10
- - bundle exec rake spec build
11
- - find .
10
+ - env
11
+ - bundle exec rake spec build
12
+ - find .
12
13
  deploy:
13
14
  provider: rubygems
14
15
  skip_cleanup: true
15
16
  api_key:
16
- secure: 5gAc1r58UKCjXVNCHYse1GiWM3tPMo0IHuiOA6A/C1rGzVRmimu1i4Q1JQyeViwIrGj1XP4hK1iCBcoFWJe/wY3FVI9UThA4Y76o4aqRRqxbxzFwnK7iRXb50STllMA78UnDQggKWhm0k6EDtkLYl9wIfeTG7Wcx/rr6kGYiROTsiqXKPy+KVFGAF0NtJvehAXxJu4zrLN5bcEPGCFQijd7rEjgwShsRwPs2k8BHmOTnqDIKLqAnRdzcoX4sNR1P3gggvDnJ4+cAqOGv6v3EWHaAMJEI4DE1sDNeRf8lY2OSGS7LZaFtcth6+k3W3rCiDgiJ7CIcPXxWat/IGC8kwV89jhRB8dZ12G5pBWfoiM23Zm7EZ2JEz8fH2dpqbznIEJblo2HbArCZyY0K/cdMfxHNTDPh856Oh0dX2iOdCL+PhgCMjmWWPJDphR06zVmfCxDrDo3zHzzG1EOQDAIE8BNDp1JvkadpuoxCUTL5T0Hyq1E/VJiMJtCmIQWssXn2e0oNK3qeiplMsPmhLNp+fmcqY3kH3P8uYlEedeJaaBMkBRj/vWC0xrajupllbPsVhj0RVD3joP+VrUbjvweagRN6UYR6v8NDgAVxXuSn1FPxFR3g6rQOZRQF1fEx+SqEcbIzQFdDG6Lym/TWJqzVu2dVZfikjw5Df0YOLhXXgXA=
17
+ secure: ASJyDyynS5sc4I4dBQx3LrnYxl5331KAB0C0k/BzAfYsBiORpKdMRj1nPEvaTu1LNmIN1smJswdnwxIDd0r8Cdl2TFHu9oTlxF6wYi7r3Ix2Btmy1xAVMwfEmocQI9JIUvzLY6Dah/MOQG/A61XKpL6JBixz43sQW64fpN7y8wZMjbjm9/U3XhcL5zPDHjRebpgWYzBptuVCdCbvfnTETsYd4k/H5v9Ax6pCWkkK9Y2U9csWd7wcVl6Ja6qFM69wSgc0GmVzP/heqE4rG+fvauaHrtEp0qTvMkVgOTxOG3wa7MH3f4qmx+oRU8tV6JnjfuDt9Um0gzcQvAhmCvKl0Co4lkvdp3VpvWIedS0Z+aiw+FG+3n2xUxr4hKIHTTtQVMglXkKL5BBpKfPCkssmXnhZojBtfDUxdOaAXJuxqgKBdLOiDyf5kkxcp5iA3yAGDbW0WY95HpqXC0n3/8kM6QEYbjsnUeazn/XZD7HlzahZc72C3Ro+o5P8HybrHyuZCncmsikTyF91DJRdN3WxnNUj95UW80gw0xqbtvhWCHPQGFvvejhwGPGHe/cBP8imEBBrqnInM/TgCCMJyjyH2J448wJIL5Dx9Z4WArsKmBHOQLua3QCqpkd770+W1VP0Bd94aklQcBrh0nG2ltZEAhKGszcZnxz1CiVnQrdSj1c=
17
18
  on:
18
19
  tags: true
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
data/Gemfile.lock CHANGED
@@ -1,68 +1,70 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gerrit2jiracomment (0.2.7)
4
+ gerrit2jiracomment (0.2.9)
5
5
  jira-ruby
6
6
  rx
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (6.0.0)
11
+ activesupport (6.0.2.2)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
13
  i18n (>= 0.7, < 2)
14
14
  minitest (~> 5.1)
15
15
  tzinfo (~> 1.1)
16
- zeitwerk (~> 2.1, >= 2.1.8)
17
- ast (2.3.0)
16
+ zeitwerk (~> 2.2)
17
+ ast (2.4.0)
18
18
  atlassian-jwt (0.2.0)
19
19
  jwt (~> 2.1.0)
20
- concurrent-ruby (1.1.5)
20
+ concurrent-ruby (1.1.6)
21
21
  diff-lcs (1.3)
22
- i18n (1.7.0)
22
+ i18n (1.8.2)
23
23
  concurrent-ruby (~> 1.0)
24
- jira-ruby (1.7.1)
24
+ jaro_winkler (1.5.4)
25
+ jira-ruby (2.0.0)
25
26
  activesupport
26
27
  atlassian-jwt
27
28
  multipart-post
28
29
  oauth (~> 0.5, >= 0.5.0)
29
30
  jwt (2.1.0)
30
- minitest (5.12.2)
31
+ minitest (5.14.0)
31
32
  multipart-post (2.1.1)
32
33
  oauth (0.5.4)
33
- parallel (1.12.1)
34
- parser (2.4.0.2)
35
- ast (~> 2.3)
36
- powerpack (0.1.1)
34
+ parallel (1.19.1)
35
+ parser (2.7.1.0)
36
+ ast (~> 2.4.0)
37
37
  rainbow (3.0.0)
38
- rake (12.3.0)
39
- rspec (3.7.0)
40
- rspec-core (~> 3.7.0)
41
- rspec-expectations (~> 3.7.0)
42
- rspec-mocks (~> 3.7.0)
43
- rspec-core (3.7.0)
44
- rspec-support (~> 3.7.0)
45
- rspec-expectations (3.7.0)
38
+ rake (13.0.1)
39
+ rexml (3.2.4)
40
+ rspec (3.9.0)
41
+ rspec-core (~> 3.9.0)
42
+ rspec-expectations (~> 3.9.0)
43
+ rspec-mocks (~> 3.9.0)
44
+ rspec-core (3.9.1)
45
+ rspec-support (~> 3.9.1)
46
+ rspec-expectations (3.9.1)
46
47
  diff-lcs (>= 1.2.0, < 2.0)
47
- rspec-support (~> 3.7.0)
48
- rspec-mocks (3.7.0)
48
+ rspec-support (~> 3.9.0)
49
+ rspec-mocks (3.9.1)
49
50
  diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.7.0)
51
- rspec-support (3.7.0)
52
- rubocop (0.52.1)
51
+ rspec-support (~> 3.9.0)
52
+ rspec-support (3.9.2)
53
+ rubocop (0.81.0)
54
+ jaro_winkler (~> 1.5.1)
53
55
  parallel (~> 1.10)
54
- parser (>= 2.4.0.2, < 3.0)
55
- powerpack (~> 0.1)
56
+ parser (>= 2.7.0.1)
56
57
  rainbow (>= 2.2.2, < 4.0)
58
+ rexml
57
59
  ruby-progressbar (~> 1.7)
58
- unicode-display_width (~> 1.0, >= 1.0.1)
59
- ruby-progressbar (1.9.0)
60
+ unicode-display_width (>= 1.4.0, < 2.0)
61
+ ruby-progressbar (1.10.1)
60
62
  rx (0.0.3)
61
63
  thread_safe (0.3.6)
62
- tzinfo (1.2.5)
64
+ tzinfo (1.2.7)
63
65
  thread_safe (~> 0.1)
64
- unicode-display_width (1.3.0)
65
- zeitwerk (2.2.0)
66
+ unicode-display_width (1.7.0)
67
+ zeitwerk (2.3.0)
66
68
 
67
69
  PLATFORMS
68
70
  ruby
data/Rakefile CHANGED
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
- require 'rubocop/rake_task'
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+ require "rubocop/rake_task"
6
6
 
7
7
  RuboCop::RakeTask.new
8
8
  # as soon as the project is clean enough, enable this
9
- Rake::Task['build'].enhance(['rubocop:auto_correct'])
9
+ Rake::Task["build"].enhance(["rubocop:auto_correct"])
10
10
 
11
11
  RSpec::Core::RakeTask.new(:spec)
12
12
 
data/bin/console CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'bundler/setup'
5
- require 'gerrit2jiracomment'
4
+ require "bundler/setup"
5
+ require "gerrit2jiracomment"
6
6
 
7
7
  # You can add fixtures and/or initialization code here to make experimenting
8
8
  # with your gem easier. You can also use a different console, if you like.
@@ -11,5 +11,5 @@ require 'gerrit2jiracomment'
11
11
  # require "pry"
12
12
  # Pry.start
13
13
 
14
- require 'irb'
14
+ require "irb"
15
15
  IRB.start(__FILE__)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby --encoding utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'bundler/setup'
5
- require 'gerrit2jiracomment'
4
+ require "bundler/setup"
5
+ require "gerrit2jiracomment"
6
6
 
7
7
  Gerrit2jiracomment.run
@@ -1,33 +1,32 @@
1
-
2
1
  # frozen_string_literal: true
3
2
 
4
- lib = File.expand_path('../lib', __FILE__)
3
+ lib = File.expand_path("lib", __dir__)
5
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
- require 'gerrit2jiracomment/version'
5
+ require "gerrit2jiracomment/version"
7
6
 
8
7
  Gem::Specification.new do |spec|
9
- spec.name = 'gerrit2jiracomment'
8
+ spec.name = "gerrit2jiracomment"
10
9
  spec.version = Gerrit2jiracomment::VERSION
11
- spec.authors = ['Christian Koestlin']
12
- spec.email = ['info@esrlabs.com']
10
+ spec.authors = ["Christian Koestlin"]
11
+ spec.email = ["info@esrlabs.com"]
13
12
 
14
- spec.summary = 'Simple gem that listens on gerrit stream-events' \
15
- ' and puts comments to jira.'
16
- spec.description = 'Nothing more to add'
17
- spec.homepage = 'https://github.com/gizmomogwai/gerrit2jiracomment'
13
+ spec.summary = "Simple gem that listens on gerrit stream-events" \
14
+ " and puts comments to jira."
15
+ spec.description = "Nothing more to add"
16
+ spec.homepage = "https://github.com/gizmomogwai/gerrit2jiracomment"
18
17
 
19
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
19
  f.match(%r{^(test|spec|features)/})
21
20
  end
22
- spec.bindir = 'exe'
21
+ spec.bindir = "exe"
23
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
- spec.require_paths = ['lib']
23
+ spec.require_paths = ["lib"]
25
24
 
26
- spec.add_dependency 'jira-ruby'
27
- spec.add_dependency 'rx'
28
- spec.add_development_dependency 'bundler'
29
- spec.add_development_dependency 'rake'
30
- spec.add_development_dependency 'rspec'
31
- spec.add_development_dependency 'rspec-mocks'
32
- spec.add_development_dependency 'rubocop'
25
+ spec.add_dependency "jira-ruby"
26
+ spec.add_dependency "rx"
27
+ spec.add_development_dependency "bundler"
28
+ spec.add_development_dependency "rake"
29
+ spec.add_development_dependency "rspec"
30
+ spec.add_development_dependency "rspec-mocks"
31
+ spec.add_development_dependency "rubocop"
33
32
  end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gerrit2jiracomment/version'
4
- require 'logger'
5
- require 'syslog/logger'
6
- require 'json'
7
- require 'open3'
8
- require 'ostruct'
9
- require 'jira-ruby'
10
- require 'yaml'
11
- require 'rx'
3
+ require "gerrit2jiracomment/version"
4
+ require "logger"
5
+ require "syslog/logger"
6
+ require "json"
7
+ require "open3"
8
+ require "ostruct"
9
+ require "jira-ruby"
10
+ require "yaml"
11
+ require "rx"
12
12
 
13
13
  # Gerrit 2 jira sync module
14
14
  module Gerrit2jiracomment
@@ -32,8 +32,8 @@ module Gerrit2jiracomment
32
32
  @log.error("#{@tag}†#{message}: #{error_message}")
33
33
  end
34
34
 
35
- def fail(c, message)
36
- raise(c, "#{@tag}†#{message}")
35
+ def fail(exception, message)
36
+ raise(exception, "#{@tag}†#{message}")
37
37
  end
38
38
  end
39
39
 
@@ -111,7 +111,7 @@ module Gerrit2jiracomment
111
111
  end
112
112
 
113
113
  def change_merged(log, event, server)
114
- log = LoggerWithTag.new(log, 'changeset')
114
+ log = LoggerWithTag.new(log, "changeset")
115
115
 
116
116
  log.debug("Send change merged to jira #{event}")
117
117
 
@@ -120,7 +120,8 @@ module Gerrit2jiracomment
120
120
 
121
121
  found = false
122
122
  message.scan(Gerrit2jiracomment.regexp).map(&:strip).each do |match|
123
- found ||= handle_change_merged_issue_comment(match, log, event, server)
123
+ found = handle_change_merged_issue_comment(match, log, event, server) ||
124
+ found
124
125
  end
125
126
 
126
127
  found || log.fail(ProcessException, "No jira-issue found in #{event}")
@@ -133,7 +134,7 @@ module Gerrit2jiracomment
133
134
 
134
135
  def self.stdout_in_utf8(command)
135
136
  _stdin, stdout, _stderr = Open3.popen3(command)
136
- stdout.set_encoding 'UTF-8:UTF-8'
137
+ stdout.set_encoding "UTF-8:UTF-8"
137
138
  stdout
138
139
  end
139
140
 
@@ -149,30 +150,30 @@ module Gerrit2jiracomment
149
150
  end
150
151
  end
151
152
 
152
- def self.dispatch(log, e, sink)
153
- logger = LoggerWithTag.new(log, 'events')
154
- event = e.first
155
- server = e[1]
156
- return sink.send(event.type.tr('-', '_').to_sym, log, event, server)
153
+ def self.dispatch(log, event, sink)
154
+ logger = LoggerWithTag.new(log, "events")
155
+ event, server = event
156
+ logger.debug("#{event} from #{server}")
157
+ sink.send(event.type.tr("-", "_").to_sym, log, event, server)
157
158
  rescue NoMethodError => e
158
159
  logger.debug("Cannot handle event of type #{event.type} - #{e}")
159
160
  false
160
- rescue StandardError => error
161
- logger.error('Cannot process event', error)
161
+ rescue StandardError => e
162
+ logger.error("Cannot process event", e)
162
163
  false
163
164
  end
164
165
 
165
166
  def self.syslog_or_stdout_logger
166
- Syslog::Logger.new 'g2jc'
167
+ Syslog::Logger.new "g2jc"
167
168
  rescue StandardError
168
169
  Logger.new(STDOUT)
169
170
  end
170
171
 
171
172
  def self.tag_and_message(msg)
172
- tag, m = msg.split('')
173
+ tag, m = msg.split("")
173
174
  unless m
174
175
  m = tag
175
- tag = 'gerrit2jiracomment'
176
+ tag = "gerrit2jiracomment"
176
177
  end
177
178
  [tag, m]
178
179
  end
@@ -181,7 +182,7 @@ module Gerrit2jiracomment
181
182
  logger = syslog_or_stdout_logger
182
183
  logger.formatter = proc do |severity, datetime, _progname, msg|
183
184
  tag, message = tag_and_message(msg)
184
- format('%<year>04d-%<month>02d-%<day>02d %<hour>02d:%<min>02d:' \
185
+ format("%<year>04d-%<month>02d-%<day>02d %<hour>02d:%<min>02d:" \
185
186
  "%<sec>02d.000 7331 %<severity>s %<tag>s: %<message>s\n",
186
187
  year: datetime.year, month: datetime.month, day: datetime.day,
187
188
  hour: datetime.hour, min: datetime.min, sec: datetime.sec,
@@ -191,17 +192,17 @@ module Gerrit2jiracomment
191
192
  end
192
193
 
193
194
  def self.load_settings(logger)
194
- logger.debug('lifecycle†loading settings from settings.yaml.gpg')
195
+ logger.debug("lifecycle†loading settings from settings.yaml.gpg")
195
196
  YAML.safe_load(`gpg --decrypt settings.yaml.gpg 2> /dev/null`)
196
197
  end
197
198
 
198
199
  def self.to_jira(logger, settings)
199
200
  ToJira.new(logger,
200
201
  JIRA::Client.new(
201
- username: settings['jira_user'],
202
- password: settings['jira_password'],
203
- site: 'https://esrlabs.atlassian.net/',
204
- context_path: '', auth_type: :basic,
202
+ username: settings["jira_user"],
203
+ password: settings["jira_password"],
204
+ site: "https://esrlabs.atlassian.net/",
205
+ context_path: "", auth_type: :basic,
205
206
  use_ssl: true,
206
207
  ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE
207
208
  ))
@@ -211,13 +212,13 @@ module Gerrit2jiracomment
211
212
  subject.as_observable.subscribe(
212
213
  ->(e) { dispatch(logger, e, event_sink) },
213
214
  ->(_err) { logger.error(error) },
214
- -> { logger.info('lifecycle†finished') }
215
+ -> { logger.info("lifecycle†finished") }
215
216
  )
216
217
  end
217
218
 
218
219
  def self.hosts
219
- ['gerrit.int.esrlabs.com', 'git.esrlabs.com',
220
- 'hcp5-sources.int.esrlabs.com']
220
+ ["gerrit.int.esrlabs.com", "git.esrlabs.com",
221
+ "hcp5-sources.int.esrlabs.com"]
221
222
  end
222
223
 
223
224
  def self.run
@@ -232,6 +233,6 @@ module Gerrit2jiracomment
232
233
  hosts
233
234
  .map { |server| receive_events(logger, server, subject) }
234
235
  .each(&:join)
235
- logger.info('lifecycle†exiting')
236
+ logger.info("lifecycle†exiting")
236
237
  end
237
238
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gerrit2jiracomment
4
- VERSION = '0.2.7'
4
+ VERSION = "0.2.9"
5
5
  end
data/readme.org CHANGED
@@ -4,8 +4,7 @@ Proof of concept implementation that listens on a gerrit stream and updated jira
4
4
 
5
5
  ** Installation
6
6
 
7
- first compile and install gerry 0.1.5.
8
- then compile and install gerrit2jiracomment.
7
+ ~gem install gerrit2jiracomment~
9
8
 
10
9
  ** Usage
11
10
 
@@ -17,4 +16,7 @@ encode your settings with gpg -e -r user@email.com settings.yaml
17
16
  To deploy a new gem version increment version.rb, run bundle install, make a commit and push this to origin.
18
17
  Travis will do the deployment to rubygems.org, if the build is allright.
19
18
 
19
+ To deploy automatically to rubygems, one needs to add the api key of rubygems by running
20
+ ~travis encrypt --add deploy.api_key~
21
+
20
22
  ** Contributing
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gerrit2jiracomment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Koestlin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-25 00:00:00.000000000 Z
11
+ date: 2020-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jira-ruby