Quickstart
Run a real HTTP case against a live API in a few minutes. No credentials, no account.
1. Get the CLI
Two ways to run it. With the .NET 8 SDK:
clone and build
git clone https://github.com/ernestoalejowitt22/ReleaseTwin
cd ReleaseTwin
dotnet build ReleaseTwin.slnOr via the published container image — no .NET SDK required:
docker
docker pull ghcr.io/ernestoalejowitt22/releasetwin/cli:0.1.02. Run the bundled HTTP example
It makes a real HTTP call to a public test API and runs two real JSONPath assertions — against the live internet, no fake handler, no setup.
from source
dotnet run --project src/ReleaseTwin.Cli -- examples/casesor with docker
docker run --rm -v $(pwd)/examples:/workspace:ro \
ghcr.io/ernestoalejowitt22/releasetwin/cli:0.1.0Output:
FAIL CLM-042 (Infrastructure): missing-capability:http:azure-devops
FLAGPROOF FLAGPROOF-DEMO-1 (Ineligible): no installed adapter exposes feature-state control
PASS HTTP-DEMO-1
1 passed, 2 failedHTTP-DEMO-1 passed against the live API. The other two need Azure DevOps credentials and report as failing rather than crashing — a non-zero exit code is safe to wire straight into CI (... || exit 1).
3. Write a case against your own API
No new adapter code needed — http.request and http.assertJsonPath test any REST API from case-file data alone. Put this in cases/my-case.yaml:
cases/my-case.yaml
id: MY-CASE-1
oracle:
locator: tickets/MY-CASE-1
fixture:
locator: my-fixture.json # resolved next to cases/, in a fixtures/ directory
sha256: <sha256 of the fixture file>
pipeline:
- operation: http.request
with:
method: POST
url: ${API_BASE_URL}/orders # ${ENV_VAR} resolved at load time — never commit secrets
headers:
Authorization: Bearer ${API_TOKEN}
body:
productId: 123
- operation: http.assertJsonPath
with:
path: $.status
expected: confirmed${ENV_VAR}references are resolved when the case loads — keep URLs, tokens, and secrets in the environment, not the file.- The fixture is resolved locally by whatever machine runs the CLI and verified by hash before the pipeline runs.
Next
- Case files — every block a case can declare, including flag proof.
- Hosted platform — upload run history and turn on the evidence viewer.