Jira Issues Auto Verification
Project description
jiav
[!NOTE] This repository is a Proof of Concept.
[!WARNING] Since this tool executes commands locally, we should avoid trusting public comments as much as possible.
It will default to scanning only private comments (regardless of the visibility group). It is possible to read from public comments if you understand the potential risk, this might cause to your systems.
The output of verification steps is also not uploaded as attachments by default because it is impossible to limit attachments' visibility, refer to JRASERVER-3893. It is possible to attach the output if you understand the potential risk, this might expose sensitive information.
https://github.com/user-attachments/assets/1a9d5728-96e3-436a-9e0d-b31f74d5298b
Jira Issues Auto Verification.
jiav
is a Python based auto verification
tool for Jira.
The primary goal is to provide a robust auto-verification
workflow while focusing on ease of use and simplicity.
Users provide a YAML-formatted comment in Jira issues, and the tool will execute it.
On successful execution, the issue will move to the desired status.
Both self-hosted and cloud Jira instances are supported.
Backends
jiav
allows developers to build custom backends; refer to the development guide.
Built-in backends:
lineinfile
- looks for a line in file.regexinfile
- looks for a regex in file.jira_issue
- queries a Jira issue's status.
An example of a backends shipped externally:
ansible
- runs Ansible playbooks.
This is a risky backend since it allows users to run arbitrary code. Be cautious when enabling it!command
- runs shell commands.
This is a risky backend since it allows users to run arbitrary code. Be cautious when enabling it!
Requirements
jiav
requires Python >= 3.8
.
Self-hosted Jira instances require "Personal Access Tokens" (PAT) which are available starting from
>=8.14
.
Cloud Jira instances require a username + API tokens.
Documentation
Visit https://jiav.readthedocs.io.
Installation
Remote
Install from remote using pip3
:
pip3 install jiav
Install from remote using pipx
:
pipx install jiav
Local
Clone the local repository:
git clone https://github.com/vkhitrin/jiav.git
cd jiav
Install using pip3
:
pip3 install .
Install using pipx
:
pipx install .
Usage
Please refer to the user guide: https://jiav.readthedocs.io/en/latest/user_guide.html
If you do not have access to a Jira instance or wish to attempt this tool in an isolated environment, refer to a "Getting Started" on setting up a demo environment.
Contributing
All contributions are welcome!
To install in development mode, use poetry
:
poetry install --with=main,dev,types
If proposing new pull requests, please ensure that new/existing tests are passing:
pytest
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
Built Distribution
File details
Details for the file jiav-0.3.2.tar.gz
.
File metadata
- Download URL: jiav-0.3.2.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.8.18 Darwin/24.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb09e497ddc017bb099b615ee382bae1743aea5ee37150b53df6da324607370c |
|
MD5 | 2e77547abb450430d23175583b9702cb |
|
BLAKE2b-256 | e5e4e80b41f2930810509c8f3c1e04d4fe5f531bca2561fd09e15579693f3750 |
File details
Details for the file jiav-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: jiav-0.3.2-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.8.18 Darwin/24.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e144454ee5a12daf05bdd31640661448550cc02e065a155a51049f8ed610bed0 |
|
MD5 | ff6b81b4958d3d55880d4b5cff0b41c4 |
|
BLAKE2b-256 | 3e166fe093660279a8520908503b226d9d7fa7248c0daf00fcb97acd8521ab3a |