Skip to main content

📢 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

  • Install using pip
    pip install --upgrade isqa
    
  • Check configuration section afterward

🧩 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:

  • Help
    isqa --help
    

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

  • List board issues
    isqa list-board-issues --board-name tasks
    
  • List board issues (without visible labels on the board)
    isqa list-board-issues --without-labels
    
  • Use a custom test.env file
    isqa --env-file test.env list-issues
    
  • Run a check of a due date property of the issues and notify admin via email, if some issues are due
    isqa check-due-date --notify-admin
    
  • Run a check of missing labels of the issues and notify admin via email, if some issues got no labels assigned
    isqa check-missing-label --notify-admin
    
  • Run a check of missing assignee for the issues and notify admin via email, if some issues got no assignee
    isqa check-missing-assignee --notify-admin
    
  • Migration issues from label In Progress to label administration when condition due-date met (issues have been due)
    isqa migrate-issues --from-label "In Progress" --to-label "administration" --check-condition due-date
    
  • Sorting the issues on a board within the label projects (NOTE: it make take a while, because after each sort pass, the script will be pause for 10 seconds in order not to overload server )
    isqa sort-board-issues --label projects
    
  • Sorting the issues on a board within the label projects in descending order.
    isqa sort-board-issues --label projects --descending
    

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

Release files for isqa 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for isqa 0.6.2
File Size Uploaded
isqa-0.6.2.tar.gz 17.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for isqa 0.6.2
File Interpreter ABI Platform
isqa-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 35.9 kB

Release files / isqa-0.6.2.tar.gz

Download URL isqa-0.6.2.tar.gz
Size 17.6 kB
Tags Source
SHA-256 checksum
How to use checksums
876c82760e937d60cafa468751376ddc29bcc3898da5056e2bf66516e7f54738
BLAKE2b-256 checksum
How to use checksums
950b56eec6d6a140a987c095040c429f25d664199e5863beb422d5b1448f8d1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release files / isqa-0.6.2-py3-none-any.whl

Download URL isqa-0.6.2-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3a601f8f533970744f800e9ee143b180c87139d65bd2f10a5eb2f52ec7259ed
BLAKE2b-256 checksum
How to use checksums
f6de7452d7a6589350c0312280440d62b91b991abe813cc261207a7dadcecad0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

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