⭐ Inspiration

The inspiration about Dependency Viewer came long time ago when our team was looking for a way to identify cyclic dependencies in our tickets. This way, we could identify potential blockers ahead of time, i.e. ticket A awaits ticket B which awaits ticket C which goes back to rely on ticket A. Then the idea evolved into showing the whole dependency tree and quickly identifying if the dependency is cyclic. Afterwards, we developed even more functionalities including Epic estimation summary, changing of information, logging time and others.

Then years later, being on the marketplace as a Connect add-on, we decided it is the perfect candidate for a Forge migration. It already had a user base and the application is not that small. We already have a Forge app on the marketplace but we haven't done a real migration before and we were excited to try that.


❓What is does

With Dependency Viewer you can get a quick overview of the dependencies in your project. You can:

  • Find which issues are blocking your work
  • Identify how long tickets have stayed in the same status - a potential indicator of problems
  • See the last change per issue and when it was made

📌 Main features:

  • See dependent issues, days in status, last comment, last change based on the selected favorite filter.
  • Take quick actions for any issue: link, change priority, status, assignee or log work
  • Filter by status and link type
  • Browse hierarchies of any depth
  • See detailed information for all related issues

📌 With the Epics Summary module you can view:

  • Estimated, remaining and logged time on Epic level including linked tasks and their sub-tasks
  • Total count of unestimated, unassigned and completed issues
  • Issues not assigned to an Epic


🔧 How we built it

For the core app, we used Java and React. The migration process was relatively straightforward and we were able to complete it relatively quickly using the official documentation Adopt Forge from Connect and some videos from the Atlassian Developer Youtube channel.


🏅 Accomplishments that we're proud of

We are proud to have successfully created the Forge manifest file, a crucial step in the migration process. This achievement allowed us to deploy the new version of our plugin to a test environment, ensuring its functionality and stability before its eventual deployment to production.


🚨 Challenges we ran into

One of the primary challenges we encountered during the migration process was configuring the remotes.baseUrl property in the Forge manifest. We initially struggled to understand the deployment implications and the necessity of rebuilding the Connect URL and maintaining its hosting.


💡 What we learned

Through this migration, we gained valuable insights into modernizing legacy plugins. By adapting to the new ecosystem, we successfully revitalized our plugin and ensured its continued relevance in the Atlassian marketplace.


🔮 What's next for Dependency Viewer

The first step would be to release the Forge version of our app on the marketplace and to replace the Connect one.

We already have a solid starting base and we are hoping to extend the functionalities in two main directions:

  • add more capabilities related to the quick actions we provide (i.e. changing priority, status, assignee and logging work).
  • start taking advantage of the new Forge issue modules and expose the Dependency Viewer information somewhere on the Jira ticket itself as right now you need to go to a shared view to see information about the tickets coming from your filter.


Share this project:

Updates