@apib/2postman

Convert API Blueprints to Postman Collections

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
22May 8, 2021Jan 28, 2019Minified + gzip package size for @apib/2postman in KB

Readme

API Blueprint to Postman

Quickstart

  1. Install the package globally

    npm i -g @apib/2postman
    
  2. Obtain an API blueprint definition file. This is usually created with markdown using API blueprint syntax. You can then feed this blueprint into the following command to have a Postman collection generated from it.

  3. Run the command to generate a Postman collection and environment

    apib2postman <your-blueprint.apib> -o collection.json -e environment.json
    

Command Line Options

apib2postman <api-blueprint.apib> [options]
  • -o <output>, --output <output>

    Default stdout

    Specify a file for where the collection will be saved.

  • -e <env-output>, --environment <env-output>

    Default API.postman_environment.json

    Specify a file for where the environment template will be saved.

  • -t <test-template>, --testTemplate <test-template>

    Default templates/postman/actions/js-tests.hbs

    Specify a handlebar template to be used for each action's Postman tests. Variables are listed below which can be used within the template.

Postman Test Template

Some JS tests have been created which get templated and attached to every action. The default tests exist at templates/postman/js-tests.hbs

This template is applied to every action and the variables which get passed to this template are as follows:

Name Description Example
pathName The path of the group collection as a standardized name. networkDevices_ for /api/networkDevices/:id
isPageable Returns true if the response schema has a collection within true
sortParams The accepted sort parameters parsed from the sort query parameter description [ "name", "category" ]
request The same request definition passed to the postman collection template { }
response The same response definition passed to the postman collection template { }

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.