I’ve always been a firm believer that anything is possible. This mostly holds true in the script world of Atlassian. However, just because something can be built doesn’t mean it should be. We could go really deep and talk about things like, if you could get rid of all the mosquitoes in the world, should you? Yes, it’d be more convenient for you, probably less disease, and think of all those wonderful nights you could spend out in the humidity. However, there are so many other factors that you need to consider. What about bats who eat mosquitoes?
Yes, it’s actually possible to rid the world of mosquitoes, but probably not ideal for the world overall. The same holds true for scripts.
Scripts can be built to automate an entire Jira project - like auto assignment, changing assignments based on a status, or scripting a field to provide time spent between one priority to another priority. These have all been requested, but not all of them have been built.
In each one of these cases, there’s another way to accomplish these goals. For auto assignments and changing assignments based on a status, the following solution can be used. Components can be auto assigned to a component lead. Why build functionality that already exists? Are the components not working? Are the assignments based on a specific set of criteria? Filters can be used for a dashboard gadget which will allow users to view and self assign tickets. The downside of auto assigning through a script is that when users change, the script needs to be updated. It’s not a scalable process.
Scripting a field to provide time is difficult. It’s possible to do, but it makes more sense to use a report from an add-on, or review the process that is currently being used.
For script requests, it’s important to consider the following before scripting:
- Is it scalable?
- Is there another way to accomplish the goal without scripting? Look for out of the box solutions.
- Does the functionality go against built-in Jira functionality?
- How much time will it take to script versus how much use will the script provide?
Scripting should be the last resort. Most of the time, there’s another solution, built-in functionality, or an already-built add-on that makes sense. Make sure that the script that is being built is for long-term use as each script takes time. Be smart about what you script, it’ll save you time and money in the long run.