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.1.tar.gz (60.6 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.1-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jiragen-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f1bb03d6641c05bbc73a656f614badbd33486a7ed77cdf0a4afe19d6a98692ae
MD5 3117dae392732d5df39809b2de7337e9
BLAKE2b-256 e8461da5ebef06af049e3e04a9e786a947ded222d0baef92549e0cbcf339007b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jiragen-0.2.1.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.2.1-py3-none-any.whl.

File metadata

  • Download URL: jiragen-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 55.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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0686f76a10b5c56764a30a7abcd24e9e5aabfc78a69b1ed7ca12aabc6a080792
MD5 ef7314a66ea15ab73d6080ce5f86d1f4
BLAKE2b-256 19afcab7dd1db0636a084abaa93302fe6dbfd1e9833ba88bb805635253528844

See more details on using hashes here.

Provenance

The following attestation bundles were made for jiragen-0.2.1-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