jirametrics 2.12.1 → 2.22

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jirametrics/aging_work_bar_chart.rb +176 -134
  3. data/lib/jirametrics/anonymizer.rb +8 -6
  4. data/lib/jirametrics/atlassian_document_format.rb +160 -0
  5. data/lib/jirametrics/bar_chart_range.rb +17 -0
  6. data/lib/jirametrics/board.rb +4 -0
  7. data/lib/jirametrics/board_config.rb +4 -1
  8. data/lib/jirametrics/change_item.rb +12 -4
  9. data/lib/jirametrics/chart_base.rb +36 -2
  10. data/lib/jirametrics/cycletime_config.rb +22 -4
  11. data/lib/jirametrics/cycletime_histogram.rb +3 -1
  12. data/lib/jirametrics/cycletime_scatterplot.rb +36 -17
  13. data/lib/jirametrics/daily_view.rb +57 -53
  14. data/lib/jirametrics/daily_wip_by_age_chart.rb +3 -4
  15. data/lib/jirametrics/daily_wip_by_blocked_stalled_chart.rb +13 -3
  16. data/lib/jirametrics/daily_wip_chart.rb +1 -1
  17. data/lib/jirametrics/data_quality_report.rb +8 -3
  18. data/lib/jirametrics/dependency_chart.rb +4 -1
  19. data/lib/jirametrics/downloader.rb +34 -70
  20. data/lib/jirametrics/downloader_for_cloud.rb +202 -0
  21. data/lib/jirametrics/downloader_for_data_center.rb +94 -0
  22. data/lib/jirametrics/examples/standard_project.rb +9 -9
  23. data/lib/jirametrics/expedited_chart.rb +1 -1
  24. data/lib/jirametrics/exporter.rb +12 -5
  25. data/lib/jirametrics/file_system.rb +24 -1
  26. data/lib/jirametrics/fix_version.rb +13 -0
  27. data/lib/jirametrics/flow_efficiency_scatterplot.rb +1 -1
  28. data/lib/jirametrics/groupable_issue_chart.rb +7 -1
  29. data/lib/jirametrics/html/aging_work_bar_chart.erb +2 -1
  30. data/lib/jirametrics/html/aging_work_in_progress_chart.erb +3 -1
  31. data/lib/jirametrics/html/aging_work_table.erb +2 -0
  32. data/lib/jirametrics/html/collapsible_issues_panel.erb +2 -2
  33. data/lib/jirametrics/html/cycletime_histogram.erb +4 -2
  34. data/lib/jirametrics/html/cycletime_scatterplot.erb +6 -6
  35. data/lib/jirametrics/html/daily_wip_chart.erb +2 -0
  36. data/lib/jirametrics/html/estimate_accuracy_chart.erb +2 -0
  37. data/lib/jirametrics/html/expedited_chart.erb +3 -1
  38. data/lib/jirametrics/html/flow_efficiency_scatterplot.erb +2 -0
  39. data/lib/jirametrics/html/index.css +21 -9
  40. data/lib/jirametrics/html/index.erb +5 -37
  41. data/lib/jirametrics/html/index.js +114 -0
  42. data/lib/jirametrics/html/sprint_burndown.erb +11 -3
  43. data/lib/jirametrics/html/throughput_chart.erb +2 -2
  44. data/lib/jirametrics/html_generator.rb +31 -0
  45. data/lib/jirametrics/html_report_config.rb +8 -25
  46. data/lib/jirametrics/issue.rb +128 -23
  47. data/lib/jirametrics/jira_gateway.rb +59 -17
  48. data/lib/jirametrics/project_config.rb +42 -5
  49. data/lib/jirametrics/raw_javascript.rb +13 -0
  50. data/lib/jirametrics/settings.json +3 -1
  51. data/lib/jirametrics/sprint.rb +12 -0
  52. data/lib/jirametrics/sprint_burndown.rb +6 -2
  53. data/lib/jirametrics/status_collection.rb +1 -0
  54. data/lib/jirametrics/stitcher.rb +75 -0
  55. data/lib/jirametrics.rb +26 -69
  56. metadata +11 -3
