Hi community!
Today I was organizing my Obsidian files and found my notes from a very interesting project I participated — one that involved a pretty cool automation I’d like to share with you.
Back in 2024, I was working with a National Industrial Education Organization here in Brazil. We were looking for a scalable solution to manage multiple projects efficiently. Given the size of the organization, we were dealing with a massive amount of data, teams, and ongoing initiatives. Just to give you an idea: Brazil has 27 states, and this organization runs initiatives across all of them.
One of the ideas brought to the table was to create a Jira project to serve as a portfolio, where each issue would represent a project initiative. Once an issue reached a certain status, someone would create a new Jira project and link it back to the issue using a project picker custom field. This setup gave us the best of both worlds: centralized tracking for upper management and a functional workspace for delivery teams.
To support this, we created two Jira projects to act as templates — one Kanban and one Scrum — each with its own set of custom schemes.
The Problem
Manually setting up a new project every time an initiative started was time-consuming. And the real issue? Some of the people assigned to do this didn’t even know how to properly configure a Jira project. We started seeing:
Human error was turning the whole setup into a mess.
So I sat down with the stakeholders and said, “We really need to automate this — otherwise, in two years, you’ll be dealing with total chaos.” At that point, I wasn’t even sure how I’d do it, but I knew it had to be possible.
The Solution
After many brain cooking sessions of research and testing, I implemented a solution using ScriptRunner.
I added a post function to the workflow of the portfolio project. Whenever an initiative transitioned to the “Started” status, a screen would prompt the user for two key pieces of information:
Other details, like the project name, description, and lead, were pulled directly from the issue’s summary, description, and assignee.
The script then used the Jira REST API to automatically create and configure the project, using a switch-case structure to map each template type to its respective set of schemes (workflow, permission, notification, board, etc.).
So basically:
Issue transitions to “Started” → User fills the issue → Script runs → Project is created and ready to go.
No manual steps. No mistakes.
The Outcome
This automation saved a ton of time, effort, and resources. People who previously needed Jira admin rights just to create and configure projects no longer needed it. Their time could be spent doing what actually mattered: executing.
And that was the story for this Wednesday! Just wanted to share it here, hopefully this will be helpful or inspiring for someone going to a similar case.
If so, I’m leaving the script here to save you some time of coding: github.com/vitoriaselista/scriptrunner-project-creator
Ana Vitória Selista
Atlassian Consultant
3layer
8 accepted answers
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
4 comments