diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a74d53..55038a6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,31 @@ stages: - test - deploy +# ----------------------------------------------------------------- +# Global Notification Logic (Runs after every job execution) +# ----------------------------------------------------------------- +.notify_template: ¬ify_template + after_script: + - | + # Check if Telegram token is available before sending + if [ -n "$TELEGRAM_BOT_TOKEN" ] && [ -n "$TELEGRAM_CHAT_ID" ]; then + MESSAGE="🚀 *GitOps Pipeline Status Notification* + -------------------------------------- + *Project:* ${CI_PROJECT_NAME} + *Stage:* ${CI_JOB_STAGE} + *Status:* ${CI_JOB_STATUS} + *Branch:* ${CI_COMMIT_REF_NAME} + *Author:* ${CI_COMMIT_AUTHOR} + *Commit:* ${CI_COMMIT_TITLE} + -------------------------------------- + [View Pipeline Details](${CI_PIPELINE_URL})" + + 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=${MESSAGE}" + fi + # ----------------------------------------------------------------- # Stage 1: DevSecOps Vulnerability Scanning # -----------------------------------------------------------------