8000
Skip to content

runotr13/swagger-to-postman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swagger to Postman (CLI Tool) 🚀

Update Postman Collection TypeScript NodeJS GitHub Actions

Generate dynamic, automated Postman collections and environments directly from your Swagger/OpenAPI documentation. This tool leverages Faker.js to populate requests with realistic mock data, ensuring a robust and production-ready testing workflow.


🛠 Features

  • Smart Mocking: Automatically detects field names like email, name, id, and password to generate context-aware data.
  • Recursive Parsing: Deeply crawls nested objects and arrays in your Swagger schemas.
  • Postman SDK: Built on top of the official postman-collection library.
  • Environment Automation: Auto-generates baseUrl and security variables (API Key, Bearer Token).
  • CI/CD Ready: Built-in support for synchronizing collections directly to Postman Cloud.

📂 Project Structure

The project is organized following the Single Responsibility Principle:

src/
├── core/               # Postman SDK logic (Collection & Environment)
├── generators/         # Mock data engine and schema traversal
├── helpers/            # Utility functions (e.g., Postman Cloud Sync)
├── services/           # Swagger analysis and business logic
├── cli.ts              # CLI entry point
└── index.ts            # Public library API

📦 npm Usage

Run without install

npx swagger-to-postman -i ./swagger.json

Global install

npm install -g swagger-to-postman
swagger-to-postman -i ./swagger.json

Local dependency

npm install swagger-to-postman
npx swagger-to-postman -i ./swagger.json

Build and Link locally:

npm run build
npm link

Development

npm run start -- -i ./swagger.json -o ./output

Running the Tool

# Using a local file
swagger-to-postman -i ./swagger.json -o ./output

# Using a remote URL
swagger-to-postman -i https://petstore.swagger.io/v2/swagger.json -o ./petstore-output

📖 CLI Arguments

Argument Shorthand Description Default
--input -i (Required) Path to local swagger.json or remote URL N/A
--output -o Target directory for generated files ./output

📤 Output

The tool generates the following files:

output/
├── collection.json     # Postman Collection
└── environment.json    # Postman Environment

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

0