mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Source Unleash instance
 | |
| SOURCE_URL=""
 | |
| SOURCE_API_TOKEN=""
 | |
| SOURCE_ENV="production"
 | |
| SOURCE_TAG="exported"
 | |
| 
 | |
| # Target Unleash instance
 | |
| TARGET_URL=""
 | |
| TARGET_API_TOKEN=""
 | |
| TARGET_PROJECT="DemoImport"
 | |
| TARGET_ENV="production"
 | |
| 
 | |
| export_data() {
 | |
|   curl -s -w "\n%{http_code}" -X POST "$SOURCE_URL" \
 | |
|     -H "Authorization: $SOURCE_API_TOKEN" \
 | |
|     -H "Content-Type: application/json" \
 | |
|     -d "{\"tag\": \"$SOURCE_TAG\", \"environment\": \"$SOURCE_ENV\"}"
 | |
| }
 | |
| 
 | |
| import_data() {
 | |
|   data="$1"
 | |
|   response=$(curl -s -w "\n%{http_code}" -X POST "$TARGET_URL" \
 | |
|     -H "Authorization: $TARGET_API_TOKEN" \
 | |
|     -H "Content-Type: application/json" \
 | |
|     -d "{\"project\": \"$TARGET_PROJECT\", \"environment\": \"$TARGET_ENV\", \"data\": $data}")
 | |
| 
 | |
|   http_code=$(echo "$response" | awk 'END{print}')
 | |
| 
 | |
|   if ! [[ $http_code -ge 200 && $http_code -lt 300 ]]; then
 | |
|       status_message=$(echo "$response" | awk 'NR==1{print}')
 | |
|       echo "Error: Import failed with $http_code $status_message"
 | |
|       exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| echo "Exporting data from source API: ${SOURCE_URL}, tag: ${SOURCE_TAG}, environment: ${SOURCE_ENV}"
 | |
| response=$(export_data)
 | |
| http_code=$(echo "$response" | awk 'END{print}')
 | |
| if [[ $http_code -ge 200 && $http_code -lt 300 ]]; then
 | |
|   data=$(echo "$response" | awk 'NR>1{print line} {line=$0}')
 | |
|   echo "Data exported successfully."
 | |
| else
 | |
|   status_message=$(echo "$response" | awk 'NR==1{print}')
 | |
|   echo "Error: Export failed with $http_code $status_message"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| echo "Importing data to target API: ${TARGET_URL}, project: ${TARGET_PROJECT}, environment: ${TARGET_ENV}"
 | |
| import_data "$data"
 | |
| echo "Data imported successfully."
 |