Introduction
TestBench Requirement Service is a lightweight, asynchronous REST API service for imbus TestBench that provides unified access to requirements from multiple sources, including Jira, Excel/text files, and JSONL.
Features
- Multiple data sources: read requirements from JSONL files, Excel spreadsheets (
.xlsx,.xls,.csv,.tsv,.txt), or Jira via its REST API. - Unified REST API: a single API surface regardless of the underlying data source.
- Interactive setup: a CLI wizard (
init) that generates a complete configuration in seconds. - Swagger UI: built-in interactive API documentation at
/docs. - HTTPS & mTLS: optional TLS termination and mutual TLS for production deployments.
- Reverse proxy support: first-class configuration for Nginx, Apache, and similar proxies.
- Extensible: create your own
RequirementReaderto connect any data source.
Core concepts
| Concept | Description |
|---|---|
| Project | A top-level grouping of requirements. How projects are discovered depends on the active reader (directories on disk, Jira projects, etc.). |
| Baseline | A version or snapshot of a project's requirements. |
| Requirements tree | The baseline content exposed as a tree of folders/groups and leaf requirements. |
| Reader | A pluggable component that knows how to fetch projects, baselines, and requirements from a specific data source. |
Architecture
The service runs a Sanic-based HTTP server and delegates all domain logic to a configured RequirementReader implementation.
┌──────────────────────────────────────┐
│ TestBench RM Proxy │
└───────────────────┬──────────────────┘
│ HTTP (Basic Auth)
┌───────────────────▼──────────────────┐
│ TestBench Requirement Service │
│ (Sanic) │
├──────────────────────────────────────┤
│ RequirementReader │
├────────────┬────────────┬────────────┤
│ JSONL │ Excel │ Jira │
└──────┬─────┴──────┬─────┴──────┬─────┘
│ │ │
.jsonl files .xlsx/.csv Jira REST API
Where to go next
- New here? Start with the Installation and Quickstart guides.
- Configuring the service? See the Configuration page.
- Choosing a reader? Check the Readers overview for a comparison, then dive into JSONL, Excel, or Jira.
- Running as a Windows service? See the Windows service guide.
- CLI reference? See the CLI commands page.