Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

What sort of scripting should I know?

Most of the time when I look at job postings I see something about needing to know scripts, writing them or working with them.

I know Scriptrunner needs groovy, but is that it, or are there others? What sort of scripts are these listings referring to, and what languages?

I don't know any programming and it would be good to know what I should know to be a good admin, or if I need to, how to get another job.

2 answers

2 accepted

4 votes
Answer accepted

Hi @Jean Dupree 

Not really. It depends on the type of role/job. If you are looking for Jira Administrator/Consultant/Developer role then yeah ScriptRunner (Groovy), REST API, Jira Java API (on DC) would be useful. Programming languages that you need to learn depends on the role and company.

If you don't know programming then you can still target Jira Administrator or Business Consultant role. There are lot of apps/features that you can learn like Automation, Advanced Roadmaps, Structure, eazyBI, BigPicture, Tempo, easyAgile apps and of course Jira/Confluence native features.

I hope it helps.


Also i can add a JS, jQuerry, AJAX technology into your list. It will be useful when you will build dialogs or Fragments. 

@Ilya Stekolnikov when are dialogs and fragments used in Jira?  That's not me being a jerk, I'm really wondering - I don't know what they are.

0 votes
Answer accepted

A lot of coding (scripting is one form of coding) has a steep learning curve most of the time, there is language, syntax, conventions and quirks to learn, and to get it right, you need to learn all of it at the same time.   It looks scary.

Unlike human languages, where you can communicate meaning with another human with only partial bits of language (think of small children still learning their parent's language, or an international traveller who does not speak the local language), computers can't intuit what you might mean, and need you to be precise.  You can't be precise without a good understanding of the language.

But the specific language does not matter much.  What matters is your grasp of logic and your empathy with the listener.  The computers are incredibly fast idiots.  They have no intuition or empathy, they just do what they are told, albeit very very quickly.

Learn Python, C++, LOLCODE, Piet, Rust, machine code, or, or, or.  Anything that gives you a grounding in how computers "think" will do.  You'll find almost any language helps with scripting in Atlassian stuff.

Atlassian uses Java on the most part, and, as Ravi says, things like SR would be best to do in Java or related languages. 

SR was mainly written for Groovy, but Groovy is a language that is Java-compatible, you could think of it as something that sits on top of Java.  When I worked with @Ravi Sagar _Sparxsys_ , he was rightly critical of a couple of scripts I wrote/upgraded because I'm way behind him on Groovy and had written them partly in Groovy, then fallen back on my (much stronger) knowledge of the Java in the core of Jira when I wasn't sure how to do it in Groovy.  My scripts were a hodge-podge of both - they worked and did the job well enough (i.e. reliable, correct results, and fast), but they were not elegantly written, and he helped me improve them - faster, and more readable at the very least.

Given that Cloud Jira has "Automation" and it is making its way into the other products (Confluence next, if I'm not misreading too much), I'd actually recommend a quick look at Scratch - I know it sounds childish, as a language designed to help kids learn to code, but the visual arrangement that it does is relatable to Automations, but it damn-well works.

There are young people in my family, ones being shown Scratch at school, and I'm the one who ends up with the more difficult homework questions on computers.  Scratch makes it so easy to explain the logic side, but I got told off for going a bit off-topic by showing a god-child how her knowledge of Scratch might translate to Automation and then into coding later, and, given a bit of experience, a consultant and/or a community lead in a couple of years (she was 8 at the time)

TLDR: If you can show you can write working code/scripts in any computer language, and empathise with the computers, then you can easily adapt to other languages or scripts.

The computing industry does look for highly specific skills in some places (legacy COBOL or PRO-IV coders are my main examples of that), but generally, the language you choose really isn't going to limit you nowadays.

Thank you - this is really great.  I don't know any computer languages.  When I look at jobs I often see lines like "Implement cross-functional department processes utilizing Jira standard and custom workflows engines, automation scripts and data-driven reporting tools."

It seems unclear to me what scripting skills are needed - and I'm sure its because I just don't have the knowledge to know what I don't know.

@Nic Brough _Adaptavist_  - I hope its ok to ask you this but since you wrote so much earlier I was hoping you might have some more advice.  What does a statement like this mean?

A job description calls for the "ability to develop post function scripts and scripted fields to call REST API’s and other applications"

Post-functions and fields are a couple of aspects of coding for Jira, extending past its built-in functions.  The REST API is a bit more generic - a lot of systems use a REST API to allow other systems to talk  to each other.  The sentence there looks like it may have lost a little when being translated from what a Jira admin might write to something "polished" by a recruiter or HR, as it's not as clear as it could be.

But it does clearly say "you'll be writing scripts for Jira"

Like Jean Dupree likes this

Yep, and that's the reason why I asked about all of this.  I know Scriptrunner uses groovy all over, but I didn't know other plugins needed scripts to be written for post functions, and that made me think about what sort of scripts are being used and what language they are being written in. When I search for scripted post functions the only plugin I see in the results is ScriptRunner.

No, other apps that provide post-functions and conditions etc actually hard-code their functions (and on server, they almost all are written in Java or languages that sit on top of Java because they'd have to include a language interpreter as well if they were written in other languages.  Some Cloud apps run on remote systems, they can be written in whatever people feel like)

There are a couple of other apps that provide inline scripting like Scriptrunner does, but they either allow for Java and Groovy, with a couple of exceptions that do the joyous thing of inventing their own clumsy language that isn't used outside those apps.

Like Jean Dupree likes this

Suggest an answer

Log in or Sign up to answer

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you