Skip to content

Latest commit

 

History

History
87 lines (48 loc) · 4.48 KB

getting-started.md

File metadata and controls

87 lines (48 loc) · 4.48 KB

Getting started

There are several steps to building an integration with LaunchDarkly.

Prerequisites

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.

Step 1: Fork this repository

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.

Step 2: Create a new directory inside ./integrations

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.

Step 3: Create your integration manifest

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.

Step 4: Collect integration configuration data from LaunchDarkly users

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.

Step 5: Define your integration's capabilities

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.

Step 6: Validate your integration

To validate your integration:

  1. Run npm install to install the validation dependencies.
  2. 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.

Step 7: Create your user documentation and README

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.

Step 8: Submit your integration

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.