๐ From Manual Jira Work to One Command: Building a Subtask Automation CLI
๐ก The Problem
๐ From Manual Jira Work to One Command: Building a Subtask Automation CLI

From Manual Jira work to Single command
๐ก The Problem
If you work in a development team, youโve probably done this countless times:
Every time a Jira story is picked up, you manually create multiple subtasks:
- Story analysis
- Code changes
- Unit testing
- Dev testing
- UX review
Itโs repetitive. It breaks your flow. And over time, it adds up to a surprising amount of effort.
๐ฑ Inspiration & Motivation
In our team, we already had a shell script created by a colleague (someone I truly look up to) to automate this process.
It was a great starting point and genuinely helped reduce manual effort.
However, while using it regularly, I noticed a few areas where the experience could be improved:
- Limited flexibility
- Hard to extend for evolving needs
Instead of just tweaking the script, I wanted to take it a step further.
The goal was simple:
Build something that is easy to use, flexible, and scalable across the team
Thatโs when I decided to build a proper CLI tool.
๐ค Why not use Jira Automation?
That was my first thought too.
But in many organizations:
- I donโt have access to Jira Automation
- Or automation rules are restricted
- Or requirements are still evolving
So I needed something:
- Lightweight
- Flexible
- Developer-controlled
A CLI tool fit perfectly into this space.
๐ ๏ธ The Idea
What if creating all Jira subtasks could be as simple as:
jira-subtask ABC-123
No clicking. No repetition. No context switching.
Just one command.
โ๏ธ Building the CLI
I built a Node.js CLI tool that:
- Uses Jira REST APIs
- Creates subtasks in bulk
- Is fully configurable
The structure is clean and simple:
config.jsonโ Jira credentials & project detailstasks.jsonโ Subtask templates- CLI command โ Executes everything
๐ง Key Design Decisions
1. Config-driven approach
Instead of hardcoding values, everything is configurable:
- Project ID
- Task structure
- Assignment logic
This makes the tool reusable across teams and projects.
2. Smart assignment handling
Each task supports flexible assignment:
SELFโ assigned to current userNONEโ left unassigned
For example:
- DEV tasks โ assigned
- UX Review โ unassigned
- Buddy Testing โ unassigned
3. Flexible command options
The CLI supports multiple workflows:
jira-subtask ABC-123
๐ Creates: DEV + QA + UX subtasks
jira-subtask ABC-123 --dev-only
๐ Creates: DEV + UX
jira-subtask ABC-123 --qa-only
๐ Creates: QA only
jira-subtask ABC-123 --skip-ux
๐ Creates: DEV only
๐งฉ Why not rely only on AI / MCP?
With tools like GitHub Copilot and Atlassian MCP Server, itโs possible to automate Jira workflows using prompts.
So a natural question is:
Why build a CLI when AI can do this?
In our case, consistency mattered more than flexibility.
We needed:
- A standardized structure for subtasks
- Predictable outputs every time
- No dependency on crafting the โright promptโ
While AI is powerful, prompts can vary and lead to inconsistent results.
The CLI ensures:
- Same structure
- Same quality
- Same workflow
every single time.
So instead of replacing AI, the CLI complements it by providing a reliable foundation.
๐ฆ Making it reusable
To make this usable for the entire team, I published it as an npm package.
Now anyone can install it with:
npm install -g jira-subtask-cli
And start using it immediately.
๐งช Real Impact
After using this internally:
- โฑ๏ธ Subtask creation time โ reduced from minutes to seconds
- ๐ Eliminated repetitive manual work
- ๐ Consistent task structure across the team
A small automation, but a meaningful productivity boost.
โ ๏ธ Challenges I Faced
A few interesting challenges along the way:
- npm publishing issues (especially on Windows)
- Handling CLI execution (
binconfiguration) - Managing Jira authentication securely
- Designing flexible yet simple configuration
Each of these helped deepen my understanding of building developer tools.
๐ง What I Learned
- Small problems are worth solving
- Developer experience matters more than we think
- CLI tools can be incredibly powerful
- Consistency is often more valuable than flexibility
๐ Try it out
If this sounds useful, you can check it out here:
๐ https://www.npmjs.com/package/jira-subtask-cli
๐ Final Thoughts
Sometimes, the most impactful improvements are not large systems, but small tools that remove everyday friction.
This CLI was one such effort โ and it made a real difference in our workflow.
๐ฎ Whatโs Next?
In the next article, Iโll share how Iโm experimenting with integrating this CLI with GitHub Copilot and the Atlassian MCP server โ and how these tools can work together to further streamline everyday Jira workflows.
Stay tuned!
๋ฉํ๋ฐ์ดํฐ
- post_id
- 4c4d7558f4ee
- slug
- from-manual-jira-work-to-one-command-building-a-subtask-automation-cli-4c4d7558f4ee
- url
- https://medium.com/@sayaligp/from-manual-jira-work-to-one-command-building-a-subtask-automation-cli-4c4d7558f4ee
- canonical_url
- https://medium.com/@sayaligp/from-manual-jira-work-to-one-command-building-a-subtask-automation-cli-4c4d7558f4ee
- author_url
- https://medium.com/@sayaligp
- status
- ok
- fetched_at
- 2026-06-28 04:42:08