Standard Plugins
Project Drift comes bundled with several core plugins that provide essential testing, validation, and reporting capabilities out-of-the-box.
🔌 Available Plugins
OpenAPI (oas)
The foundational plugin for spec-first testing. It parses supported Swagger and OpenAPI documents to resolve endpoints, schemas, and examples.
| Specification format | Support status |
|---|---|
| Swagger 2.0 | Supported |
| OpenAPI 3.0 | Supported |
| OpenAPI 3.1 | Supported |
| OpenAPI 3.2 | Not supported |
| Swagger earlier than 2.0 | Not supported |
- Key Feature: Automatic validation of response bodies against JSON schemas.
- Key Feature: Support for
source:method:pathtargeting whenoperationIdis missing.
JSON (json)
Provides specialized validation for JSON payloads.
- Media Type Support: Handles
application/jsonpayloads defined in your API specification. - Schema Support: Powers deep property and type checking for API responses.
XML (xml)
Provides payload support for XML request and response bodies.
- Media Type Support: Handles
application/xmlpayloads defined in your API specification. - Use Case: Use this plugin when your API exchanges XML bodies that Drift needs to send or validate.
- See Also: XML Plugin
Form URL Encoded (form-urlencoded)
Provides payload support for HTML form-style request bodies.
- Media Type Support: Handles
application/x-www-form-urlencodedpayloads. - Use Case: Use this plugin when an operation expects form fields instead of JSON.
- See Also: Form URL Encoded Plugin
Data (data)
Manages the loading and injection of external datasets into your test cases.
- Dataset Management: Resolves references like
${product:products.product10.id}fromdrift-dataset-filesources. - Dynamic Generation: Supports advanced expressions like
notIn()to create unique test data on the fly.
JUnit Reporter (junit-output)
Generates standardized XML reports for integration with CI/CD tools like GitHub Actions, Jenkins, or GitLab.
- Format: Produces
testsuiteandtestcaseelements compatible with universal JUnit XML schemas. - CI Integration: Allows build systems to visualize pass/fail counts and execution times natively.
HTTP Dump (http-dump)
A debugging utility that logs raw HTTP traffic.
- Use Case: Enable this plugin to inspect the exact headers and bodies being sent and received during a test run.
- Configuration: Can be configured via
config.tomlto adjust log verbosity.