- apps
- validate
- push
- versions
- logs
- local app
- dev app
- staging app
- copies
.zapierapprc-$app
into.zapierapprc
- creates
env.json
withURL
. Just include it inside your Zapier App
{ | |
"id": 12345, | |
"key": "App12345" | |
} |
{ | |
"id": 12345, | |
"key": "App12345" | |
} |
{ | |
"id": 12345, | |
"key": "App12345" | |
} |
#!/bin/bash | |
# https://en.wikipedia.org/wiki/ANSI_escape_code | |
RED='\033[0;31m' | |
GREEN='\033[0;32m' | |
YELLOW='\033[0;33m' | |
NC='\033[0m' | |
printf "\n${GREEN}SELECT COMMAND${NC}\n" | |
COMMANDS=("apps" "validate" "push" "versions" "logs") | |
APPS=("local" "dev" "staging") | |
select command in "${COMMANDS[@]}" | |
do | |
if [ -z "$command" ] | |
then | |
printf "${RED}Invalid command${NC}\n" | |
exit 1 | |
else | |
break | |
fi | |
done | |
printf "\n${GREEN}SELECT APP:${NC}\n" | |
select app in "${APPS[@]}" | |
do | |
if [ -z "$app" ] | |
then | |
printf "${RED}Invalid app${NC}\n" | |
exit 1 | |
else | |
case $app in | |
"local") | |
if [ "$command" = "push" ]; then | |
PREV_BASE_URL=`node -p "require('./env.json').BASE_URL"` | |
printf "\n${GREEN}USE PREVIOUS URL${NC} ${YELLOW}$PREV_BASE_URL${NC} ${GREEN}(y/n)?${NC} " | |
read choice | |
case "$choice" in | |
y|Y ) | |
BASE_URL=$PREV_BASE_URL | |
;; | |
* ) | |
printf "\n${GREEN}NGROK URL (ex:${NC} ${YELLOW}http://123456.eu.ngrok.io${NC}${GREEN}):${NC} " | |
read BASE_URL | |
;; | |
esac | |
else | |
BASE_URL="http://website.dev" | |
fi | |
;; | |
"dev") | |
BASE_URL="https://dev.website.com" | |
;; | |
"staging") | |
BASE_URL="https://staging.website.com" | |
;; | |
esac | |
break | |
fi | |
done | |
printf "\n****************************************************************\n" | |
printf "Command\t\t: ${GREEN}\$ zapier $command${NC}\n" | |
printf "App\t\t: ${GREEN}$app${NC}\n" | |
printf "URL\t\t: ${GREEN}$BASE_URL${NC}\n" | |
printf "Config file\t: ${GREEN}.zapierapprc-$app${NC}\n" | |
printf "Config\t\t: ${GREEN}$(tr -d '\n ' < .zapierapprc-${app})${NC}" | |
printf "\n****************************************************************\n" | |
printf "\n${GREEN}IS EVERYTHING CORRECT (y/n)?${NC} " | |
read choice | |
case "$choice" in | |
y|Y ) | |
printf "\n\n" | |
cp ".zapierapprc-$app" ".zapierapprc" | |
echo "{\"BASE_URL\":\"$BASE_URL\"}" > env.json | |
zapier $command | |
;; | |
* ) | |
exit 1; | |
;; | |
esac |