Configuring Git Push Notifications on Telegram

Berikut adalah panduan singkat untuk mengirimkan notifikasi ke telegram setiap ada perubahan pada repository. Sebelum memulai pastikan Anda telah memiliki Bot Token beserta Chat ID untuk ditambahkan sebagai secret di Github. Anda bisa mendapatkan Bot Token dari https://t.me/Botfather.

Create Bot

Buka Telegram, search BotFather lalu buat bot dengan perintah /newbot seperti berikut.

Selanjutnya tambahkan bot kedalam Grup Telegram.

Untuk mendapatkan Chat ID eksekusi perintah berikut menggunakan Bot Token.

curl https://api.telegram.org/bot**********************************************/getUpdates | jq
{
  "ok": true,
  "result": [
    {
      "update_id": 290676595,
      "message": {
        "message_id": 10666,
        "from": {
          "id": 2034949074,
          "is_bot": false,
          "first_name": "Erfan",
          "username": "erfandwip"
        },
        "chat": {
          "id": -100XXXXXXXXXX,
          "title": "Test gambar",
          "type": "supergroup"

-100XXXXXXXXXX merupakan Chat ID.

Configure Github Actions

Buka repositori Anda di Github lalu klik Settings » Actions secrets and variables » Actions

Klik New repository secret kemudian tambahkan Bot Token dan Chat ID.

Selanjutnya masuk ke folder project dan buat file main.yml

mkdir -p .github/workflows
touch .github/workflows/main.yml

Edit main.yml seperti berikut.

name: push notification
on: [push]
jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: send telegram message on push
        uses: appleboy/telegram-action@master
        with:
          to: ${{ secrets.TELEGRAM_TO }}
          token: ${{ secrets.TELEGRAM_TOKEN }}
          message: |
            ${{ github.actor }} created commit:
            Commit message: ${{ github.event.commits[0].message }}
            
            Repository: ${{ github.repository }}
            
            See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}}            

Push perubahan ke repository Github.

Akses menu Actions untuk melihat status workflows. Apabila berhasil maka Bot seharusnya akan mengirimkan pesan ke dalam grup.