Inspiration

Our first idea was like two weeks before the Codegeist contest when we read about Forge and we decided to give it a chance for an idea we had in mind for our internal use. We needed a tool that allows us to manage private notes inside a Jira Issue. When we started the development of the prototype for it the Codegeist was announced and we decided to participate in with our new tool because we saw a very big potential with it and Forge, but to have a more solid application, we decided to implement three more tools that we would use too besides the Personal Notes one.

Also, when we saw that the contest also had an Open Source section, we decided to do it this way because we believe that free code is important. We like to think that with our code we can help people who are starting to develop and to break myths about the difficulty of developing addons. If only one person reads our code and it is useful for something, we will be satisfied.

What it does

The app provides four new sections inside the Jira Issue's view:

  • Members Custom Field: Provides a way to assign more than one user to the issue. In some cases, we need to assign more than one user to an issue because they are working on it. With this custom field, you can have a list of users that are related to the issue at a glance.

  • Personal Time Tracker Glance: It allows you to have control of the time spent on an issue. With a simple click, you can start tracking the time working on an issue, and continues in the background even if you close the issue view or the browser. Once you finish, you can stop the tracker and a new record will be added in the glance to be able to track all the time spent. It also gives an absolute value of all the time spent on the issue.

  • Personal Notes Glance: A simple but very useful tool to manage private notes related to an issue. The user will always have it available with one click on the Issue's view.

  • Shared Task List: A new Issue panel that provides a shared task list for all the project users. It allows the users to manage Tasks inside the Issue and mark them as resolved. All users that have access to the Issue will be able to create their tasks and see the other tasks' status.

How I built it

The tool we used to build it was Atlassian Forge (Beta) combined with Visual Studio Code IDE. Forge is Atlassian's new platform for building serverless cloud addons for all major Atlassian applications and allows developers to build and integrate applications faster.

Related to Forge we used Forge UI components, the Forge UI API, and Forge Hooks.

The first thing we did was an internal test to see if Forge will be useful for use. As we said earlier, we started with the Personal Notes addon. After that, we decided to build the other tools that would complete the addon.

And last but not least we would like to give special thanks to all the people who at one time or another helped us to clear up our doubts in the Forge and Codegeist 2020 Slacks, especially Neil Mansilla, Karol Grabowski, Joe Clark, Dugald Morrow, Michael Ventnor, Kang-Wei Chan, and Daniel Winter-Wijntjes.

Challenges I ran into

The development of the application has been very interesting and challenging:

The first challenge we encountered was to become familiar with the new development platform, which being Beta some things still didn't do everything we expected of them, having to look for alternatives to solve it. An example of this would be that the Table component of Forge UI does not allow yet the use of checkbox and we had to simulate it using a button with Unicode texts.

Another challenge was not having all the tools that React offers. As the code is executed by the server, many of the tools we were used to using were not available, so we had to come up with solutions for that.

Accomplishments that I'm proud of

The main achievement was to be able to finish the application at the level we wanted. We wanted it to be easy to use for the user, and in the state that Forge is in, we have achieved this satisfactorily. We still have a lot of improvements to do it, like a better styling and UI components accommodation, but for the first attempt, we are very proud of it.

We also are proud to share the application as an Open Source.

What I learned

A lot! We learned a complete framework and to create addons in a fast way. Forge still has some things to improve but we are sure it will be the future of addon creations in the Atlassian Ecosystem. We also learned that communication with the Atlassian team is crucial to receive and give help, and also to give feedback from the products. In particular with Forge, all the team members were charming when we asked questions or when we gave feedback on something.

What's next for Regos Jira Toolkit

First of all, we want to update it each time Forge includes new things or update existing ones, trying to polish up things that were left over due to the beta state of the framework, for example, application styles.

Also, we hope that the application will be used for two things:

  • Being Open Source, we hope that more people will be motivated to start developing addons that will be useful for all Atlassian users, and show that with Forge it's very easy to do it.
  • Other companies will be encouraged to use it to improve their processes and their users can have more options to work.
Share this project:

Updates