feat(grafana): jira sprint based dashboards
Adds a new Grafana dashboard for Jira that is sprint-based rather than time-based. Some of the features:
Hides the global time picker Introduces a sprint selection dropdown to scope all panels Does not modify the existing Kanban (time-based) dashboard
⚠️ Pre Checklist
Please complete ALL items in this checklist, and remove before submitting
- [x] I have read through the Contributing Documentation.
- [x] I have added relevant tests.
- [x] I have added relevant documentation.
- [x] I will add labels to the PR, such as
pr-type/bug-fix,pr-type/feature-development, etc.
Summary
What does this PR do? The PR adds a new Grafana dashboard for Jira. While the existing Jira dashboard is used for time based Kanban boards, this PR contributes an additional Jira board which is used for sprint boards. The board doesn't have time picker. Instead, I have added sprint dropdown. All tiles correspond to the sprint dropdown.
Screenshots
Sprint dropdown with 'Multiple selection' and 'All' option. Time picker is removed
Hi @Bhoopalan1999 , I checked the dashboard and it's overall good.
- My biggest question is why there is a
cycle timewhenIssue lead timealready exists? They're the same to me.
I checked the SQL and found you joined tables like _tool_jira_issue_changelogs and excluded specific issue types such as 'In Progress' and 'Developing'. This seems applicable only to your specific cases rather than a general approach. My suggestion is to remove this section if you want to get this merged to the main branch, which won't affect your ux, as you can still keep this section on your local dashboard.
- The number of overall issue delivery rate is not consistent with the rate by sprint I didn't dig into it. Please take a look.
- Please remove all status/type/... filters only applicable to your own use cases. Take 'delivery rate' as an example, I checked the SQL and found that you added the condition to exclude 'cancelled' status. This is not recommended if you want to share this with other users.
Hello @Startrekzky
Thanks for the feedback.
1. Difference between Cycle Lead Time & Issue Lead Time: Cycle time calculates how long has it taken for an issue to be resolved from the time it was moved to 'In Progress' or 'Developing'. That's why you see only these two Jira status selected in the sql query. Issue lead time, on the other hand, calculates the entire lifetime of a specific Jira issue (from the time of the issue creation -> till it is marked as 'delivered'). Considering this is a sprint board, I thought having both would be useful for sprint board users as most of my teams who opted for sprint board needed Cycle time. I shall remove it and update you so that it is consistent with existing Jira Kanban board.
2. The number of overall issue delivery rate is not consistent with the rate by sprint It's working in my dashboards. I'll troubleshoot and fix it and raise another PR.
3. Please remove all status/type/... filters only applicable to your own use cases. Sure. I'll remove that and update in the next PR.
I've made the changes in the new commit: Fixed:
- My biggest question is why there is a cycle time when Issue lead time already exists? They're the same to me. - Removed them
- The number of overall issue delivery rate is not consistent with the rate by sprint - The possible reason is that issue_type was a custom variable in my dashboard and it is a query variable in existing Jira dashboard. Fixed it. Working fine in my board.
- Please remove all status/type/... filters only applicable to your own use cases - Removed that in all tiles of the jira sprint dashboard
Hello @Startrekzky
Thanks for the feedback. I've updated all the changes requested. Also, I've now moved the file. Previously, I've accidentally kept the file inside grafana folder directly instead of grafana/dashboards. That's fixed now. Please review.