Submit PR for New Integration
Submit a pull request to a RudderStack GitHub repository.
This guide will take you through the steps to contribute to our open-source code while creating your RudderStack integration. It will also make sure that your integration code fits into our existing codebase without any issues.
To create and submit an integration, you must contribute to the following repositories:
Repository | Link | Description |
---|
RudderStack Transformer | rudder-transformer | Transforms the standard RudderStack payload from the source to the required destination payload format. |
Control Plane Lite | config-generator | Gathers the connection-specific configurations specific to each user. |
RudderStack documentation | rudderstack-docs | Includes the documentation to set up, configure, and use the integration. |
Creating a pull request
Follow the steps below to create a pull request and submit your integration to our open-source code:
- Fork and clone the above-mentioned respositories in your local machine. If you’ve done it already, ensure that the local repositories are updated to prevent any merge conflicts.
- Create a branch with a clear, descriptive name.
- Push your changes to the remote origin.
- Click New pull request in the RudderStack repository.
- Click Compare across forks link.
- Change the Head Repository to your forked repository and change Compare to be the associated branch name.
- Make the necessary title or description changes. For example, you can add tags such as WIP (work in progress), etc. to add your work status.
- Click Create pull request.
Repeat the above steps for each of the repositories: rudder-transformer
, config-generator
, and rudderstack-docs
.
GitHub repository
The rudder-transformer
repository is responsible for transforming the source payload into the destination-specific format. As it contains a lot of code, keep the following tips in mind when contributing to this repository:
- Format the code to match the existing structure. In case of any queries, contact us.
- Include any
eslint
logic at the top of the file. - Include test cases that provide around 80% code coverage.
Control Plane Lite
GitHub repository
The config-generator
repository can be used to upload the settings required for configuring the integration. The best practice is to follow the pre-existing structure to the best of your ability and reach out to us in case of any questions.
Also, note the following:
- Include the regex validation rules for all text input fields.
- The icon file must be in the SVG format.
RudderStack documentation
GitHub repository
The rudderstack-docs
repository houses all RudderStack documentation. You can refer to the destination template while creating the documentation for the integration; it will help you understand the pre-defined documentation structure.
Also, a few tips while documenting your integration:
- Ensure that the document is detailed and thorough to avoid any confusion and errors.
- Include clear and concise steps to set up, configure, and use your integration.
- Include tips and suggestions wherever possible.
Do not include any images or screenshots in the documentation. They will be added once all changes are merged.
Questions? Contact us by email or on
Slack