opsask 2.0.12 → 2.0.13

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
  SHA1:
3
- metadata.gz: 64a1996b5ca927b9165bf0b852c8914558154b1c
4
- data.tar.gz: 9137f959e9afcd4137cb5db3434f78df3fab3b9a
3
+ metadata.gz: 2f4d77531f74ef9789a363e5e01606d92a50257a
4
+ data.tar.gz: 4eafcc0bc4cc4c325c25b2b502cfbd4697018bc5
5
5
  SHA512:
6
- metadata.gz: a9bed853571ccac80880043300a3261d60d404474ce677e0698fb93a50dd886c19466bb098c07c939d4f4637500e9958bfa0f67670fa11ce73eec869a9c9e26d
7
- data.tar.gz: c00de6d25a2ff7cf79915601471733b94a5f44cb60bd2fa35de15b902951bf529a4bfaa88fc4ce8c2b7bec1a74a14802b8c1c38a87e502d17e59c4c678433f6c
6
+ metadata.gz: 3ace14b19628af3633ee9ed174144dd01f89b2f5d0a03a7033006b78209e0c9ecb0a2fb61060e65557ae82c67bcc2a3e27f786135d382477fd4a1ae67d14493d
7
+ data.tar.gz: ad629f3c10e090b0bf307e296ec26a8d174c960626fad82283e9f0bcd2a708499afe88d3d543c4c2fd18dbd5230fcce9bfcccdea9eeddbc6218d502366d26702
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- opsask (2.0.11)
4
+ opsask (2.0.12)
5
5
  curb (~> 0.8)
6
6
  rack (~> 1)
7
7
  rack-flash3 (~> 1)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.12
1
+ 2.0.13
data/lib/opsask/app.rb CHANGED
@@ -66,12 +66,14 @@ module OpsAsk
66
66
  ask_stats: stats_for(
67
67
  asks_in_sprint(num),
68
68
  "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and resolution is not empty", nil)}",
69
- "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and resolution is empty", nil)}"
69
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and resolution is empty", nil)}",
70
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and \"Story Points\" is empty", nil)}"
70
71
  ),
71
72
  sprint_stats: stats_for(
72
73
  items_in_sprint(num),
73
74
  "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and resolution is not empty", nil)}",
74
- "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and resolution is empty", nil)}"
75
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and resolution is empty", nil)}",
76
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and \"Story Points\" is empty", nil)}"
75
77
  ),
76
78
  untracked_jiras: untracked_issues,
77
79
  stragglers: straggling_issues
@@ -86,12 +88,14 @@ module OpsAsk
86
88
  ask_stats: stats_for(
87
89
  asks_in_current_sprint,
88
90
  "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and resolution is not empty", nil)}",
89
- "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and resolution is empty", nil)}"
91
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and resolution is empty", nil)}",
92
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("labels in (Sprint#{num}) and \"Story Points\" is empty", nil)}"
90
93
  ),
91
94
  sprint_stats: stats_for(
92
95
  items_in_current_sprint,
93
96
  "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and resolution is not empty", nil)}",
94
- "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and resolution is empty", nil)}"
97
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and resolution is empty", nil)}",
98
+ "#{settings.config[:jira_url]}/issues/?jql=#{URI::escape normalized_jql("sprint = #{id} and \"Story Points\" is empty", nil)}"
95
99
  ),
96
100
  untracked_jiras: untracked_issues,
97
101
  stragglers: straggling_issues
@@ -27,11 +27,11 @@ module OpsAsk
27
27
  return date
28
28
  end
29
29
 
30
- def stats_for issues, resolved_link, unresolved_link
30
+ def stats_for issues, resolved_link, unresolved_link, unsized_link
31
31
  return {} unless logged_in?
32
32
  return {} unless issues
33
33
 
34
- resolved_issues, unresolved_issues = [], []
34
+ unsized_issues, resolved_issues, unresolved_issues = [], [], []
35
35
 
36
36
  issues.map! do |i|
37
37
  key = i['key']
@@ -46,7 +46,9 @@ module OpsAsk
46
46
  points: points
47
47
  }
48
48
 
49
- if resolution.nil?
49
+ if i['fields']['customfield_10002'].nil?
50
+ unsized_issues << issue
51
+ elsif resolution.nil?
50
52
  unresolved_issues << issue
51
53
  else
52
54
  resolved_issues << issue
@@ -63,6 +65,10 @@ module OpsAsk
63
65
  number: unresolved_issues.size,
64
66
  points: unresolved_issues.map { |i| i[:points] }.reduce(0, :+),
65
67
  link: unresolved_link
68
+ },
69
+ unsized: {
70
+ number: unsized_issues.size,
71
+ link: unsized_link
66
72
  }
67
73
  }
68
74
  end
data/public/css/style.css CHANGED
@@ -190,4 +190,10 @@ input[type="checkbox"] + label {
190
190
  font-size: 1.4em;
191
191
  padding-top: 0.75em;
192
192
  font-weight: bold;
193
+ }
194
+
195
+ .unsized {
196
+ line-height: 1.5em;
197
+ padding: 1em 0;
198
+ text-align : center;
193
199
  }
data/views/layout.erb CHANGED
@@ -22,7 +22,7 @@
22
22
  <section id="ops-ask" class="small-4 small-offset-4 columns">
23
23
  <h2>&nbsp;</h2>
24
24
  <h3 class="need-to-login-to-jira">Sorry, auth required</h3>
25
- <p class="need-to-login-to-jira">If you'd like to view the queues and submit new issues please <a href="/login">authorize with JIRA</a> first.</p>
25
+ <p class="need-to-login-to-jira">If you'd like to view the queues and submit new issues please <a href="/login">authorize with JIRA</a> first. JIRA should redirect you back here automatically, but if not, simply try again.</p>
26
26
  </section>
27
27
  <% end %>
28
28
  </div>
data/views/stats.erb CHANGED
@@ -17,6 +17,11 @@
17
17
  <div class="about">Unresolved</div>
18
18
  </div>
19
19
  </a>
20
+ <% if ask_stats[:unsized] && ask_stats[:unsized][:number] > 0 %>
21
+ <a href="<%= ask_stats[:unsized][:link] rescue '#' %>" target="_blank">
22
+ <div class="unsized"><%= pluralize ask_stats[:unsized][:number], 'unsized issue' %></div>
23
+ </a>
24
+ <% end %>
20
25
  </div>
21
26
  </div>
22
27
  <div class="small-5 columns">
@@ -36,6 +41,11 @@
36
41
  <div class="about">Unresolved</div>
37
42
  </div>
38
43
  </a>
44
+ <% if sprint_stats[:unsized] && sprint_stats[:unsized][:number] > 0 %>
45
+ <a href="<%= sprint_stats[:unsized][:link] rescue '#' %>" target="_blank">
46
+ <div class="unsized"><%= pluralize sprint_stats[:unsized][:number], 'unsized issue' %></div>
47
+ </a>
48
+ <% end %>
39
49
  </div>
40
50
  </div>
41
51
  </div>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opsask
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.12
4
+ version: 2.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Clemmer