Step CI is an open-source tool, which makes testing and monitoring APIs simple
Quick overview:
- Language-agnostic. Flexible, declarative configuration language
- REST, GraphQL, XML
- Integrated. Works seamlessly with Node, Docker and GitHub Actions
Install the CLI
npm install -g stepci
Create example workflow (tests/workflow.yml
)
version: "1.1"
name: Status Check
env:
host: example.com
tests:
example:
steps:
- name: GET request
http:
url: https://{{env.host}}
method: GET
check:
status: /^20/
Run the workflow
stepci run tests/workflow.yml
Create example workflow (tests/workflow.yml
)
version: "1.1"
name: Status Check
env:
host: example.com
tests:
example:
steps:
- name: GET request
http:
url: https://{{env.host}}
method: GET
check:
status: /^20/
Run the Docker image
docker run -v "$(pwd)"/tests:/tests ghcr.io/stepci/stepci tests/workflow.yml
Create example workflow (tests/workflow.yml
)
version: "1.1"
name: Status Check
env:
host: example.com
tests:
example:
steps:
- name: GET request
http:
url: https://{{env.host}}
method: GET
check:
status: /^20/
Add Step CI GitHub Action (./github/workflows/stepci.yml
)
on: [push]
jobs:
api_test:
runs-on: ubuntu-latest
name: API Tests
steps:
- uses: actions/checkout@v3
- name: Step CI Action
uses: stepci/stepci@main
with:
workflow: "tests/workflow.yml"
Documentation is accessible under docs/
You can find a collection of Step CI example tests under examples/
By default, the CLI collects anonymous usage data, which includes:
- Unique user ID
- OS Name
- Node Version
- CLI Version
- Environment (Local, Docker, CI/CD)
The usage analytics can be disabled by adding STEPCI_DISABLE_ANALYTICS
to your env variables
Step CI is distributed under Mozilla Public License terms