data/lib/jirametrics.rb CHANGED
@@ -1,6 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'thor'
4
+ require 'require_all'
5
+
6
+ # This one does need to be loaded early. The rest will be loaded later.
7
+ require 'jirametrics/file_system'
4
8
 
5
9
  class JiraMetrics < Thor
6
10
  def self.exit_on_failure?
@@ -43,80 +47,33 @@ class JiraMetrics < Thor
43
47
 
44
48
  option :config
45
49
  desc 'info', 'Dump information about one issue'
46
- def info keys
50
+ def info key
47
51
  load_config options[:config]
48
- Exporter.instance.info(keys, name_filter: options[:name] || '*')
52
+ Exporter.instance.info(key, name_filter: options[:name] || '*')
49
53
  end
50
54
 
51
- private
52
-
53
- def load_config config_file
54
- config_file = './config.rb' if config_file.nil?
55
+ option :config
56
+ desc 'stitch', 'Dump information about one issue'
57
+ def stitch stitch_file = 'stitcher.erb'
58
+ load_config options[:config]
59
+ Exporter.instance.stitch stitch_file
60
+ end
55
61
 
56
- if File.exist? config_file
57
- # The fact that File.exist can see the file does not mean that require will be
58
- # able to load it. Convert this to an absolute pathname now for require.
59
- config_file = File.absolute_path(config_file).to_s
60
- else
61
- puts "Cannot find configuration file #{config_file.inspect}"
62
- exit 1
63
- end
62
+ no_commands do
63
+ def load_config config_file, file_system: FileSystem.new
64
+ config_file = './config.rb' if config_file.nil?
64
65
 
65
- require 'jirametrics/value_equality'
66
- require 'jirametrics/chart_base'
67
- require 'jirametrics/rules'
68
- require 'jirametrics/grouping_rules'
69
- require 'jirametrics/daily_wip_chart'
70
- require 'jirametrics/groupable_issue_chart'
71
- require 'jirametrics/css_variable'
72
- require 'jirametrics/issue_collection'
66
+ if file_system.file_exist? config_file
67
+ # The fact that File.exist can see the file does not mean that require will be
68
+ # able to load it. Convert this to an absolute pathname now for require.
69
+ config_file = File.absolute_path(config_file).to_s
70
+ else
71
+ file_system.error "Cannot find configuration file #{config_file.inspect}"
72
+ exit 1
73
+ end
73
74
 
74
- require 'jirametrics/aggregate_config'
75
- require 'jirametrics/expedited_chart'
76
- require 'jirametrics/board_config'
77
- require 'jirametrics/file_config'
78
- require 'jirametrics/jira_gateway'
79
- require 'jirametrics/trend_line_calculator'
80
- require 'jirametrics/status'
81
- require 'jirametrics/issue_link'
82
- require 'jirametrics/estimate_accuracy_chart'
83
- require 'jirametrics/status_collection'
84
- require 'jirametrics/sprint'
85
- require 'jirametrics/issue'
86
- require 'jirametrics/daily_wip_by_age_chart'
87
- require 'jirametrics/daily_wip_by_parent_chart'
88
- require 'jirametrics/aging_work_in_progress_chart'
89
- require 'jirametrics/cycletime_scatterplot'
90
- require 'jirametrics/flow_efficiency_scatterplot'
91
- require 'jirametrics/sprint_issue_change_data'
92
- require 'jirametrics/cycletime_histogram'
93
- require 'jirametrics/daily_wip_by_blocked_stalled_chart'
94
- require 'jirametrics/html_report_config'
95
- require 'jirametrics/data_quality_report'
96
- require 'jirametrics/aging_work_bar_chart'
97
- require 'jirametrics/change_item'
98
- require 'jirametrics/project_config'
99
- require 'jirametrics/dependency_chart'
100
- require 'jirametrics/cycletime_config'
101
- require 'jirametrics/tree_organizer'
102
- require 'jirametrics/aging_work_table'
103
- require 'jirametrics/sprint_burndown'
104
- require 'jirametrics/self_or_issue_dispatcher'
105
- require 'jirametrics/throughput_chart'
106
- require 'jirametrics/exporter'
107
- require 'jirametrics/file_system'
108
- require 'jirametrics/blocked_stalled_change'
109
- require 'jirametrics/board_column'
110
- require 'jirametrics/anonymizer'
111
- require 'jirametrics/downloader'
112
- require 'jirametrics/fix_version'
113
- require 'jirametrics/download_config'
114
- require 'jirametrics/columns_config'
115
- require 'jirametrics/hierarchy_table'
116
- require 'jirametrics/estimation_configuration'
117
- require 'jirametrics/board'
118
- require 'jirametrics/daily_view'
119
- require 'jirametrics/user'
120
- load config_file
75
+ require_rel 'jirametrics'
76
+ load config_file
77
+ end
121
78
  end
