JIRA Scripting/Extensibility options

Erko Knoll December 31, 2017

 Hi,

I'm interested to know what are the options when it comes extending JIRA Server without having to use official Atlassian SDK with Java.
I'm aware of few add-ons that provide scripting extensions such as ScriptRunner that uses Groovy and some other add-ons that allow to write Python and SIL (Simple Issue Language), however I would like to know if there are other options also available that I might have missed and should consider. For example is there something that targets JavaScript as the scripting language?

I would also like to know Atlassian's stance when it comes to third party add-ons that allow to execute arbitrary code inside JIRA Server. Whether they support such add-ons or prefer people using their official SDK? I just don't want to end up in a situation when I have invested heavily in some unofficial scripting solution and in the future Atlassian decides it's time to block everything that is not developed using their official SDK.

1 answer

1 accepted

1 vote
Answer accepted
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 31, 2017

Hello,

I think you named all popular addons which let you do scripting. Those addons are mostly used. You mentioned javascript. Adaptivist Scriptrunner has behaviour functionality which is based on javascript. behaviours use javascript under the hood but for developers it is transparent. But in my opinion embedding javascript in the standard Jira functionality  is not a good practice. Moreover you can not embed js to Jira cloud. I am not sure about Atlassian plans but it would be a decent decision to block custom js in the Server version as well. But it is arguable. Many people use js for changing Jira UI.

The addons, which  you  mentioned , are actually all based on Atlassian SDK. They just provide you entry points to Atlassian SDK without making you write your plugin but those addons are all plugins.That is why I think there is no point to block such addons. 

Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 31, 2017

And using these addons also depends on your needs. It is simpler to make a good development procees writing plugins than using scripting addons. By good development process I mean continuous integration, continuous delivery and continuous testing. I devoted lots of my time to these tasks. And plugins are more suitable for this. But scripting addons let you do stuff very fast. That is why when I choose what to use I estimate mantainance cost and development time. I think the best way is to combine scripting  and plugins in your solutions.

Erko Knoll December 31, 2017

Thank you for a good answer. To clarify. With JavaScript I meant the same behavior as with Groovy or any other language interpreter that under the hood uses Atlassian SDK but is just an interface for writing scripts that target the Atlassian SDK without getting into the whole Atlassian SDK setup. And I asked about JavaScript because it is perhaps the most popular scripting language out there (as of 2017) and as JDK comes with Rhino and Nashorn then executing JS on JVM is as natural as executing Groovy or Python on top of JVM.

So I was just wondering if there is something out there that targets the JavaScript the same was as ScriptRunner is targeting Groovy.

I'm not looking this solution for my myself, I already have extensive Atlassian SDK experience, I'm just looking for a solution for colleagues who would like to do some additional scripting with the minimal entry barrier, that's why I asked if JS like syntax scripting exists as the chances are those people already have JS experience.

Like William Kennedy likes this
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 31, 2017

Ok, I got it. I do not think there is JavaScript solution for  Jira Server/Data Center. But you can use Node.js for Jira Cloud.

Erko Knoll December 31, 2017

Thanks, I guess I'll give ScriptRunner a try then.

Suggest an answer

Log in or Sign up to answer