opsask 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/lib/opsask/app.rb +22 -17
- data/lib/opsask/main.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75097b91c96acd45e9e062c321d28fa89853675e
|
4
|
+
data.tar.gz: 22a2612de1a3f395f367d6adda5df21097af4329
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e467bb33932be0df2a37b5dbfc671dd66fe38f10183622eb3ca8e0d4381eaaa3eec72e1ad8220e72478051f6695664e47250a52fd5273566390485301ba0303
|
7
|
+
data.tar.gz: 9f2775c5d956cbdbd5c7dff1e3019d40f4e60564084c37383b83410e28420a1ad169269cd94550669b28451afac0e5d2ae1b04ab002ffca4eefd8a74e0a41f40
|
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.3
|
data/lib/opsask/app.rb
CHANGED
@@ -62,13 +62,13 @@ module OpsAsk
|
|
62
62
|
sprint: sprint,
|
63
63
|
ask_stats: stats_for(
|
64
64
|
asks_in_sprint(num),
|
65
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "labels in (Sprint#{num}) AND resolution is not EMPTY"}",
|
66
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "labels in (Sprint#{num}) AND resolution is EMPTY"}"
|
65
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) AND resolution is not EMPTY", nil)}",
|
66
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) AND resolution is EMPTY", nil)}"
|
67
67
|
),
|
68
68
|
sprint_stats: stats_for(
|
69
69
|
items_in_sprint(num),
|
70
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "sprint = #{id} AND resolution is not EMPTY"}",
|
71
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "sprint = #{id} AND resolution is EMPTY"}"
|
70
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} AND resolution is not EMPTY", nil)}",
|
71
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} AND resolution is EMPTY", nil)}"
|
72
72
|
),
|
73
73
|
untracked_jiras: untracked_issues,
|
74
74
|
stragglers: straggling_issues
|
@@ -82,13 +82,13 @@ module OpsAsk
|
|
82
82
|
sprint: current_sprint,
|
83
83
|
ask_stats: stats_for(
|
84
84
|
asks_in_current_sprint,
|
85
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "labels in (Sprint#{num}) AND resolution is not EMPTY"}",
|
86
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "labels in (Sprint#{num}) AND resolution is EMPTY"}"
|
85
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) AND resolution is not EMPTY", nil)}",
|
86
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) AND resolution is EMPTY", nil)}"
|
87
87
|
),
|
88
88
|
sprint_stats: stats_for(
|
89
89
|
items_in_current_sprint,
|
90
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "sprint = #{id} AND resolution is not EMPTY"}",
|
91
|
-
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape "sprint = #{id} AND resolution is EMPTY"}"
|
90
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} AND resolution is not EMPTY", nil)}",
|
91
|
+
"#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} AND resolution is EMPTY", nil)}"
|
92
92
|
),
|
93
93
|
untracked_jiras: untracked_issues,
|
94
94
|
stragglers: straggling_issues
|
@@ -287,7 +287,7 @@ module OpsAsk
|
|
287
287
|
return [] unless logged_in?
|
288
288
|
issues = []
|
289
289
|
id = get_sprint(num)['id']
|
290
|
-
@jira_client.Issue.jql("sprint = #{id}", max_results: 500).each do |i|
|
290
|
+
@jira_client.Issue.jql(normalized_jql("sprint = #{id}", nil), max_results: 500).each do |i|
|
291
291
|
issues << i.attrs
|
292
292
|
end
|
293
293
|
return issues
|
@@ -300,7 +300,7 @@ module OpsAsk
|
|
300
300
|
def asks_in_sprint num
|
301
301
|
return [] unless logged_in?
|
302
302
|
issues = []
|
303
|
-
@jira_client.Issue.jql("labels in (Sprint#{num})", max_results: 500).each do |i|
|
303
|
+
@jira_client.Issue.jql(normalized_jql("labels in (Sprint#{num})", nil), max_results: 500).each do |i|
|
304
304
|
issues << i.attrs
|
305
305
|
end
|
306
306
|
return issues
|
@@ -410,9 +410,9 @@ module OpsAsk
|
|
410
410
|
def jiras_for date
|
411
411
|
return [] unless logged_in?
|
412
412
|
unless ops?
|
413
|
-
return @jira_client.Issue.jql("due = #{date} AND
|
413
|
+
return @jira_client.Issue.jql normalized_jql("due = #{date} AND type != Change AND labels in (OpsAsk) AND labels not in (OpsOnly)"), max_results: 100
|
414
414
|
end
|
415
|
-
return @jira_client.Issue.jql("due = #{date} AND
|
415
|
+
return @jira_client.Issue.jql normalized_jql("due = #{date} AND labels in (OpsAsk) AND type != Change"), max_results: 100
|
416
416
|
end
|
417
417
|
|
418
418
|
def jira_count_for date
|
@@ -498,6 +498,7 @@ module OpsAsk
|
|
498
498
|
components = [ { name: component } ] unless component
|
499
499
|
labels = [ 'OpsAsk', current_sprint_name ].compact
|
500
500
|
labels << 'OpsOnly' if ops_only
|
501
|
+
labels << settings.config[:require_label] if settings.config[:require_label]
|
501
502
|
data = {
|
502
503
|
fields: {
|
503
504
|
project: { key: settings.config[:project_key] },
|
@@ -543,12 +544,11 @@ module OpsAsk
|
|
543
544
|
def untracked_issues
|
544
545
|
return [] unless logged_in?
|
545
546
|
constraints = [
|
546
|
-
"project = #{settings.config[:project_name]}",
|
547
547
|
"due < #{today}",
|
548
548
|
"resolution = unresolved",
|
549
549
|
"assignee = denimcores"
|
550
550
|
].join(' AND ')
|
551
|
-
@jira_client.Issue.jql(constraints, max_results: 100).sort_by do |jira|
|
551
|
+
@jira_client.Issue.jql(normalized_jql(constraints), max_results: 100).sort_by do |jira|
|
552
552
|
sorting_key_for(jira)
|
553
553
|
end.reverse
|
554
554
|
end
|
@@ -556,20 +556,19 @@ module OpsAsk
|
|
556
556
|
def straggling_issues
|
557
557
|
return [] unless logged_in?
|
558
558
|
constraints = [
|
559
|
-
"project = #{settings.config[:project_name]}",
|
560
559
|
"due < #{today}",
|
561
560
|
"labels in (OpsAsk)",
|
562
561
|
"resolution = unresolved",
|
563
562
|
"assignee != denimcores"
|
564
563
|
].join(' AND ')
|
565
|
-
@jira_client.Issue.jql(constraints, max_results: 100).sort_by do |jira|
|
564
|
+
@jira_client.Issue.jql(normalized_jql(constraints), max_results: 100).sort_by do |jira|
|
566
565
|
sorting_key_for(jira)
|
567
566
|
end.reverse
|
568
567
|
end
|
569
568
|
|
570
569
|
def epics
|
571
570
|
data = {
|
572
|
-
jql: "type = Epic
|
571
|
+
jql: normalized_jql("type = Epic"),
|
573
572
|
startAt: 0,
|
574
573
|
maxResults: 1000
|
575
574
|
}
|
@@ -622,5 +621,11 @@ module OpsAsk
|
|
622
621
|
'name' => response['fields']['customfield_10351'] || response['fields']['summary']
|
623
622
|
}
|
624
623
|
end
|
624
|
+
|
625
|
+
def normalized_jql query, project=settings.config[:project_name], label=settings.config[:require_label]
|
626
|
+
query += " AND project = #{project}" if project
|
627
|
+
query += " AND labels in (#{label})" if label
|
628
|
+
return query
|
629
|
+
end
|
625
630
|
end
|
626
631
|
end
|
data/lib/opsask/main.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opsask
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Clemmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|