isqa

πŸ“’ About

PyPI Version PyPI License PyPI - Python Version

isqa is a CLI utility designed to help you manage issues of a GitLab repository.

This CLI utility could be used for quality assurance of GitLab issues. Name isqa is comes from merging the term issues and quality assurance .

The intended use is to use cron or a similar approach to run the CLI in the background with a time interval. For insstance, a version running in th docker can use the following docker job scheduler: mcuadros/ofelia

πŸ“¦ Installation

🧩 Development Setup

This guide walks through setting up the project for local development using uv.

  1. Create a new virtual environment in a .venv directory and activates it.
     uv venv
    
  2. Activate the environment (macOS/Linux):
    source .venv/bin/activate
    
  3. Activate the environment (Windows):
     call .venv/Scripts/activate.bat
    
  4. Install Package in Editable Mode Installing the package in editable mode (-e) is the key to development. It links the isqa command in your environment directly to your source code.
    uv pip install -e .
    

βš™οΈ Configuration

This tool requires access to your GitLab repository (scopes: api, read_api). It uses a .env file to securely load your API credentials.

  1. Create a .env file in the root of the project
  2. Add your GitLab URL and a Access Token to the .env file.
    GITLAB_URL=https://gitlab.your-company.com
    GITLAB_PROJECT_ID="Project_Name"
    GITLAB_PRIVATE_TOKEN=Your_Access_Token_Here
    

    Note: You can generate a Access Token (AT) from your GitLab repository under Settings > Access Tokens. Make sure to check upon creation the following scopes: api, read_api.

    Never commit your .env file to version control.

  3. To send notifications via email, a file extra.env with email configs is required.
     cp samples/sample.extra.env extra.env
     nano extra.env
    

🌟 Usage

Once installed, the isqa command is available directly in your terminal.

NOTE: In case you want to work with multiple repositories, then you need to create multiple .env files. Then each .env file could be explicitly passed/injected into CLI via parameter.

Because it’s a typer application, you can explore all its commands and options by simply running:

Here is a list of examples, which demonstrate the core features of the utility:

CLI UI

alt text

Note

In order to get emails notifications, each Gitlab user must set his/her email as public inside the personal Gitlab profile (this could be differ according to your Gitlab default configurations). Otherwise only configured in the .env file admin will receive notification emails.

Documentation

Documentation

License

MIT