#!/usr/bin/env bash set -u warn() { printf 'Notification warning: %s\n' "$*" >&2 } provider="$(printf '%s' "${ACTION_NOTIFY_PROVIDER:-}" | tr '[:upper:]' '[:lower:]')" webhook_url="${ACTION_NOTIFY_WEBHOOK_URL:-}" if [ -z "$provider" ] || [ -z "$webhook_url" ]; then echo "Action notification secrets are not configured, skip notification." exit 0 fi case "$provider" in feishu | dingtalk) ;; *) warn "unsupported ACTION_NOTIFY_PROVIDER: $provider" exit 0 ;; esac branch_name="${BRANCH_NAME:-${GITHUB_REF_NAME:-}}" if [ -z "$branch_name" ] && [ -n "${GITHUB_REF:-}" ]; then branch_name="${GITHUB_REF#refs/heads/}" fi if [ -z "$branch_name" ]; then branch_name="unknown" fi short_sha="${SHORT_SHA:-}" if [ -z "$short_sha" ] && command -v git >/dev/null 2>&1; then short_sha="$(git rev-parse --short HEAD 2>/dev/null || true)" fi if [ -z "$short_sha" ]; then short_sha="unknown" fi deploy_env="${DEPLOY_ENV:-unknown}" image_tag="${IMAGE_VERSION_TAG:-unknown}" job_status="${ACTION_JOB_STATUS:-unknown}" workflow_name="${GITHUB_WORKFLOW:-Docker Image}" repository="${GITHUB_REPOSITORY:-cozsweet-frontend-nextjs}" run_url="" if [ -n "${GITHUB_SERVER_URL:-}" ] && [ -n "${GITHUB_REPOSITORY:-}" ] && [ -n "${GITHUB_RUN_ID:-}" ]; then run_url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" fi if [ -z "$run_url" ]; then run_url="${GITHUB_SERVER_URL:-unknown}" fi export ACTION_NOTIFY_PROVIDER="$provider" export ACTION_NOTIFY_MESSAGE="$(cat </dev/null; then warn "failed to send $provider notification" exit 0 fi echo "Sent $provider action notification."