Skip to main content

Mirror test cases from any TMS into a Git repository as Markdown files

Project description

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 in connectors/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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

testops_mirror-0.1.1-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file testops_mirror-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: testops_mirror-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for testops_mirror-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 445b94618b1df7acdf181d05c65aa5b609f0ca063e649c1a2c64fa9e1cb7cdae
MD5 bba29574fb8314e21cd0d38997031ec5
BLAKE2b-256 b2e65ab3350f84d50e480801a5183063e572a32352affcecf277c153223e40f4

See more details on using hashes here.

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