Plugins
Standard Plugins
Drift includes core plugins for OpenAPI and AsyncAPI testing, payload validation, datasets, and reporting. Transport and specialized plugins are optional. Install them with drift component install <name>. For more information, see Drift Components.
Plugin | Tier | Status |
|---|---|---|
OpenAPI ( | Core | Stable |
AsyncAPI ( | Core | Stable |
JSON ( | Core | Stable |
Form URL Encoded ( | Core | Stable |
XML ( | Core | Stable |
Data ( | Core | Stable |
JUnit Reporter ( | Core | Stable |
Kafka ( | Optional | Stable |
AWS Messaging ( | Optional | Stable |
gRPC ( | Optional | Stable |
MCP ( | Optional | Beta |
Protobuf ( | Optional | Stable |
Avro ( | Optional | Stable |
OpenAPI (oas)
The foundational plugin for spec-first testing. It parses OpenAPI 3.0 and 3.1 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 |
Automatic validation of response bodies against JSON schemas.
Support for
source:method:pathtargeting whenoperationIdis missing.See Also: OpenAPI (OAS)
AsyncAPI (asyncapi)
The foundational plugin for message-based testing. It parses AsyncAPI 3.x documents to resolve operations, channels, message schemas, and correlation rules, then plans how each interaction should be executed.
Specification format | Support status |
|---|---|
AsyncAPI 3.1 | Supported |
AsyncAPI 3.0 | Supported |
AsyncAPI 2.x | Not supported |
See Also: AsyncAPI Plugin
Automatic selection of the execution mode from the operation action and your test inputs.
Validation of captured messages against payload and header schemas.
Use with a transport plugin (
kafkaoraws-messaging) and thejsonplugin.
JSON (json)
Provides specialized validation for JSON payloads.
Media Type Support: Handles application/json payloads defined in your API specification.
Schema Support: Powers deep property and type checking for API responses.
Kafka (kafka)
Provides Apache Kafka transport for AsyncAPI operations.
Use Case: Use this plugin when your AsyncAPI document declares the kafka protocol. Drift publishes to and consumes from real Kafka topics.
Supports: Asynchronous and request/reply interactions.
See Also: Kafka Plugin
AWS Messaging (aws-messaging)
Provides Amazon SNS and Amazon SQS transport for AsyncAPI operations.
Use Case: Use this plugin when your AsyncAPI document declares the sns or sqs protocol. Works against AWS or a local emulator such as LocalStack.
Supports: Asynchronous interactions only. Request/reply is not available on SNS or SQS.
See Also: AWS Messaging Plugin
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.See Also: Data Plugin
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.
gRPC (grpc)
Provides support for gRPC services with protobuf payloads.
Media Type Support: Handles
application/grpc+proto,application/grpcandapplication/x-protobufUse Case: Use this plugin when you need to test gRPC services
See Also: gRPC Plugin
MCP (mcp)
Provides support for MCP servers.
Media Type Support: Handles
application/jsonbodiesNetwork Support: Supports streamable HTTP via SSE and stdio
Use Case: Use this plugin when you need to test MCP Servers
See Also: MCP Plugin
Protobuf (protobuf)
Provides Protocol Buffers payload support for AsyncAPI messages.
Media Type Support: Handles
application/vnd.google.protobuf,application/protobuf,application/x-protobuf, andapplication/x-google-protobufpayloads.Use Case: Use this plugin when your AsyncAPI messages embed a
.protoschema and your service sends or receives protobuf binary payloads.See Also: Protobuf Plugin
Avro (avro)
Provides Apache Avro payload support for AsyncAPI messages.
Media Type Support: Handles
application/vnd.apache.avro,application/avro, andavro/binarypayloads.Use Case: Use this plugin when your AsyncAPI messages embed an Avro schema and your service sends or receives Avro binary payloads.
See Also: Avro Plugin