Skip to main content

RAG-based JIRA ticket generator using vector similarity search

Project description

JiraGen: Automated JIRA Issue Generation

License Python 3.10+ PRs Welcome Platform: Local

🚀 Overview

Jiragen is a CLI designed to automate the creation of JIRA Issues through the use of Local Large Language Models (LLMs). It leverages the power of Ollama and LiteLLM to provide context-aware issue generation, enabling efficient and effective interaction with JIRA. Full documentation is available here.


📖 Table of Contents

🌟 Key Features

  • 🧠 Local LLM Integration: Leverages Ollama and LiteLLM.
  • 🔍 Context-Aware Issues: Incorporates relevant context using Vector store integration for scalable context handling.
  • Customizable Templates: Adapt issue formats to your needs.
  • 🔧 Metadata Extraction: Automates technical details from codebases.
  • ⚙️ Configurable Parameters: Fine-tune the generation process.

⚡ Quick Start

Installation

Install JiraGen and its dependencies:

pip install jiragen

Install & run Ollama to use your local LLM:

curl https://ollama.ai/install.sh | sh
ollama pull phi4  # Replace with your preferred model

or export your OpenAI API key:

export OPENAI_API_KEY="YOUR_API_KEY"

Command Line Interface

JiraGen provides a powerful CLI for efficient ticket generation and management:

# Init
jiragen init

# Basic ticket generation
jiragen generate "Implement user authentication system"

# Generate with specific template
jiragen generate -t templates/custom.txt "Add API rate limiting"

# Generate with custom LLM configuration
jiragen generate --model codellama --temperature 0.8 "Refactor database schema"

# Status and management commands
jiragen status                    # Display vector store status
jiragen status --compact          # Show compact status view
jiragen status --depth 2          # Limit directory tree depth

# Vector store operations
jiragen add path/to/files         # Add files to vector store
jiragen rm path/to/files      # Remove files from vector store

API Usage

from jiragen import TicketGenerator, LLMConfig, GeneratorConfig
from pathlib import Path

# Configure the generator
config = GeneratorConfig(
    template_path=Path("templates/jira_template.txt"),
    llm_config=LLMConfig(model="llama2", api_base="http://localhost:11434"),
)

# Initialize the generator
generator = TicketGenerator(vector_store_client, config)

# Generate a ticket
ticket = generator.generate("Implement user authentication using JWT")

⚙️ Configuration Options

JiraGen supports a variety of configuration parameters to tailor ticket generation:

LLMConfig(
    model="llama2",  # Ollama model to use
    api_base="http://localhost:11434",  # Ollama endpoint
    max_tokens=2000,
    temperature=0.7,
    top_p=0.95,
)

📝 Template Customization

Create templates to match your organization's needs:

Title: {title}
Type: {type}
Priority: {priority}

Description:
{description}

Acceptance Criteria:
{acceptance_criteria}

Technical Implementation:
{implementation_details}

🤝 Contributing

We ❤️ contributions! To contribute:

  1. Fork the repository.
  2. Create a feature branch.
  3. Submit a pull request with a detailed description of your changes.

For more details, refer to our CONTRIBUTING.md.

📜 License

JiraGen is released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jiragen-0.2.0.tar.gz (70.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jiragen-0.2.0-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file jiragen-0.2.0.tar.gz.

File metadata

  • Download URL: jiragen-0.2.0.tar.gz
  • Upload date:
  • Size: 70.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.9

File hashes

Hashes for jiragen-0.2.0.tar.gz
Algorithm Hash digest
SHA256 19ed82cbbe9ed455d4b7300868d2ec08594518dc73748c2b34cfb14a48ab1345
MD5 458f36e1099dd7ac0ef895a7a8ad3e37
BLAKE2b-256 6b41bfc7ee201c076130d6908641dc14e09a4553bb39e35ed9f50706f517c040

See more details on using hashes here.

File details

Details for the file jiragen-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: jiragen-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 55.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.9

File hashes

Hashes for jiragen-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3409fefd9353693d4bc1f7e3a93cd90686e1c1800d5b1caa98ea43e650cab86
MD5 fde642c21d17694420b90ec2399cbadf
BLAKE2b-256 a57a069eabb6cdd13d3f1cbc625318a8b6d040329c16a4e9527ab8d241852aca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page