diff --git a/action.yml b/action.yml index 2c48338..3e6887d 100644 --- a/action.yml +++ b/action.yml @@ -1,39 +1,14 @@ name: "Deploy Notification" -description: "Notify deployment result via ntfy and Gmail SMTP" +description: "Notify deployment result via ntfy, Gmail SMTP, and Telegram" inputs: status: - description: "Deployment status (success | failure)" required: true - title: - description: "Notification title" required: true - message: - description: "Notification message" required: true - ntfy_url: - description: "ntfy server URL (e.g. https://ntfy.example.com)" - default: "https://ntfy.hcmc.online" - required: false - - ntfy_topic: - description: "ntfy topic" - default: "deploy" - required: false - - gmail_user: - description: "Gmail address" - default: "sitienbmt@gmail.com" - required: false - - gmail_to: - description: "Recipient email" - default: "sitienbmt@gmail.com" - required: false - runs: using: "composite" steps: @@ -43,10 +18,15 @@ runs: STATUS: ${{ inputs.status }} TITLE: ${{ inputs.title }} MESSAGE: ${{ inputs.message }} - NTFY_URL: ${{ inputs.ntfy_url }} - NTFY_TOPIC: ${{ inputs.ntfy_topic }} - GMAIL_USER: ${{ inputs.gmail_user }} - GMAIL_TO: ${{ inputs.gmail_to }} + + NTFY_URL: "https://ntfy.hcmc.online" + NTFY_TOPIC: "deploy" + + GMAIL_USER: "sitienbmt@gmail.com" + GMAIL_TO: "sitienbmt@gmail.com" GMAIL_PASS: ${{ secrets.GMAIL_APP_PASSWORD }} + + TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} + TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} run: | bash ${{ github.action_path }}/notify.sh diff --git a/notify.sh b/notify.sh index 9f31f3a..2c7bc02 100644 --- a/notify.sh +++ b/notify.sh @@ -6,6 +6,8 @@ if [ "$STATUS" = "failure" ]; then ICON="❌" fi +TEXT="$ICON *$TITLE*%0A%0A$MESSAGE" + # ---- ntfy ---- if [ -n "$NTFY_URL" ] && [ -n "$NTFY_TOPIC" ]; then curl -s -X POST "$NTFY_URL/$NTFY_TOPIC" \ @@ -26,4 +28,12 @@ if [ -n "$GMAIL_USER" ] && [ -n "$GMAIL_TO" ]; then -au"$GMAIL_USER" \ -ap"$GMAIL_PASS" \ "$GMAIL_TO" +fi + +# ---- Telegram ---- +if [ -n "$TELEGRAM_BOT_TOKEN" ] && [ -n "$TELEGRAM_CHAT_ID" ]; then + curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \ + -d chat_id="$TELEGRAM_CHAT_ID" \ + -d parse_mode="Markdown" \ + -d text="$TEXT" fi \ No newline at end of file