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

Defining an integration manifest

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

Overview

This topic explains how to create an integration manifest for your partner integration.

Each integration should contain a manifest that includes basic concepts about your integration and your organization. Your manifest should also instruct LaunchDarkly on how to interact with your integration.

Create your manifest

Create an empty manifest.json file inside your new directory. You will use this file to describe your integration's details and capabilities.

LaunchDarkly defines the properties of its integration manifests through a JSON schema. Many integrated development environments (IDEs) can provide you inline help and validation while editing your manifest. You can register the JSON schema in your IDE to enable this kind of help.

If you use VSCode, it detects the settings in this repository and applies the schema validation without any additional configuration.

Here is an example in VSCode:

An example manifest in VSCode
An example manifest in VSCode

Fill out your manifest

The manifest.json file includes information about your organization, your integration, and how it works with LaunchDarkly.

Organization and contact information

The first part of your manifest should describe your organization, contacts, URLs, and a few items LaunchDarkly needs to list your integration properly.

LaunchDarkly uses most of this information to render your integration card and configuration form in the LaunchDarkly user interface (UI).

Fill out the name, version, author, supportEmail, links, and categories fields.

Descriptions of your integration

There are two fields in the manifest that describe your integration to LaunchDarkly account members.

The overview field is a one-line summary that appears on the Integrations list in the LaunchDarkly UI:

A portion of the integration panel on the "Integrations" list in the LaunchDarkly UI, with the overview called out.
A portion of the integration panel on the "Integrations" list in the LaunchDarkly UI, with the overview called out.

The description field is a longer definition that appears when a member clicks Add integration from the Integrations list in the LaunchDarkly UI:

An add integration panel in the LaunchDarkly UI, with the manifest.json "description" field displayed.
An add integration panel in the LaunchDarkly UI, with the manifest.json "description" field displayed.

Here are some suggestions for filling out these fields:

  • Start your overview with a verb. Describe as succinctly as you can the most important action that members can accomplish if they use your integration.

  • For your description, use two or three sentences to describe what your product is or does and how that provides value to someone working in LaunchDarkly.

  • For both fields, use present tense and active voice. Focus on the specific actions that the account member can complete using your integration. When you're done, read your content out loud. If it doesn’t sound like something a human would say, your content needs to be edited.

The description can accept simple Markdown. The LaunchDarkly UI converts Markdown to HTML. To get the best results, only use simple Markdown, such as links and basic text formatting.

Icons

The icons the manifest describes are in SVG format. LaunchDarkly does not accept other image formats.

We use your organization's or integration's logo in the LaunchDarkly UI and in the public integrations listing on launchdarkly.com/integrations. SVG files allow your logo to scale nicely on different devices. To ensure your logo appears correctly everywhere we use it, do not include any padding around the image.

The icon.square and icon.horizontal properties point to relative paths. These paths are relative to your integration's directory. You can create any directories and files that support your integration.

Use OAuth

Many integrations in LaunchDarkly use API tokens. However, if your API requires OAuth for authentication, LaunchDarkly can support that as well. To learn more, read Registering a LaunchDarkly OAuth client.

If your integration requires OAuth, include the requiresOAuth field in your manifest and set it to true.

Form variables and capabilities

Form variables and capabilities define the primary interactions that LaunchDarkly and others will have with your integration.

To learn more, read Using form variables and Using integration framework capabilities.

Example manifest

To review an example manifest, look through the sample-integration folder in the LaunchDarkly integration-framework GitHub repository.

Here is an example of part of the manifest.json file:

{
"name": "Sample Integration",
"version": "1.0.0",
"overview": "Short one-liner describing your integration",
"description": "Send flag data to space. Markdown-based description.",
"author": "Example Dot Com",
"supportEmail": "support@example.com",
"links": {
"site": "https://example.com",
"privacyPolicy": "https://example.com/privacy"
},
"categories": ["monitoring"],
"icons": {
"square": "assets/images/square.svg",
"horizontal": "assets/images/horizontal.svg"
},
"requiresOAuth": false
}