jirametrics 1.0.1 → 1.0.3pre1

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: 5e2bde3ef589f8b2ef51657edc5e4be9cbcfba35e05b969618f25f24b1682406
4
- data.tar.gz: ad4a4e2455d8af13f269ff241ace54716342106240ba1c6ae6b4f8a705fe69bf
3
+ metadata.gz: e077ebc2c47b51a275a148820ceb7a60bfd7bcc247887464cadcb7f2d082dd37
4
+ data.tar.gz: aad87d7168eb7e984628e4f7c533bf5fafab3ff404402515ea2c8678b7424d41
5
5
  SHA512:
6
- metadata.gz: 0fe631431700ead7f918d81c7a7e7d0e304d7816edf73bf291eff5eb1cc88cc08b6fd1068cca9effc6b723093951e9cc905de9fdac409044537d752d6fc8e083
7
- data.tar.gz: dd16bb69f892e2aa47a42048c36200adf1880a4084e298c41811194b42666693411d849ef5f90088b64163debe7c3b00c7ba4c1af3208cbaf449c2e32263ea59
6
+ metadata.gz: 3d00b015d68c6a3b59f7d75960ac334e0ac0add0d12189467153ea496059e8cf5c3264c0fe402be5d8b9ecec3b6f8b4886a4c424550a6bc5ffc6cefe3585ad5d
7
+ data.tar.gz: a91f5f9cf366956d6a76de31576bbac3acb313f38391fa0ef5bcdc573b0ee46ec4031794491ac8b3733a2b307dbd3e5bb81c24266b919405a72d146a7d3f44d1
@@ -52,7 +52,16 @@ class AggregateConfig
52
52
  end
53
53
 
54
54
  @included_projects << project
55
- @project_config.add_issues project.issues
55
+ if project.file_configs.empty?
56
+ issues = project.issues
57
+ else
58
+ issues = project.file_configs.first.issues
59
+ if project.file_configs.size > 1
60
+ puts 'More than one file section is defined. For the aggregated view, we always use ' \
61
+ 'the first file section'
62
+ end
63
+ end
64
+ @project_config.add_issues issues
56
65
  end
57
66
 
58
67
  def date_range range
@@ -51,18 +51,18 @@ class Exporter
51
51
  @downloading = false
52
52
  end
53
53
 
54
- def export
55
- @project_configs.each do |project|
54
+ def export name_filter:
55
+ each_project_config(name_filter: name_filter) do |project|
56
56
  project.evaluate_next_level
57
57
  project.run
58
58
  end
59
59
  end
60
60
 
61
- def download
61
+ def download name_filter:
62
62
  @downloading = true
63
63
  logfile_name = 'downloader.log'
64
64
  File.open logfile_name, 'w' do |logfile|
65
- @project_configs.each do |project|
65
+ each_project_config(name_filter: name_filter) do |project|
66
66
  project.evaluate_next_level
67
67
  next if project.aggregated_project?
68
68
 
@@ -76,6 +76,12 @@ class Exporter
76
76
  puts "Full output from downloader in #{logfile_name}"
77
77
  end
78
78
 
79
+ def each_project_config name_filter:
80
+ @project_configs.each do |project|
81
+ yield project if project.name.nil? || File.fnmatch(name_filter, project.name)
82
+ end
83
+ end
84
+
79
85
  def downloading?
80
86
  @downloading
81
87
  end
@@ -69,7 +69,7 @@ class Issue
69
69
 
70
70
  def labels = @raw['fields']['labels'] || []
71
71
 
72
- def author = @raw['fields']['creator']['displayName']
72
+ def author = @raw['fields']['creator']&.[]('displayName') || ''
73
73
 
74
74
  def resolution = @raw['fields']['resolution']&.[]('name')
75
75
 
data/lib/jirametrics.rb CHANGED
@@ -4,17 +4,19 @@ require 'thor'
4
4
 
5
5
  class JiraMetrics < Thor
6
6
  option :config
7
+ option :name
7
8
  desc 'export', "Export data into either reports or CSV's as per the configuration"
8
9
  def export
9
10
  load_config options[:config]
10
- Exporter.instance.export
11
+ Exporter.instance.export(name_filter: options[:name] || '*')
11
12
  end
12
13
 
13
14
  option :config
15
+ option :name
14
16
  desc 'download', 'Download data from Jira'
15
17
  def download
16
18
  load_config options[:config]
17
- Exporter.instance.download
19
+ Exporter.instance.download(name_filter: options[:name] || '*')
18
20
  end
19
21
 
20
22
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jirametrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Bowler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-03 00:00:00.000000000 Z
11
+ date: 2023-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: random-word
@@ -159,9 +159,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
159
159
  version: 3.0.0
160
160
  required_rubygems_version: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - ">="
162
+ - - ">"
163
163
  - !ruby/object:Gem::Version
164
- version: '0'
164
+ version: 1.3.1
165
165
  requirements: []
166
166
  rubygems_version: 3.2.15
167
167
  signing_key: