There are many situations that you want to access your data stored in a cloud storage but you do not want to use an external application. Or you use cloud storage to share the data between a team. Or you want to give an ability to upload files to your cloud storage. The main goal of this add-on was to be able to add links to the files in an issue easily and quickly without making them public in a cloud storage and to restrict the access permissions to them.
And whatbout if you have more cloud storages, e.g. Box, Dropbox, Google Drive, OneDrive Personal? With this add-on it is not a problem anymore. You can see and access your data in same UX and you do not need two and more add-ons.
What it does
The Cloud Connectors for JIRA add-on allows to create accounts which are linked to the cloud storages like Box, Dropbox, Google Drive, OneDrive Personal. Each account can be configured with different properties and permissions in form of Account Profile. Permissions are grouped in Permission Scheme to restrict access to a content of a configured Account Profile. So, the users can e.g. view content, download files, upload files.
The add-on currently has integrations for:
- to display a content from a cloud storage in a separate tab
- to display a content from a cloud storage in a panel, like Attachments
- to add links to the files from a cloud storage
How I built it
At the beggining I wanted to develop an add-on for Confluence and JIRA applications. In this case I did not want to have code duplicities and therefore I decided to make one plugin for both applications. The great help was to use atlassian-spring-scanner to reduce configuration of components in the add-on descriptor.
Challenges I ran into
There were several challenges ... maybe the whole project was one big challenge. The great challenge was to create common api for both cloud storages, especially to create a custom client for OneDrive and its usage of "multipart/related" content type when uploading a file.
Accomplishments that I'm proud of
I was able to create one plugin for JIRA and Confluence but I had to split it up to separate plugins because the paid addon can support only one application :(
What I learned
I have learnt how to use atlassian-spring-scanner and how to create common plugin for multiple applications. The great experience (as always :)) is to understand how some functionalities work and are made by Atlassian.
What's next for Cloud Connectors for JIRA
This is not the final state for the add-on. There are many ideas in a queue and waiting to be implemented. And also customers can have other ideas to improve their UX.
What can be implemented in the future?
- Permissions to create/rename/delete folders, to rename/delete files
- Configuration to enable displaying of a content in a particular project/issue
- To view a linked file in an issue without downloading it
- To add a profile picture
- Upload buttons to upload a file from cloud to the JIRA
- Ability to manage user's accounts individually
- File Manager to be accessible globally