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.3.0.tar.gz (62.0 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.3.0-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jiragen-0.3.0.tar.gz
  • Upload date:
  • Size: 62.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jiragen-0.3.0.tar.gz
Algorithm Hash digest
SHA256 62485221c809a13dbd03202cdde6fbe8091e0cf5cdcb1e8a409ffbf3c681c626
MD5 8167ec1955b7701755a12392aaa5b4be
BLAKE2b-256 263dd2f24b2479495b7a381e34e20c1b645e96470731deb176c66a74dc9c2f74

See more details on using hashes here.

Provenance

The following attestation bundles were made for jiragen-0.3.0.tar.gz:

Publisher: releases.yml on Abdellah-Laassairi/jiragen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: jiragen-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 57.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for jiragen-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 faf6e3c346bd7ca1db8de59e9c7197df85c4a8a01fab4c68e7919199912611d9
MD5 89be714d08d897bfe41751d63ce2173b
BLAKE2b-256 f19fdeb43da984c7dd7c181c4ff1a47943d26044eaeed2288ec6446a40c415e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for jiragen-0.3.0-py3-none-any.whl:

Publisher: releases.yml on Abdellah-Laassairi/jiragen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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