Skip to content

Commit 512558d

Browse files
authored
feat(launchdarkly): add LaunchDarkly integration for feature flag management (#3870)
* feat(launchdarkly): add LaunchDarkly integration for feature flag management * fix(launchdarkly): guard empty instructions array, trim apiKey in auth header * lint
1 parent 35411e4 commit 512558d

File tree

25 files changed

+2479
-0
lines changed

25 files changed

+2479
-0
lines changed

apps/docs/components/icons.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2204,6 +2204,17 @@ export function LangsmithIcon(props: SVGProps<SVGSVGElement>) {
22042204
)
22052205
}
22062206

2207+
export function LaunchDarklyIcon(props: SVGProps<SVGSVGElement>) {
2208+
return (
2209+
<svg {...props} viewBox='0 0 216 214.94' fill='none' xmlns='http://www.w3.org/2000/svg'>
2210+
<path
2211+
fill='currentColor'
2212+
d='M109.8,214.94a4.87,4.87,0,0,1-4.26-2.66,4.5,4.5,0,0,1,.44-4.82l50.49-69.53L68,174.11a4.61,4.61,0,0,1-1.9.41,4.77,4.77,0,0,1-4.52-3.4,4.57,4.57,0,0,1,2-5.21L141.33,120,4.41,112.13a4.69,4.69,0,0,1,0-9.36l137-7.87L63.61,49a4.56,4.56,0,0,1-1.94-5.2,4.74,4.74,0,0,1,4.51-3.4,4.6,4.6,0,0,1,1.9.4L156.5,77,106,7.48a4.56,4.56,0,0,1-.44-4.83A4.84,4.84,0,0,1,109.84,0a4.59,4.59,0,0,1,3.28,1.41L213.77,102.05a7.65,7.65,0,0,1,0,10.8L113.08,213.53A4.59,4.59,0,0,1,109.8,214.94Z'
2213+
/>
2214+
</svg>
2215+
)
2216+
}
2217+
22072218
export function LemlistIcon(props: SVGProps<SVGSVGElement>) {
22082219
return (
22092220
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='24 24.92 132 132' fill='none'>

apps/docs/components/ui/icon-mapping.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ import {
9292
KalshiIcon,
9393
KetchIcon,
9494
LangsmithIcon,
95+
LaunchDarklyIcon,
9596
LemlistIcon,
9697
LinearIcon,
9798
LinkedInIcon,
@@ -273,6 +274,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
273274
ketch: KetchIcon,
274275
knowledge: PackageSearchIcon,
275276
langsmith: LangsmithIcon,
277+
launchdarkly: LaunchDarklyIcon,
276278
lemlist: LemlistIcon,
277279
linear: LinearIcon,
278280
linkedin: LinkedInIcon,

apps/docs/content/docs/en/tools/launchdarkly.mdx

Lines changed: 388 additions & 0 deletions
Large diffs are not rendered by default.

apps/docs/content/docs/en/tools/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"ketch",
8989
"knowledge",
9090
"langsmith",
91+
"launchdarkly",
9192
"lemlist",
9293
"linear",
9394
"linkedin",

apps/sim/app/(landing)/integrations/data/icon-mapping.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ import {
9292
KalshiIcon,
9393
KetchIcon,
9494
LangsmithIcon,
95+
LaunchDarklyIcon,
9596
LemlistIcon,
9697
LinearIcon,
9798
LinkedInIcon,
@@ -273,6 +274,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
273274
ketch: KetchIcon,
274275
knowledge: PackageSearchIcon,
275276
langsmith: LangsmithIcon,
277+
launchdarkly: LaunchDarklyIcon,
276278
lemlist: LemlistIcon,
277279
linear: LinearIcon,
278280
linkedin: LinkedInIcon,

apps/sim/app/(landing)/integrations/data/integrations.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6357,6 +6357,73 @@
63576357
"integrationType": "developer-tools",
63586358
"tags": ["monitoring", "llm", "data-analytics"]
63596359
},
6360+
{
6361+
"type": "launchdarkly",
6362+
"slug": "launchdarkly",
6363+
"name": "LaunchDarkly",
6364+
"description": "Manage feature flags with LaunchDarkly.",
6365+
"longDescription": "Integrate LaunchDarkly into your workflow. List, create, update, toggle, and delete feature flags. Manage projects, environments, segments, members, and audit logs. Requires API Key.",
6366+
"bgColor": "#191919",
6367+
"iconName": "LaunchDarklyIcon",
6368+
"docsUrl": "https://docs.sim.ai/tools/launchdarkly",
6369+
"operations": [
6370+
{
6371+
"name": "List Flags",
6372+
"description": "List feature flags in a LaunchDarkly project."
6373+
},
6374+
{
6375+
"name": "Get Flag",
6376+
"description": "Get a single feature flag by key from a LaunchDarkly project."
6377+
},
6378+
{
6379+
"name": "Create Flag",
6380+
"description": "Create a new feature flag in a LaunchDarkly project."
6381+
},
6382+
{
6383+
"name": "Update Flag",
6384+
"description": "Update a feature flag metadata (name, description, tags, temporary, archived) using semantic patch."
6385+
},
6386+
{
6387+
"name": "Toggle Flag",
6388+
"description": "Toggle a feature flag on or off in a specific LaunchDarkly environment."
6389+
},
6390+
{
6391+
"name": "Delete Flag",
6392+
"description": "Delete a feature flag from a LaunchDarkly project."
6393+
},
6394+
{
6395+
"name": "Get Flag Status",
6396+
"description": "Get the status of a feature flag across environments (active, inactive, launched, etc.)."
6397+
},
6398+
{
6399+
"name": "List Projects",
6400+
"description": "List all projects in your LaunchDarkly account."
6401+
},
6402+
{
6403+
"name": "List Environments",
6404+
"description": "List environments in a LaunchDarkly project."
6405+
},
6406+
{
6407+
"name": "List Segments",
6408+
"description": "List user segments in a LaunchDarkly project and environment."
6409+
},
6410+
{
6411+
"name": "List Members",
6412+
"description": "List account members in your LaunchDarkly organization."
6413+
},
6414+
{
6415+
"name": "Get Audit Log",
6416+
"description": "List audit log entries from your LaunchDarkly account."
6417+
}
6418+
],
6419+
"operationCount": 12,
6420+
"triggers": [],
6421+
"triggerCount": 0,
6422+
"authType": "api-key",
6423+
"category": "tools",
6424+
"integrationType": "developer-tools",
6425+
"tags": ["feature-flags", "ci-cd"]
6426+
},
63606427
{
63616428
"type": "lemlist",
63626429
"slug": "lemlist",

0 commit comments

Comments
 (0)