testops-mirror
Mirror test cases from any TMS into a Git repository — one file per test case, history forever.
mirror/
├── Transfers/
│ ├── Negative/
│ │ └── TC-2301-transfer-to-blocked-account.md
│ └── TC-2201-transfer-between-own-accounts.md
└── Auth/
└── TC-1001-login-with-valid-credentials.md
Why
Your TMS is a single point of failure. Test cases deserve version control just like code — history, diff, blame, and code review through merge requests.
testops-mirror pulls every test case on a schedule and commits changes to a plain Git repo. No vendor lock-in, no proprietary format.
Quick Start
pip:
pip install testops-mirror
cp .env.example .env # fill in TESTOPS_ENDPOINT and TESTOPS_TOKEN
testops-mirror sync --project-id 42 --repo ./mirror
Docker:
docker run --rm \
-e TESTOPS_ENDPOINT=https://testops.example.com \
-e TESTOPS_TOKEN=your-token \
-v $(pwd)/mirror:/mirror \
ghcr.io/exzist-qa/testops-mirror \
sync --project-id 42 --repo /mirror
Example output file
See docs/example/Transfers/Negative/TC-2301-transfer-to-blocked-account.md
for a real file generated by the tool from Allure TestOps fixture data.
Supported TMS
| TMS | Status |
|---|---|
| Allure TestOps | ✅ |
| TestIT | 🚧 planned |
| TestRail | 🤝 contributions welcome |
Configuration
| Option | Env | Default | Description |
|---|---|---|---|
--project-id |
— | required | TMS project ID |
--endpoint |
TESTOPS_ENDPOINT |
required | Base URL of TMS |
--token |
TESTOPS_TOKEN |
required | API token |
--repo |
— | ./mirror |
Local Git repo path |
--suite-field |
TESTOPS_SUITE_FIELD |
Suite |
Custom field for folder structure |
--dry-run |
— | false | Preview changes without writing |
-v/--verbose |
— | false | Verbose logging |
Note: API endpoint paths are verified against Allure TestOps documented API. If your instance uses different paths, check
<endpoint>/swagger-ui/and update the constants inconnectors/allure_testops.py.
Roadmap
- Attachments download
- TestIT connector
- Index file (
cases/INDEX.md) with a table of all cases - Reverse import (Markdown → TMS)
License
MIT
Release files for testops-mirror 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| testops_mirror-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / testops_mirror-0.1.1-py3-none-any.whl
| Download URL | testops_mirror-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
445b94618b1df7acdf181d05c65aa5b609f0ca063e649c1a2c64fa9e1cb7cdae
|
|
BLAKE2b-256 checksum How to use checksums |
b2e65ab3350f84d50e480801a5183063e572a32352affcecf277c153223e40f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|