Module: JiraIssue::TriageTracker
- Included in:
- JiraIssue
- Defined in:
- lib/jira_reporting/triage_tracker.rb
Instance Method Summary collapse
- #over_triage_sla? ⇒ Boolean
- #set_over_triage_sla!(over_triage = nil) ⇒ Object
- #set_sla_triaged_at!(sla_triaged = nil) ⇒ Object
- #time_to_triage ⇒ Object
- #triage_sla_remaining_time ⇒ Object
- #triage_sla_target ⇒ Object
- #triage_sla_total_available_time ⇒ Object
Instance Method Details
#over_triage_sla? ⇒ Boolean
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/jira_reporting/triage_tracker.rb', line 50 def over_triage_sla? case when over_triage_sla == API_OVER_TRIAGE_SLA_FIELD_NO false when triage_sla_target.nil? false when triaged.nil? && Time.now > triage_sla_target true when triaged.nil? && Time.now < triage_sla_target false when sla_triaged_at.nil? && triaged < triage_sla_target false when sla_triaged_at.nil? && triaged > triage_sla_target true when triaged && sla_triaged_at > triage_sla_target true end end |
#set_over_triage_sla!(over_triage = nil) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/jira_reporting/triage_tracker.rb', line 11 def set_over_triage_sla!(over_triage = nil) over_triage ||= over_triage_sla? return if over_triage.nil? || over_triage == false jira_issue = jiralicious_issue jira_issue.fields.set_id(OVER_TRIAGE_SLA_FIELD, OVER_TRIAGE_SLA_FIELD_YES) jira_issue.save! end |
#set_sla_triaged_at!(sla_triaged = nil) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/jira_reporting/triage_tracker.rb', line 3 def set_sla_triaged_at!(sla_triaged = nil) sla_triaged ||= triaged return if sla_triaged.nil? jira_issue = jiralicious_issue jira_issue.fields.set(SLA_TRIAGED_AT_FIELD, sla_triaged.iso8601) jira_issue.save! end |
#time_to_triage ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/jira_reporting/triage_tracker.rb', line 19 def time_to_triage if triaged triaged - sla_base else nil end end |
#triage_sla_remaining_time ⇒ Object
46 47 48 |
# File 'lib/jira_reporting/triage_tracker.rb', line 46 def triage_sla_remaining_time triage_sla_target - Time.now end |
#triage_sla_target ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/jira_reporting/triage_tracker.rb', line 27 def triage_sla_target case priority when :p1 sla_base + 0.5.hours when :p2 sla_base + 1.hours when :p3 2.business_hours.after(sla_base) when :p4 1.business_day.after(sla_base) else nil end end |
#triage_sla_total_available_time ⇒ Object
42 43 44 |
# File 'lib/jira_reporting/triage_tracker.rb', line 42 def triage_sla_total_available_time triage_sla_target - sla_base end |