20 breaking releases
| 0.24.0 | Sep 23, 2025 |
|---|---|
| 0.22.0 | Apr 22, 2025 |
#1457 in Command line utilities
999 downloads per month
45KB
1K
SLoC
π οΈ Jirun
A CLI tool that generates JIRA sub-task(s) with pre-populated field values.
Table of Contents
- π‘ What Problem Does It Solve?
- π Quick Start
- β¨ Other Features
- π Usage
- π₯ Installation
- π§° Configuration
- β FAQ
- π License
π‘ What Problem Does It Solve?
Tired of the repetitive JIRA sub-task creation dance?
You know the routine β clicking "new", selecting "Sub-task", typing a descriptive name, assigning yourself, adding labels, clicking "create"... and repeating for 10+ sub-tasks.
In .jirun.toml, define your field values (labels, assignee) and list your sub-task
summaries ("enhance logic", "write tests", "update docs"). jirun creates them
all in one go.
π Quick Start
- Initialize Configuration:
jirun init --global
This creates .jirun.toml and .env files in OS preferred directory.
- Edit Configuration:
- In
.envset your JIRA PAT(person access token) in order to create sub-tasks. - In
.jirun.tomldefine meta-data to be created when runningjirun neworjirun templatecommand.
- Dry Run
jirun new --parent PROJ-123 --dry-run
When you are not sure, this command prints out the raw payloads without sending the real request.
- Create new Sub-tasks
jirun new --parent PROJ-123
This command creates JIRA sub-tasks defined in [sub_tasks.new_tasks]. Each
subtask per line.
β¨ Other Features
- π Support generating global (
jirun init --global) or local (jirun init) config files. - π Detect and skip subtasks that are already existing.
π Usage
Usage: jirun <COMMAND>
Commands:
init Create .jirun.toml and .env (defaults to the local directory)
new Create sub-tasks from [sub_tasks.new_tasks] in .jirun.toml
template Create sub-tasks from [sub_tasks.template_tasks]
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
π Examples:
1. jirun help init
Help menu on initializing jirun's configuration files.
2. jirun init --global
Create config files in the global directory.
3. jirun template --parent PROJ-123
Use [sub_tasks.template_tasks] to create sub-tasks under PROJ-123
4. jirun new --parent PROJ-123 --assignee alice
Use [sub_tasks.new_tasks], overriding assignee with 'alice'
5. jirun template -p PROJ-123 --dry-run
Show request payloads without sending to JIRA
π₯ Installation
1. Script Install
For Linux/MacOS
curl -sL https://raw.githubusercontent.com/xixiaofinland/jirun/main/jirun/scripts/install-jirun.sh | bash
For Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/xixiaofinland/jirun/main/jirun/scripts/install-jirun.ps1 | iex
[!NOTE] If you see an error like "This script contains malicious content and has been blocked by your antivirus software", it means Microsoft Defender flagged it for downloading and executing content from the internet. To proceed, either lower Defenderβs protection or break the script into smaller steps:
# Step 1: Review the script manually
Invoke-WebRequest -Uri https://raw.githubusercontent.com/xixiaofinland/jirun/main/scripts/install-jirun.ps1 -OutFile install-jirun.ps1
notepad install-jirun.ps1 # Inspect the content
# Step 2: Run after trust
powershell -ExecutionPolicy Bypass -File install-jirun.ps1
2. Cargo Install
jirun is published in creates.io here.
Run cmd below if you have the Cargo tool.
cargo install jirun
3. Manual Download
Visit the release page and download the appropriate binary for your operating system (Linux, macOS, or Windows).
π§° Configuration
Run .jirun init --global to generate the config template files.
.jirun.toml:
[server]
url = "https://yourcompany.atlassian.net/jira"
[prefill]
labels = ["cli", "auto"]
assignee = "john.doe"
[sub_tasks]
template_tasks = """
Design API schema
Implement service logic
Write integration tests
"""
new_tasks = """
Fix login bug
Improve error messages
Document usage
"""
.env:
JIRA_TOKEN=your-api-token-here
β FAQ
What's the difference between putting sub-tasks under template_tasks or new_tasks section in .jirun.toml?
template_tasks:
- Executed by
jirun templatecommand - Store sub-tasks you repeat frequently across different tickets
- Reusable workflow patterns
new_tasks:
- Executed by
jirun newcommand - For ad-hoc, ticket-specific sub-tasks
- One-off task sequences
Both commands share the same underlying logic - the separation simply helps organize your brain between standard templates and custom task lists.
π License
MIT
Dependencies
~6β13MB
~215K SLoC