For the complete documentation index, see llms.txt. This page is also available as Markdown.

Export All Feature Flag Definition JSON Structures

Learn how to export all feature flag definitions' JSON structure in all environments and workspaces using the Admin API.

Overview

Use this script to export all feature flag definitions' JSON structure in all environments and workspaces to a file named [Workspace Name]_[Environment Name]_[Split Name].json.

Prerequisites

Configuration

Before running the script, update the following variables in the code:

  • ADMIN API KEY: Your Split Admin API key.

  • workspaceName: The name of the workspace.

  • environmentName: The name of the environment.

  • targetFolder: The directory where the JSON file lives.

Run this script using Python 3 from your local machine or preferred development environment.

from splitapiclient.main import get_client

#############################################
workspaceName = "Defaults"
environmentName = "Production"
targetFolder="/Users/bilalal-shahwany/Desktop/WeWork/"
#############################################

def SaveToFile(splitDefinition, splitName, workspaceName, environmentName):
    reportObj = open(targetFolder+workspaceName+"_"+environmentName+"_"+splitName+".json", "w")
    json.dump(splitDefinition, reportObj)
    reportObj.close()

ws = client.workspaces.find(workspaceName)
env = client.environments.find(environmentName, ws.id)
for splitDef in client.split_definitions.list(env.id, ws.id):
   print ("Exporting Split: "+splitDef._name)
   trs = []
   for tr in splitDef._treatments:
      trs.append(tr.export_dict())
   rls = []
   for rl in splitDef._rules:
      rls.append(rl.export_dict()) 
   drls = []
   for drl in splitDef._default_rule:
      drls.append(drl.export_dict()) 
   splitDefinition = {"treatments": trs,"defaultTreatment": splitDef._default_treatment, "rules": rls, "defaultRule": drls}
   SaveToFile(splitDefinition, splitDef._name, ws._name, env._name)

Last updated

Was this helpful?