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 (Within 30 Seconds)

📝 Create your config file and enable autocomplete

This step consists in creating a configuration file and activating autocomplete. Replace the placeholders with your actual data.

mkdir -p ~/.bashrc.d
cat <<EOF > ~/.bashrc.d/jira.sh
export JPAT="your_jira_personal_access_token"
export AI_PROVIDER=openai
export AI_API_KEY=sk-...
export AI_MODEL="gpt-4o-mini"
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 "$(/usr/local/bin/rh-issue --_completion | sed 's/rh_jira.py/rh-issue/')"
EOF

source ~/.bashrc.d/jira.sh

This step involves making the wrapper shell script executable and linking it to a directory on your path.

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

🚀 Run it

This is how you use the tool to create a story. Replace the placeholder with your actual data.

rh-issue create story "Improve onboarding experience"

🧪 Usage & Commands

🆕 Create Issues

You can create various types of issues using the following commands. Replace the placeholders with your actual data.

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

You can further customize your command with --edit to use your $EDITOR, and --dry-run to print the payload without creating the issue.

🔁 Change Issue Type

You can change the type of an existing issue with the following command. Replace the placeholders with your actual data.

rh-issue change AAP-12345 story

🔁 Migrate Issue

You can migrate an existing issue with the following command. Replace the placeholders with your actual data.

rh-issue migrate AAP-54321 story

✏️ Edit Description

You can edit the description of an existing issue with the following command. Replace the placeholders with your actual data.

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

🧍 Unassign Issue

You can unassign an existing issue with the following command. Replace the placeholders with your actual data.

rh-issue unassign AAP-12345

📋 List Issues

You can list issues with the following command. You can customize your command with --project, --component, and --user options. Replace the placeholders with your actual data.

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

🏷️ Set Priority

You can set the priority of an existing issue with the following command. Replace the placeholders with your actual data.

rh-issue set-priority AAP-123 High

📅 Sprint Management

You can manage sprints with the following commands. Replace the placeholders with your actual data.

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

🚦 Set Status

You can set the status of an existing issue with the following command. Replace the placeholders with your actual data.

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

🤖 AI Provider Support

You can plug in different AI providers by setting AI_PROVIDER.

We can use ollama for the management for different models

mkdir -vp ~/.ollama-models
docker run -d -v ~/.ollama-models:/root/.ollama -p 11434:11434 ollama/ollama

✅ OpenAI

Setup for using OpenAI as AI provider.

export AI_PROVIDER=openai
export AI_API_KEY=sk-...
export AI_MODEL=gpt-4  # Optional

🦙 LLama3

Setup for using LLama3 as AI provider.

docker compose exec ollama ollama pull LLama3
export AI_PROVIDER=LLama3
export AI_URL=http://localhost:11434/api/generate
export AI_MODEL=LLama3

🧠 DeepSeek

Setup for using DeepSeek as AI provider.

docker compose exec ollama ollama pull deepseek-r1:7b
export AI_PROVIDER=deepseek
export AI_URL=http://localhost:11434/api/generate
export AI_MODEL=http://localhost:11434/api/generate

🖥 GPT4All

Setup for using GPT4All as AI provider.

pip install gpt4all
export AI_PROVIDER=gpt4all
# WIP

🧪 InstructLab

Setup for using InstructLab as AI provider.

export AI_PROVIDER=instructlab
export AI_URL=http://localhost:11434/api/generate
export AI_MODEL=instructlab
# WIP

🧠 BART

Setup for using BART as AI provider.

export AI_PROVIDER=bart
export AI_URL=http://localhost:8000/bart
# WIP

🪫 Noop

Setup for using Noop as AI provider.

export AI_PROVIDER=noop

🛠 Dev Setup

To set up your development environment, run the following command.

pipenv install --dev

Testing & Linting

Use the following commands for testing, linting, and formatting respectively.

make test
make lint
make format  # autofix 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)

📜 License

This project is licensed under the Apache License.

Metadata

Release files for jira-creator 0.0.34

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.34
File Size Uploaded
jira_creator-0.0.34.tar.gz 60.4 kB Details

Built distribution (wheel)

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

Total release size: 176.9 kB

Release files / jira_creator-0.0.34.tar.gz

Download URL jira_creator-0.0.34.tar.gz
Size 60.4 kB
Tags Source
SHA-256 checksum
How to use checksums
111ffa89becab9acebb8b401cf24857293f0581e4619ed1b0133582f9af9a1c0
BLAKE2b-256 checksum
How to use checksums
9cfe9b769d313507a898b6e3fbaf60cd6212621e7f06078563327a8caafcd543
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

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

Download URL jira_creator-0.0.34-py3-none-any.whl
Size 116.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
122cc1073ce5d67a53ef246f0c9e6a692cfed65a8256f2431cafac693a1a6fab
BLAKE2b-256 checksum
How to use checksums
4820f3bdc531e658024798c6b910e561b6aef2593e154b922f4b0d5ffb60df11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

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

This release

0.0.34 This release

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

0.0.12

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