Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate Newman CLI commands, configuration files, Jenkins pipeline scripts, and shell automation for running Postman collections in CI/CD or local environments. Use this skill whenever the user wants to run Postman collections from the command line, automate API tests, integrate...
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 383% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 312% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 120% | 0% |
Use this skill when you need generate Newman CLI commands, configuration files, Jenkins pipeline scripts, and shell automation for running Postman collections in CI/CD or local environments. Use this skill whenever the user wants to run Postman collections from the command line, automate API tests, integrate...
Generates Newman CLI commands, shell scripts, and Jenkins pipeline configs for running Postman collections in automated environments.
Newman is Postman's CLI runner. Install with:
bashnpm install -g newman # Optional HTML reporter: npm install -g newman-reporter-htmlextra
bashnewman run <collection> \ --environment <env-file> \ --globals <globals-file> \ --iteration-count <n> \ --iteration-data <csv-or-json> \ --reporters <reporter-list> \ --reporter-htmlextra-export <output.html> \ --reporter-junit-export <results.xml> \ --timeout-request <ms> \ --delay-request <ms> \ --bail \ --color on
Ask or infer from context:
| Parameter | Question | |---|---| | Collection source | File path, URL, or Postman API UID? | | Environment | File path or inline variables? | | Reporter(s) | CLI only, HTML report, JUnit XML? | | Fail behavior | Stop on first failure (--bail) or run all? | | Iterations | Single run or data-driven (CSV/JSON)? | | Target | Local shell, Jenkins, or both? |
bashnewman run collection.json \ --environment environment.json \ --reporters cli,htmlextra \ --reporter-htmlextra-export reports/report.html \ --bail
bashnewman run "https://api.getpostman.com/collections/<UID>?apikey={{POSTMAN_API_KEY}}" \ --environment environment.json \ --reporters cli,junit \ --reporter-junit-export results/junit.xml
bashnewman run collection.json \ --iteration-data test-data.csv \ --iteration-count 5 \ --reporters cli,htmlextra \ --reporter-htmlextra-export reports/data-driven-report.html
bashnewman run collection.json \ --env-var "base_url=https://staging.api.example.com" \ --env-var "token=abc123" \ --reporters cli
Generate a reusable shell script:
bash#!/bin/bash set -e # Configuration COLLECTION="./collection.json" ENVIRONMENT="./environment.json" REPORT_DIR="./reports" TIMESTAMP=$(date +"%Y%m%d_%H%M%S") # Ensure report directory exists mkdir -p "$REPORT_DIR" echo "Running Newman collection: $COLLECTION" newman run "$COLLECTION" \ --environment "$ENVIRONMENT" \ --reporters cli,htmlextra,junit \ --reporter-htmlextra-export "$REPORT_DIR/report_$TIMESTAMP.html" \ --reporter-junit-export "$REPORT_DIR/junit_$TIMESTAMP.xml" \ --timeout-request 10000 \ --bail EXIT_CODE=$? if [ $EXIT_CODE -eq 0 ]; then echo "✅ All tests passed." else echo "❌ Tests failed. Check report: $REPORT_DIR/report_$TIMESTAMP.html" exit $EXIT_CODE fi
groovypipeline { agent any environment { POSTMAN_ENV = credentials('postman-environment-file') // Jenkins credential ID } stages { stage('Install Newman') { steps { sh 'npm install -g newman newman-reporter-htmlextra' } } stage('Run API Tests') { steps { sh """ newman run collection.json \\ --environment ${POSTMAN_ENV} \\ --reporters cli,htmlextra,junit \\ --reporter-htmlextra-export reports/report.html \\ --reporter-junit-export reports/junit.xml \\ --timeout-request 10000 \\ --bail """ } } } post { always { // Archive HTML report publishHTML(target: [ allowMissing: false, alwaysLinkToLastBuild: true, keepAll: true, reportDir: 'reports', reportFiles: 'report.html', reportName: 'Newman API Test Report' ]) // Archive JUnit results junit 'reports/junit.xml' } failure { echo 'API tests failed! Check the Newman report.' } } }
groovynode { stage('Install Newman') { sh 'npm install -g newman newman-reporter-htmlextra' } stage('Run API Tests') { try { sh """ newman run collection.json \\ --environment environment.json \\ --reporters cli,junit \\ --reporter-junit-export reports/junit.xml \\ --bail """ } catch (err) { currentBuild.result = 'FAILURE' throw err } finally { junit 'reports/junit.xml' } } }
groovyenvironment { BASE_URL = 'https://api.example.com' API_TOKEN = credentials('api-token-secret') } steps { sh """ newman run collection.json \\ --env-var "base_url=${BASE_URL}" \\ --env-var "token=${API_TOKEN}" \\ --reporters cli,junit \\ --reporter-junit-export results/junit.xml """ }
| Reporter | Install | Flag | Output | |---|---|---|---| | cli | built-in | --reporters cli | Terminal output | | junit | built-in | --reporters junit | JUnit XML (for Jenkins) | | htmlextra | npm i -g newman-reporter-htmlextra | --reporters htmlextra | Rich HTML report | | json | built-in | --reporters json | Raw JSON results |
Multiple reporters: --reporters cli,htmlextra,junit
Provide based on what the user needs:
run-tests.sh) — with exit code handling| Flag | Purpose | |---|---| | --bail | Stop run on first test failure | | --timeout-request 5000 | Per-request timeout in ms | | --delay-request 200 | Delay between requests in ms | | --iteration-count 3 | Run collection N times | | --folder "Folder Name" | Run only a specific folder | | --env-var "k=v" | Inline environment variable | | --suppress-exit-code | Always exit 0 (don't fail CI) | | --verbose | Show full request/response details | | --color off | Disable color (useful for logs) |
Once the CLI command output is delivered, ask the user:
"Would you like me to generate API documentation for this design? (yes/no)"
If the user says yes:
You can install it and re-run.
If the user says no:
Other measured skills in the registry, with their headline benchmark lift.