Inspiration
Dashboards are a very useful feature for Jira where users can get a high level overview and yet able to drill down into the issues when required.
However, when a user needs to look at many dashboards, there is a high tendency that they end up not looking at any of them. (Too Many Din Read is a sibling of TLDR;)
It will be helpful for users to get scheduled reminders to look at the dashboards so that organization goals are met.
We conducted market research and discovered that both JRACLOUD-15260 and JRASERVER-15260 have a popular request with over 280 votes.
What it does
We started in that direction and went a step further to ask ourselves what users will need to do when they get a reminder to check out a dashboard.
- The project managers would want to know how many users have reviewed the metrics
- The new users would want to understand more about the KPIs and get guidance on how to meet them
- Some users may want to leave comments and follow up actions after looking at the dashboards
- Some users may want to keep a screenshot of the dashboard for future reference since the charts are based on point-in-time and may change over time
- Some users may want to subscribe/unsubscribe to future notifications

| S/N | Features | Description |
|---|---|---|
| 1 | Frequency | When the issue will be scheduled to be created (Daily, Weekly, Monthly) |
| 2 | Confirm Review | When user Confirm Review, they will be added as a watcher when the next scheduled issue has been created. |
| 3 | Watcher | Clicking on the eye icon will add/remove the user as a watcher for the current issue only |
Proposed workflow with Dashboard Assistant app
- A user will add a Dashboard Review Gadget on the Dashboard and specify the alert frequency (e.g. weekly) and the initial subscribers to get Jira notifications
- Every period (e.g. week), the subscriber will get an email which will lead them to the dashboard
- The subscriber can review the numbers on the dashboard or to updates the issues which have not synchronized to Jira yet
- When it is done, they will click the Confirm Review button to indicate they have done their review or completed the instructions
- If there is any actions or questions, they can post comments in the Dashboard Review Gadget
- Together, all the subscribers can collaborate together in each cadence
How we built it
- For each comment gadget, the app will create a Team-managed Jira project automatically.
- A new Jira issue is created for each new reporting period
- All the discussions for that period are added as comments for that Jira issue
- The notifications are handled via the issue watcher list, so Jira will handle the notifications on behalf of the app.
- There is a scheduler which will be responsible for adding new Jira issues in the associated Jira projects to trigger a new round of review
Some user visible data are stored within the Jira issues so that power users can also access/modify with ease.
Users can modify the access control via Jira in-built project settings.
Those backend data which should not be modified by end users are stored using Forge hosted storage.
Challenges we ran into
We spent some time thinking on
- How to send emails to users without having their email addresses?
- How to store the data which will grow over time since we do not want to have data egress with an external database?
- How to manage the access control to prevent wikileaks?
- What happens if the underlying dashboard or Jira project is deleted?
- How can new users subscribe to the dashboard without asking the Dashboard editors (which can cause a bottleneck)?
- How to prevent abuse if a user add the entire jira-users group to the notification list?
- How can users remove themselves from the update if they cannot reach the dashboard owner?
- Is there a limit on the number of users that a dashboard gadget can store?
The design should also be scalable for future extensions
- How users can search for comments?
- How users can attach annotated screenshots of the dashboard?
- How can users migrate their app data with ease when they want to move/merge to another Jira Cloud site?
Then we realised that the solution is directly in front of us. Jira is an established framework consisting of
- commenting system
- watcher system
- email notification
- access control
- searching
- attachments
With these subsystems readily available, it became possible to complete the development in time for the Codegeist submission.
Accomplishments that we're proud of
Unique way of storing app data
I think this app introduced an innovative idea of creating new Jira issues to store the app data. We hope our "issues creating" app can inspire fellow developers to create more Jira issues with their apps. That would increase the business value of Jira with even more use cases.
It will be encouraging if Jira can provide a new project type for apps to store user accessible data. Currently there are 3 project types (business, software and service desk).
You can use it only if you use it There is also a fun concept that we introduced in our app. Active participation is required to use the feature.
A user has to acknowledge by clicking on the Confirm review button to remain on the subscription list. In event if the subscriber misses a review due to a holiday, the user can re-enrol back on the list by resuming the review action.
Likewise, when all the subscribers do not participate in the review for more than 1 period, the app will end the reminder service for that dashboard. That will reduce the spam to their inboxes. This design is also an elegant solution if the gadget is removed from the dashboard since there is no "gadget deleted" event.
There is a final notice alert to remind users to continue the review.
We have seen many scenarios where users are still getting filter subscriptions when the project has completed.
What we learned
Teamwork is a powerful concept. The saying "Standing on the shoulders of the giant" is relevant in 3 contexts.
- The Atlassian Forge framework provide a solid framework for app development so that we can address security concerns with zero data egress and data residency
- The app can leverage on many Jira subsystems
- The solution design was refined by seniors who have in-depth experience working with Jira
It will be a huge challenge to build this app from scratch
What's next for Dashboard Assistant for Jira Cloud
There are many ideas we have in store for Dashboard Assistant. We will be dogfooding the app for our team and hope to get user feedback by listing in Atlassian Marketplace.
Our immediate focus will be ensuring that the app has a solid foundation before adding more features. There may be some minor gaps since we only have a short time to work on this.






Log in or sign up for Devpost to join the conversation.