jirametrics 1.3 → 1.4
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/lib/jirametrics/issue.rb +1 -9
- data/lib/jirametrics/project_config.rb +4 -12
- data/lib/jirametrics/status.rb +19 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62643ff6e83e13e0b414c3969d9ff8dbb6e8eb3fa814413cb15914a5796efaff
|
4
|
+
data.tar.gz: 2b4a18c24fb7ed094f501b1474456de62e69197c63fca79351b9562a2f3d5c5d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42a7b6181becd0aeff379e375834ad8c1d4df1bda1dfb3141ded7992d3bb8cc2dbcce607a700ab93dc36044eec85d6c9562f84a9ace6c0dcd0f6cbceded1771e
|
7
|
+
data.tar.gz: b0085ac3089e674c8f3e36d13de345fefd39c0fece121542faf9b29338da3cdee092b84f7bbd55427a162ddc56dd9a8c65d419549471cd6ca5d8f359dab313af
|
data/lib/jirametrics/issue.rb
CHANGED
@@ -51,15 +51,7 @@ class Issue
|
|
51
51
|
def summary = @raw['fields']['summary']
|
52
52
|
|
53
53
|
def status
|
54
|
-
|
55
|
-
raw_category = raw_status['statusCategory']
|
56
|
-
|
57
|
-
Status.new(
|
58
|
-
name: raw_status['name'],
|
59
|
-
id: raw_status['id'].to_i,
|
60
|
-
category_name: raw_category['name'],
|
61
|
-
category_id: raw_category['id'].to_i
|
62
|
-
)
|
54
|
+
Status.new raw: @raw['fields']['status']
|
63
55
|
end
|
64
56
|
|
65
57
|
def status_id
|
@@ -41,7 +41,7 @@ class ProjectConfig
|
|
41
41
|
def run
|
42
42
|
unless aggregated_project?
|
43
43
|
load_all_boards
|
44
|
-
@project_id = @all_boards.first.last
|
44
|
+
@project_id = @all_boards.first.last&.project_id
|
45
45
|
load_status_category_mappings
|
46
46
|
load_project_metadata
|
47
47
|
load_sprints
|
@@ -101,7 +101,7 @@ class ProjectConfig
|
|
101
101
|
return
|
102
102
|
end
|
103
103
|
|
104
|
-
add_possible_status Status.new(name: status,
|
104
|
+
add_possible_status Status.new(name: status, category_name: category)
|
105
105
|
end
|
106
106
|
|
107
107
|
def load_all_boards
|
@@ -172,15 +172,7 @@ class ProjectConfig
|
|
172
172
|
end
|
173
173
|
|
174
174
|
status_json_snippets.each do |snippet|
|
175
|
-
|
176
|
-
status_name = snippet['name']
|
177
|
-
add_possible_status Status.new(
|
178
|
-
name: status_name,
|
179
|
-
id: snippet['id'].to_i,
|
180
|
-
category_name: category_config['name'],
|
181
|
-
category_id: category_config['id'].to_i,
|
182
|
-
project_id: snippet['scope']&.[]('project')&.[]('id') # May have a value if this is a NextGen project
|
183
|
-
)
|
175
|
+
add_possible_status Status.new(raw: snippet)
|
184
176
|
end
|
185
177
|
end
|
186
178
|
|
@@ -202,7 +194,7 @@ class ProjectConfig
|
|
202
194
|
|
203
195
|
def add_possible_status status
|
204
196
|
# If it's project scoped and it's not this project, just ignore it.
|
205
|
-
return if status.project_id && status.project_id != @project_id
|
197
|
+
return if status.project_id && (@project_id.nil? || status.project_id != @project_id)
|
206
198
|
|
207
199
|
existing_status = find_status(name: status.name)
|
208
200
|
|
data/lib/jirametrics/status.rb
CHANGED
@@ -4,12 +4,27 @@ class Status
|
|
4
4
|
attr_reader :id, :type, :category_name, :category_id, :project_id
|
5
5
|
attr_accessor :name
|
6
6
|
|
7
|
-
def initialize name
|
7
|
+
def initialize name: nil, id: nil, category_name: nil, category_id: nil, project_id: nil, raw: nil
|
8
8
|
@name = name
|
9
9
|
@id = id
|
10
10
|
@category_name = category_name
|
11
11
|
@category_id = category_id
|
12
12
|
@project_id = project_id
|
13
|
+
|
14
|
+
if raw
|
15
|
+
@raw = raw
|
16
|
+
@name = raw['name']
|
17
|
+
@id = raw['id'].to_i
|
18
|
+
|
19
|
+
category_config = raw['statusCategory']
|
20
|
+
@category_name = category_config['name']
|
21
|
+
@category_id = category_config['id'].to_i
|
22
|
+
|
23
|
+
# If this is a NextGen project then this status may be project specific. When this field is
|
24
|
+
# nil then the status is global.
|
25
|
+
@project_id = raw['scope']&.[]('project')&.[]('id')
|
26
|
+
end
|
27
|
+
|
13
28
|
end
|
14
29
|
|
15
30
|
def to_s
|
@@ -22,6 +37,8 @@ class Status
|
|
22
37
|
end
|
23
38
|
|
24
39
|
def state
|
25
|
-
instance_variables
|
40
|
+
instance_variables
|
41
|
+
.reject {|variable| variable == :@raw}
|
42
|
+
.map { |variable| instance_variable_get variable }
|
26
43
|
end
|
27
44
|
end
|
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.
|
4
|
+
version: '1.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Bowler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-04-
|
11
|
+
date: 2024-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: random-word
|