No results for ""
EXPAND ALL
  • Home
  • API docs

Getting started

Read time: 4 minutes
Last edited: May 01, 2024

Overview

This topic provides an overview of the process of building an integration with LaunchDarkly.

Prerequisites

To build an integration with LaunchDarkly, you must have the following prerequisites:

A replication of your integration's desired behavior

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 the service. When you execute your sample commands, observe the request semantics. This helps streamline your manifest and template definitions.

If you want to integrate with a third-party service that you are not directly associated with, please open a Feature Request describing your goal and expectations for the integration before submitting any pull requests.

SVG logo files

You must provide two SVG logo files, one in horizontal and one in square dimensions.

LaunchDarkly renders square SVGs in a 40x40 container, and horizontal SVGs with a height of 55px and a width that maintains the original aspect ratio of the file.

Your logo appears in the LaunchDarkly Integrations documentation and in the LaunchDarkly user interface on the Integrations list.

Build an integration with LaunchDarkly

The steps required to build an integration include:

  1. Forking the LaunchDarkly Integration Framework repository
  2. Creating a new directory
  3. Creating an integration manifest
  4. Collecting integration configuration data
  5. Defining the integration's capabilities
  6. Validating the integration
  7. Creating end-user documentation and README
  8. Submitting the integration

Fork the LaunchDarkly Integration Framework repository

First, fork the LaunchDarkly Integration Framework repository to your own GitHub account.

After you finish building your integration, you will submit a pull request to LaunchDarkly to have it approved and deployed. To learn more about submitting a pull request, read Submit the integration.

Create a new directory

Next, 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.

Create an 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 Defining an integration manifest.

Collect integration configuration data

Most integrations need to collect one or more pieces of configuration data that support the integration. For example, your integration may collect API tokens or webhook endpoints.

You can describe a set of formVariables that define these configuration properties.

To learn more, read Using form variables.

Define the 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 Using integration framework capabilities.

Validate the integration

Validating your integration ensures that it is running as intended. Any submitted integration must pass validation before we will accept it.

Here are some options to validate your integration:

  • Use LaunchDarkly's integration validation server. This is a general tool that lets developers test some of their integration capabilities with LaunchDarkly. To learn more, read Validating an integration.
  • A few of the capabilities have their own separate validation tools. To learn more, read Using integration framework capabilities.

Additionally, we recommend you install pre-commit hooks with pre-commit install. This runs the validation suite before every commit, saving you time if you need to troubleshoot anything.

Create end-user documentation and README

Now that your integration is built and validated, you must provide documentation for end users and integration maintainers.

Send an email to the Ecosystem team with instructions for how to use your integration. Follow the pattern and language used by the other integration topics.

In addition to end-user documentation, you must also provide guidance on how to maintain and test your integration. Specify this developer-focused documentation in an integration README (README.md) in your integration's directory. The README should also link to the end-user documentation you provide.

Submit the integration

After you've built your integration, submit a pull request against the LaunchDarkly Integration Framework repository. When you submit a pull request, your branch will run through some automated validations and be reviewed by our team.

After your Integration Framework repository pull request is approved, our Ecosystem and Documentation teams will review the documentation that you submitted and add it to docs.launchdarkly.com.

When we're ready to publish your integration, we'll get your permission and publish your integration and documentation live on our site.