ارسال نوتیفیکیشن به تلگرام با پایپلاین گیت لب?

در این مقاله، به نحوه پیکربندی استیجی برای ارسال اطلاعات درباره موفقیت‌آمیز بودن و شکست‌ها در طول فرآیند توسعه به تلگرام نگاه خواهیم داشت. این امر به ویژه برای توسعه دهندگان، مهندسان DevOps و مدیران پروژه بسیار مفید است، زیرا به شما اجازه می دهد تا درباره فعالیت های گیت‌لب به روز بمانید و به سرعت به خطاها پاسخ دهید.

بیایید با مراحل زیر شروع کنیم:

1. ساخت ربات تلگرام با استفاده از BotFather و دریافت توکن API برای آن.

2. اضافه کردن ربات به گروه تلگرام و بدست آوردن شناسه گروه تلگرام.

3. اضافه کردن متغیرهای مربوط به ربات تلگرام در گیت‌لب.

4. راه‌اندازی ارسال پیام ها از طریق Pipeline گیت‌لب.


1. ساخت ربات تلگرام با استفاده از BotFather و دریافت توکن API برای آن.

ابتدا اپلیکیشن تلگرام را باز کرده و BotFather را جستجو کنید. سپس دستورالعمل ها را برای ایجاد یک ربات جدید و دریافت یک توکن API دنبال کنید. یک ربات بسازید. پس از ایجاد ربات، یک توکن در چت به شما می رسد که با آن می توانید با API کار کنید، مانند:

۱۲۳۲۸۱۲۴۳:AAHdqTcvCH1vGWJxfSeofSAjhs6PALDsaw.

2. اضافه کردن ربات به گروه تلگرام و بدست آوردن شناسه گروه تلگرام.

بات را به گروه تلگرامی خودتون اضافه کنید

پس از آن، شما باید شناسه گروه تلگرام را بدست آورید. برای این کار، به URL بروید.

https://api.telegram.org/bot<YourBOTToken>/getUpdates

جایی که <YourBOTToken> — توکن API دریافت شده در BotFather است.

3. اضافه کردن متغیرهای مربوط به ربات تلگرام در گیت‌لب.

در تنظیمات مخزن گیت‌لب مورد نیاز (Settings > CI/CD > Secret variables)، متغیرهای حساس را اضافه کنید:

TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID

4. راه‌اندازی ارسال پیام ها از طریق Pipeline گیت‌لب.

برای ارسال اعلانات، یک اسکریپت به نام notify.sh می سازیم، از طریق ربات ایجاد شده پیامی را به کاربر مناسب ارسال می کنیم:

لینک پروژه

https://gist.github.com/arsalanses/aae3e2fec4642cc7173aaef12f118c64

وضعیت استقرار باید به عنوان پارامتر اول برای این اسکریپت ارسال شود. همچنین نام پروژه، URL پایپلاین، شاخه و نام کاربری نیز ارسال می شوند.

در gitlab-ci.yml ما این اسکریپت را در زمان مناسب با پارامترهای مناسب توصیف می کنیم:

notify_error:
stage: notify
script:
- apk add curl
- cp $notify ./notify.sh
- sh notify.sh &quotfail message ❌ or success message ✅&quot
when: on_failure

نتیجه گیری

ایجاد اعلان در تلگرام برای استقرار موفق و شکست در مرحله توسعه، باعث می شود که ردیابی وضعیت های پایپلاین آسانتر شود و به سرعت به مشکلاتی که پیش آمده اند، پاسخ داده شود.