Search code examples
javascriptnode.jsjirajira-plugin

Unable to think of starting point to create a Plugin in JIRA


Our requirement is to develop a plugin in JIRA in the next 3 days that will enable

  1. Tag/link the JIRA issue/user story/bug/task with a KPI in our application. User will search the KPI's assigned to him in a search box and will link it with selected KPI.

  2. Update the status of the KPI in our application when the JIRA issue/user story/bug/task is completed.

I have read the following documentation links and able to develop a simple/raw JIRA plugin, but now not sure how to approach and what to do to achieve the above-stated requirement.

https://developer.atlassian.com/cloud/jira/platform/getting-started/

https://developer.atlassian.com/cloud/jira/platform/extending-the-user-interface/

https://bitbucket.org/atlassian/atlassian-connect-express?_ga=2.219680473.1920394266.1551270522-162753333.1543052768

I am looking for help on the following question from all the experts out there

  1. Where to start next and how to go about it. We know Nodejs and will be comfortable in developing the plugin in same?

  2. What kind of modules are required to display the KPIs from our application in the search box on the JIRA UI where the issue and its details are displayed?

  3. When the issue/user story/bug/task is completed, how I can write/inject a script that will invoke the REST API of our application and will update the KPI status?

  4. Where I can store the JIRA issue and KPI mapping information? Can this information be stored in JIRA?

Thanks........


Solution

    1. The links you listed are the right place to get started, connect express has links to another repository with a sample Jira project - https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example

    2. I'm not sure exactly where you are looking to extend the UI. If you want to add a new button or similar to the view issue page then check out the available locations in https://developer.atlassian.com/cloud/jira/platform/issue-view-ui-locations/ The other possible locations are listed on that page as well through the links on the left, check out the location modules.

    3. This sounds like you are trying to listen for webhooks, have a look at https://developer.atlassian.com/cloud/jira/platform/webhooks/ for the hooks you can listen for.

    4. Jira provides some very basic storage key value storage via the entity properties api, see https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/ if you need something more sophisticated then you might need to build your own.