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
Install the Python Admin API Wrapper.
You've created an Admin API key from the Split UI.
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?