State of Jira Developer documentation

Hey all!

Fairly new here but not to Atlassian as a whole. I have to say I’ve never been so frustrated trying to develop for a platform as I am with Atlassian. Rather than vent, I’ll try to keep this constructive. Where are you guys finding GOOD documentation? How did companies like Adaptavist figure all this out? I’m trying to do some very basic things in a custom Jira plugin and spend half a day just trying to find the obscure corner of a forum where I might find the code snippet I need to deduce how something works.

An example, I wanted to create a custom project template and have it use the simplified workflows. I found SimplifiedWorkflowServiceImpl by googling but the documentation is just a list of methods–no samples, no description how you would go about getting an instance of the class. Most of the documentation is that way.

Another example, again creating project template, I’d like to have fields in the project wizard that I can use to modify the project during creation (description, etc). The documentation again has nothing really useful and the tutorial stops short of telling you how to do it either. All of the tutorials I have done just show you how to setup the plugin but not how to do anything meaningful.

Several people say they just look at the source code, but maybe I’m just unlucky that what I’m looking for is not in the source code. I can’t find where scrum and kanban project templates are defined or processed so I could follow their code. Project templates are just one example, I’ve had problems with everything I have tried to do. Please tell me there is a secret stash of information I’m missing or a book or something (I have Jobin’s book already).

5 Likes

I feel your pain. Server documentation is almost non-existent. What we all do, mostly, is look at the source code.
In the case of Jira software specific features, you need to be aware that Jira software is in fact a plug-in (app) called Jira Software in places and Greenhopper in others. The source code for that app is available in the Jira Software source code download.

3 Likes

It probably is in there but there’s indeed a chance that it might be hard to find. Being able to find the right entry points in Atlassian’s source code is indeed one of the necessary skills required to become a somewhat efficient app dev.

Typically, I like to start by looking at what endpoints my browser is calling. In your case of project templates I’d simply create a project template and look in my browser dev tools network tab what endpoints are being called. The implementations of these REST endpoints (or actions/servlets) are usually relatively easy to find within the source code by grepping for the last part(s) of the endpoint URL.

Once you have found the endpoint implementation you’ll find that it uses some kind of service or manager and then you continue to read the source until you find what you need. I never look at the JavaDocs anymore because I usually don’t find what I need in there. Also, directly looking at the source code gives you an idea of how to acutally use certain APIs that might not be designed in an intuitive way.

4 Likes

You are not alone with this. I guess it’s Atlassian’s strategic decision to only invest as much into the Server platform as is required to keep Data Center customers happy.

Like others already mentioned the best option is probably to look at the source code or dig through Google search results (which usually lead you to often old community.atlassian.com posts). Always take what you read with a grain of salt because more often than not suggestions have been superseded with newer solutions. If you are unsure a post in this dev community is always a good idea.

3 Likes

Thanks for pointing this out! Good to see that i’m not the only one frustrated about how difficult it is to make progress in this environment!

I’m having the same problem in finding scrum and kanban templates btw. I’ve downloaded all source code that is available for me (folder is called atlassian-jira-software-8.6.1-source) and anyhow just find some rare test cases that reference kanban or scrum but no sourcecode.

Cloud is not an option for every client/company. Hopefully Atlassian recognizes that…

1 Like

Thanks for the input, I’ll try to rely on the source code. One problem I ran into just now as I traced the project templates–the classes are in com.atlassian.greenhopper.web.rapid.project.KanbanProjectCreateHook but I can’t find the greenhopper namespace in the source code. Is the greenhopper source code a separate download?

Same here. I’m working on a simple importer plugin which is supposed to present data from an external source (REST API) to the user and, based on their selections, create corresponding issues in a selected project. Should be simple. Well given the little info out there and the lack of responses to my posts, it’s taking far too long. Most frustrating… :tired_face:

Look in the dependencySources directory. There are several artifacts relating to greenhopper (aka: jira software, jira agile).

This is from the JIRA 7.13.0 source:
greenhopper

Thanks for the pointer. I actually stumbled on another thing that helps out. In Intellij Idea, if you hit CTRL-n and type in a class name, it will take you to the source code. That has been much better than trying to search the source code itself and it finds classes that I haven’t been able to find in the source.