Bash

Shell scripts for integrating ottr approvals into workflows.

Prerequisites:

  • curl and jq
  • OTTR_API_KEY environment variable

Create Approval

create-approval.sh
# Create approval
RESPONSE=$(curl -s -X POST https://api.ottr.run/v1/approvals \
  -H "Authorization: Bearer $OTTR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "key_path": "deploy/prod",
    "value": "approved",
    "ttl_seconds": 600,
    "info": "Deploy to production?"
  }')

URL=$(echo $RESPONSE | jq -r '.url')
echo "Approval URL: $URL"

Poll for Result

poll.sh
# Poll for approval
while true; do
  VALUE=$(curl -s https://api.ottr.run/v1/key/deploy/prod \
    -H "Authorization: Bearer $OTTR_API_KEY")

  if [ "$VALUE" = "approved" ]; then
    echo "Approved!"
    # ... proceed with deployment
    break
  fi
  sleep 5
done