18 breaking releases
0.22.0 | Apr 22, 2025 |
---|---|
0.20.0 | Apr 22, 2025 |
#51 in Template engine
1,722 downloads per month
43KB
998 lines
π οΈ 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
.env
set your JIRA user bearer token: the authentication to create sub-tasks. - In
.jirun.toml
define meta-data to be created when runningjirun new
orjirun template
command.
- 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/scripts/install-jirun.sh | bash
For Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/xixiaofinland/jirun/main/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"
[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 template
command - Store sub-tasks you repeat frequently across different tickets
- Reusable workflow patterns
new_tasks:
- Executed by
jirun new
command - 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
~5β17MB
~219K SLoC