122
79
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jirametrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.1
4
+ version: '2.22'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Bowler
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-07-13 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: random-word
@@ -65,6 +65,8 @@ files:
65
65
  - lib/jirametrics/aging_work_in_progress_chart.rb
66
66
  - lib/jirametrics/aging_work_table.rb
67
67
  - lib/jirametrics/anonymizer.rb
68
+ - lib/jirametrics/atlassian_document_format.rb
69
+ - lib/jirametrics/bar_chart_range.rb
68
70
  - lib/jirametrics/blocked_stalled_change.rb
69
71
  - lib/jirametrics/board.rb
70
72
  - lib/jirametrics/board_column.rb
@@ -86,6 +88,8 @@ files:
86
88
  - lib/jirametrics/dependency_chart.rb
87
89
  - lib/jirametrics/download_config.rb
88
90
  - lib/jirametrics/downloader.rb
91
+ - lib/jirametrics/downloader_for_cloud.rb
92
+ - lib/jirametrics/downloader_for_data_center.rb
89
93
  - lib/jirametrics/estimate_accuracy_chart.rb
90
94
  - lib/jirametrics/estimation_configuration.rb
91
95
  - lib/jirametrics/examples/aggregated_project.rb
@@ -112,14 +116,17 @@ files:
112
116
  - lib/jirametrics/html/hierarchy_table.erb
113
117
  - lib/jirametrics/html/index.css
114
118
  - lib/jirametrics/html/index.erb
119
+ - lib/jirametrics/html/index.js
115
120
  - lib/jirametrics/html/sprint_burndown.erb
116
121
  - lib/jirametrics/html/throughput_chart.erb
122
+ - lib/jirametrics/html_generator.rb
117
123
  - lib/jirametrics/html_report_config.rb
118
124
  - lib/jirametrics/issue.rb
119
125
  - lib/jirametrics/issue_collection.rb
120
126
  - lib/jirametrics/issue_link.rb
121
127
  - lib/jirametrics/jira_gateway.rb
122
128
  - lib/jirametrics/project_config.rb
129
+ - lib/jirametrics/raw_javascript.rb
123
130
  - lib/jirametrics/rules.rb
124
131
  - lib/jirametrics/self_or_issue_dispatcher.rb
125
132
  - lib/jirametrics/settings.json
@@ -128,6 +135,7 @@ files:
128
135
  - lib/jirametrics/sprint_issue_change_data.rb
129
136
  - lib/jirametrics/status.rb
130
137
  - lib/jirametrics/status_collection.rb
138
+ - lib/jirametrics/stitcher.rb
131
139
  - lib/jirametrics/throughput_chart.rb
132
140
  - lib/jirametrics/tree_organizer.rb
133
141
  - lib/jirametrics/trend_line_calculator.rb
@@ -155,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
163
  - !ruby/object:Gem::Version
156
164
  version: '0'
157
165
  requirements: []
158
- rubygems_version: 3.6.2
166
+ rubygems_version: 3.6.9
159
167
  specification_version: 4
160
168
  summary: Extract Jira metrics
161
169
  test_files: []