/stepci

Automated API Testing and Quality Assurance

Primary LanguageTypeScriptMozilla Public License 2.0MPL-2.0

Screen Recording 2023-10-04 at 15 43 17

Note We just announced Support Plan for Step CI

Important For users migrating from Postman and Insomnia, see issues #29 and #30 respectively

Welcome

Step CI is an open-source API Quality Assurance framework

  • Language-agnostic. Configure easily using YAML, JSON or JavaScript
  • REST, GraphQL, gRPC, tRPC, SOAP. Test different API types in one workflow
  • Self-hosted. Test services on your network, locally and CI/CD
  • Integrated. Play nicely with others

Read the Docs

Try the Online Playground

Join us on Discord

Get started

  1. Install the CLI

    Using Node.js

    npm install -g stepci
    

    Note: Make sure you're using the LTS version of Node.js

    Using Homebrew

    brew install stepci
    
  2. Create example workflow

    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/

    Note: You can also also use JSON format to configure your workflow

  3. Run the workflow

    stepci run workflow.yml
    
    PASS  example
    
    Tests: 0 failed, 1 passed, 1 total
    Steps: 0 failed, 1 passed, 1 total
    Time:  0.559s, estimated 1s
    
    Workflow passed after 0.559s
    

Documentation

Documentation is available on docs.stepci.com

Examples

You can find example workflows under examples/

Community

Join our community on Discord and GitHub

Contributing

As an open-source project, we welcome contributions from the community. If you are experiencing any bugs or want to add some improvements, please feel free to open an issue or pull request

Support Plan

Get Pro-level support with SLA, onboarding, prioritized feature-requests and bugfixes.

Learn more

Book us with Cal.com

Privacy

By default, the CLI collects anonymous usage data, which includes:

  • Unique user ID
  • OS Name
  • Node Version
  • CLI Version
  • Command (stepci init, stepci run, stepci generate)
  • Environment (Local, Docker, CI/CD)

Note The usage analytics can be disabled by setting STEPCI_DISABLE_ANALYTICS environment variable

License

The source code is distributed under Mozilla Public License terms