Some fundamental Add-On development questions

Hello,

we are currently evaluating the development of two addons to extend Jira Cloud and Jira ServiceDesk.

The basic requirements are as follows:

  • Presentation of the UI of the addon in the Issue sidebar
  • Query the information (e-mail addresses) of the issue reporter, editor and other persons involved.
  • The possibility of storing a small amount of data (Json) in an Issue Custom Field (The field should be optimally created by the add-on and should not be changeable by the user - field not visible is okay)
  • Creating comments on an issue (on behalf of the user)
  • Talk to our own REST-API

I have already read a lot about the topic and looked at various examples, but unfortunately there are still some basic questions open:

It is unclear if the requirements described above can be implemented with a static add-on (Atlassian Connect IFrame, Javascript (e.g. Angular) + HTML) or if we need the Atlassian Connect Express Framework (which requires server-side NodeJs hosting).

Feel this should be possible with both variants, but I’m not sure what the best route is.

Thank you in advance & Best Regards
Eoj81

Hey @eoj81.

You should be able to achieve most of that without the need for an app with server side.

The Javascript API should help, you can run requests to Jira APIs to update issue custom fields, and store comments (but unsure about impersonating users, we usually do that using ACE). You can use the .user.getUser method to get info on users, however not sure about the email part, is considered personal data and you’ll get into GDPR restrictions. Here’s the api:
https://developer.atlassian.com/cloud/jira/platform/about-the-javascript-api/

For placing UI in issues screen use modules, specifically this one for issue sidebar: https://developer.atlassian.com/cloud/jira/platform/modules/issue-glance/
You declare these modules in your descriptor.

Hope this helps.

3 Likes

Thanks for the info. That helps me a lot.

I did some quick&dirty tests with the API today and was able to solve most requirements successfully.

A remaining problem is the Custom Field:

  • creation of the issue custom field via definition in atlassian-connect.json works
  • Updates to the field via API also work without problems

A remaingin problem is that the field must be configured / activated on the respective screen to be able to write to it via API. Otherweise one gets an error that the field is not there or unknown.

Since the field should never be edited by the user, but only by the addon (JSON) or better even be invisible, I was missing a usable approach.

Any ideas?

Thanks in Advance & Regards.
eoj81

Ok. Found this one:
https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#jira-entity-properties

RTFM :grin: