There are several steps to building an integration with LaunchDarkly.
Before you connect LaunchDarkly with a third-party service, replicate your integration's desired behavior in an isolated standalone environment separate from LaunchDarkly.
The easiest way to do this is to use curl
. Find the API documentation for your third-party service and execute sample commands against it. A lot of API documentation has curl
example commands provided for developers to use.
When you execute your sample commands, observe the request semantics. This helps streamline your manifest and template definitions.
Fork this repository to your own GitHub account.
After you finish building your integration, you can submit a pull request to LaunchDarkly to have it approved and deployed.
To learn more about submitting a pull request, read Step 8: Submit your integration.
Create a new directory inside the integrations directory. Name it
after your organization or give it the integration's name (For example, your-company-name-dot-com
).
The directory name must not have any spaces and must use kebab-casing.
Only change files and directories inside your new directory. Our validation process rejects any pull requests with modified content outside of your directory.
Each integration contains a manifest defining basic concepts about your integration and organization. Manifests also instruct LaunchDarkly in how to interact with your integration.
Defining your manifest is the single most important step in contributing your integration to LaunchDarkly's platform. It's important to configure your manifest correctly.
To learn more, read Integration manifest.
Most integrations need to collect one or more pieces of configuration data that support the integration (for example, API tokens or webhook endpoints).
You can describe a set of formVariables
that define these configuration properties.
To learn more, read Form variables.
The next step to define your LaunchDarkly integration is describing its
capabilities
. Your integration's capabilities
are how it interacts with LaunchDarkly.
To learn more, read Capabilities.
To validate your integration:
- Run
npm install
to install the validation dependencies. - Run
npm test
to run the validation suite.
Note: Please use Node.js v14 when running the above npm commands.
Additionally, we
recommend you install pre-commit hooks with pre-commit install
. This will make the validation suite run before every commit, saving you time if you need to troubleshoot anything.
Some of the capabilities have their own validation tools. To learn more, read Capabilities.
Now that your integration is built and validated, you must provide documentation for users and integration maintainers.
Find LaunchDarkly's user documentation at docs.launchdarkly.com. You can submit new docs to the LaunchDarkly-Docs repository.
Submit a pull request to this repository with a new integrations guide. Follow the pattern and language used by existing integration guides.
In addition to user documentation, you must to provide guidance on how to maintain and test your integration. Specify this developer-focused information in an integration README (README.md
) in your integration's directory. The README should also link to the user documentation you provide.
After you've built your integration, submit a pull request against this repo.
When you do, your branch will run through some automated validations and be reviewed by our team. If we're ready to publish your integration, we'll get your permission and make it live on our site.
We'll also work with you on submitting your user documentation to our documentation site.