Hello,
I have the book “Practical Jira Plugins” (by Matthew B. Doar) (https://www.amazon.com/Practical-JIRA-Plugins-Effectively-Development-ebook/dp/B005KOJ3S6)
It’s well written, and explains things well - but unfortunately it’s from 2011, and based on Jira 5.x. Lots of things are out of date, or just slightly different - enough to make things very difficult to figure out for someone new to developing Jira apps/plugins.
but this also seems to be out of date, and, again, includes items that are no longer used etc. - making it very difficult to get started.
Does anyone know of a good, up-to-date (valid for Jira 8.x, preferably 8.20+) tutorial, guide, training session, book, or anything else to help me get started with some basic plugin building?
And the Practical Jira plugins book you mentioned. I got all I needed from a Oreilly time-limited trial.
Certain things have indeed changed, in particular about web resources in atlassian-plugin.xml. Looking at my comments I recorded this:
<!-- Web resources like CSS and JS -->
<web-resource key="resources" name="Jira Resources">
<!-- Since Jira 5.0, edit screen no longer supports $webResourceManager.requireResource. We need to put resources in specific context instead. -->
<context>atl.general</context> <!-- General context -->
<context>atl.admin</context> <!-- Admin context, i.e. custom field configuration pages -->
<context>customerportal</context> <!-- Customer portal, i.e. service management pages -->
<context>servicedesk.general</context> <!-- Service Desk general -->
<context>servicedesk.admin</context> <!-- Sercice Desk admin -->
<!-- This will transform AJS.I18n.getText('xxx') in .js files -->
<transformation extension="js">
<transformer key="jsI18n"/>
</transformation>
<resource type="download" name="CustomField.css" location="/css/CustomFieldTypes.css"/>
<resource type="download" name="CustomFieldTypes.js" location="/js/CustomFieldTypes.js"/>
<!-- Request inclusion of jquery-ui library for select2, a dropdown with autocomplete -->
<dependency>com.atlassian.auiplugin:ajs</dependency>
<dependency>com.atlassian.auiplugin:jquery-ui-other</dependency>
<dependency>com.atlassian.auiplugin:aui-select2</dependency>
</web-resource>
Another thing is Service Management messes with select2. Base Jira has the quick-edit feature, you click on a field to enter edit mode, you click outside to cancel it. Select2 implements the custom dropdown by using a floating div, and for base Jira that won’t trigger cancelling quickedit. But Service Management registered additional event listeners, and using Select2 will count as closing quickedit. See: [JSDSERVER-5777] JSD Javascript disbale Inline Edit for Select 2 field - Create and track feature requests for Atlassian products.