kurl's beautiful terminal output is counterproductive in CI/CD pipelines. No built-in assertions for testing APIs.
Proposed Implementation
kurl https://api.example.com --ci --format json
(machine-readable, no colors)
kurl https://api.example.com --expect-status 200
kurl https://api.example.com --expect-json '.status' 'ok'
kurl https://api.example.com --expect-header 'Content-Type' 'application/json'
kurl https://api.example.com --expect-response-time < 500ms
Exit codes: 0 = all pass, 1 = any fail
JUnit XML / TAP output for test result aggregation
Why this matters
API testing in CI/CD is typically done with heavy frameworks (Postman, REST Assured). kurl could replace them for simple smoke tests.
Acceptance Criteria
kurl's beautiful terminal output is counterproductive in CI/CD pipelines. No built-in assertions for testing APIs.
Proposed Implementation
(machine-readable, no colors)
Exit codes:
0= all pass,1= any failJUnit XML / TAP output for test result aggregation
Why this matters
API testing in CI/CD is typically done with heavy frameworks (Postman, REST Assured). kurl could replace them for simple smoke tests.
Acceptance Criteria
--ciflag for non-interactive output--format json|xml|tapfor machine parsing