Skip to main content

jira-creator

Build Status Python License Last Commit

Create JIRA issues (stories, bugs, epics, spikes, tasks) quickly using standardized templates and optional AI-enhanced descriptions.


⚡ Quick Start (Under 30 Seconds)

1. Create your config file and enable autocomplete

mkdir -p ~/.bashrc.d
cat <<EOF > ~/.bashrc.d/jira.sh
export JPAT="your_jira_personal_access_token"
export AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...
export JIRA_URL="https://issues.redhat.com"
export PROJECT_KEY="AAP"
export AFFECTS_VERSION="aa-latest"
export COMPONENT_NAME="analytics-hcc-service"
export PRIORITY="Normal"
export JIRA_BOARD_ID=21125

# Enable autocomplete
eval "$(register-python-argcomplete rh-issue)"
EOF

source ~/.bashrc.d/jira.sh

2. Link the CLI wrapper

chmod +x rh-issue-wrapper.sh
sudo ln -s $(pwd)/rh-issue-wrapper.sh /usr/local/bin/rh-issue

3. Run it

rh-issue create story "Improve onboarding experience"

🧪 Usage & Commands

🆕 Create Issues

rh-issue create bug "Fix login crash"
rh-issue create story "Refactor onboarding flow"
rh-issue create epic "Unify frontend UI" --edit
rh-issue create spike "Evaluate GraphQL support" --dry-run

Use --edit to use your $EDITOR, and --dry-run to print the payload without creating the issue.

🔁 Change Issue Type

rh-issue change AAP-12345 story

🔁 Migrate Issue

rh-issue migrate AAP-54321 story

✏️ Edit Description

rh-issue edit AAP-98765
rh-issue edit AAP-98765 --no-ai

🧍 Unassign Issue

rh-issue unassign AAP-12345

📋 List Issues

rh-issue list
rh-issue list --project AAP --component api --user jdoe

🏷️ Set Priority

rh-issue set-priority AAP-123 High

📅 Sprint Management

rh-issue set-sprint AAP-456 1234
rh-issue remove-sprint AAP-456
rh-issue add-sprint AAP-456 "Sprint 33"

🚦 Set Status

rh-issue set-status AAP-123 "In Progress"

🤖 AI Provider Support

You can plug in different AI providers by setting AI_PROVIDER.

✅ OpenAI

export AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...
export OPENAI_MODEL=gpt-4  # Optional

🖥 GPT4All

pip install gpt4all
export AI_PROVIDER=gpt4all

🧪 InstructLab

export AI_PROVIDER=instructlab
export INSTRUCTLAB_URL=http://localhost:11434/api/generate
export INSTRUCTLAB_MODEL=instructlab

🧠 BART

export AI_PROVIDER=bart
export BART_URL=http://localhost:8000/bart

🧠 DeepSeek

export AI_PROVIDER=deepseek
export DEEPSEEK_URL=http://localhost:8000/deepseek

🪫 Noop

export AI_PROVIDER=noop

🛠 Dev Setup

pipenv install --dev

Testing & Linting

make test
make lint
make format  # auto-fix formatting

⚙️ How It Works

  • Loads field definitions from .tmpl files under templates/
  • Uses TemplateLoader to generate Markdown descriptions
  • Optionally applies AI cleanup for readability and structure
  • Sends to JIRA via REST API (or dry-runs it)

📁 Project Structure

jira-creator/
├── rh-jira.py
├── rh-issue-wrapper.sh
├── templates/
├── providers/
├── jira/
├── tests/
└── Pipfile

📜 License

This project is licensed under the Apache License.

Metadata

Release files for jira-creator 0.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jira-creator 0.0.12
File Size Uploaded
jira_creator-0.0.12.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jira-creator 0.0.12
File Interpreter ABI Platform
jira_creator-0.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 32.2 kB

Release files / jira_creator-0.0.12.tar.gz

Download URL jira_creator-0.0.12.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c299c1e03198fa4a39b104ee6fc25692a4312ad3bb195460096d382871f699a5
BLAKE2b-256 checksum
How to use checksums
e5b10bcb549b0e27325e72026d57e568536b16af6d465742bb42a39bdfe58432
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release files / jira_creator-0.0.12-py3-none-any.whl

Download URL jira_creator-0.0.12-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ebc461a4613603e90ac395c022b9c69bd256c314ba0f26052dfe3f0496ab31da
BLAKE2b-256 checksum
How to use checksums
44976c7640d0971ebb717c3a55c64aab5fe3bc1d956e095bd6008f7e8a9407d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release history Release notifications | RSS feed

1.0.14

2 release files

1.0.13

2 release files

1.0.12

2 release files

1.0.11

2 release files

1.0.9

2 release files

1.0.3

2 release files

1.0.1

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.17

2 release files

This release

0.0.12 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page