Ahmad Sanusi Official Let’s Talk
Ahmad Sanusi Official Website
  • Home
  • About
  • Project
  • Blog
  • Al Quran Digital
  • Al Quran Digital Lite
  • Contact

Mengatasi "Error occurred while evaluating hook rules" pada adnanh/webhook

Mengatasi
  • Administrator
    Written by

    Administrator

  • Category

    SysAdmin

  • Date

    12 Januari 2025

Ketika menggunakan adnanh/webhook untuk mengatur auto-deploy aplikasi melalui GitLab, Anda mungkin menemui error:"Error occurred while evaluating hook rules".Error ini menunjukkan adanya masalah dalam konfigurasi hooks.json atau aturan trigger. Artikel ini akan membahas penyebab umum dan cara memperbaiki error tersebut.

Penyebab dan Solusi Umum

1. Periksa Sintaks JSON

Kesalahan umum terjadi karena sintaks JSON yang tidak valid. Pastikan file hooks.json memiliki format yang benar. Cara Memeriksa:Gunakan JSONLint atau tool sejenis untuk memvalidasi sintaks JSON.

Contoh hooks.json yang Benar:

[
  {
    "id": "deploy-webhook",
    "execute-command": "/etc/webhook/deploy.sh",
    "command-working-directory": "/var/www/your-app",
    "response-message": "Deploy in progress...",
    "trigger-rule": {
      "match": {
        "type": "payload-hmac-sha256",
        "secret": "your-secret-token",
        "parameter": {
          "source": "header",
          "name": "X-Gitlab-Token"
        }
      }
    }
  }
]
2. Cek Format Trigger Rule

Aturan trigger (trigger-rule) yang salah juga bisa menyebabkan error. Pastikan parameter yang digunakan sesuai dengan yang dikirim oleh GitLab.

GitLab mengirim token melalui header X-Gitlab-Token.

Jika tidak menggunakan HMAC, aturan trigger bisa disederhanakan.

Contoh Tanpa HMAC (Token Sederhana):

"trigger-rule": {
  "match": {
    "type": "value",
    "value": "your-secret-token",
    "parameter": {
      "source": "header",
      "name": "X-Gitlab-Token"
    }
  }
}
3. Logging Error untuk Debugging

Agar error lebih mudah dilacak, tambahkan logging pada service webhook.

Edit Service Systemd:

sudo nano /etc/systemd/system/webhook.service

Modifikasi ExecStart agar output diarahkan ke file log:

ExecStart=/usr/local/bin/webhook -hooks /etc/webhook/hooks.json -verbose >> /var/log/webhook.log 2>&1

Restart Service:

sudo systemctl daemon-reload
sudo systemctl restart webhook

Cek Log Error:

tail -f /var/log/webhook.log

4. Testing Manual dengan Curl

Jalankan webhook secara manual untuk memastikan tidak ada error pada hooks.json.

Jalankan Webhook Manual:

webhook -hooks /etc/webhook/hooks.json -verbose

Kirim Request Manual:

curl -X POST http://localhost:9000/hooks/deploy-webhook -H "X-Gitlab-Token: your-secret-token"

Periksa yang Harus Dicek:

  • Pastikan path skrip deploy (deploy.sh) benar.
  • Token rahasia sesuai dengan yang dikirim oleh GitLab.

5. Debugging Trigger Rule

Jika aturan trigger-rule menjadi masalah, hapus sementara aturan tersebut untuk memastikan webhook berjalan.

Hapus Sementara Trigger Rule:

"trigger-rule": {}

Jika webhook berjalan tanpa aturan ini, tambahkan aturan secara bertahap untuk menemukan penyebab error.


6. Periksa Izin File dan Direktori

Pastikan file dan direktori memiliki izin yang benar agar webhook dapat mengakses dan menjalankan skrip deploy.

Pastikan Skrip Dapat Dieksekusi:

sudo chmod +x /etc/webhook/deploy.sh

Berikan Akses ke Direktori Proyek:

sudo chown -R www-data:www-data /var/www/your-app

Penutup

Dengan mengikuti langkah-langkah di atas, error "Error occurred while evaluating hook rules" pada adnanh/webhook bisa diatasi dengan mudah. Pastikan untuk selalu memeriksa log dan melakukan validasi JSON agar webhook berjalan dengan lancar. Jika error masih berlanjut, periksa kembali konfigurasi secara menyeluruh atau lakukan debugging dengan metode eliminasi.

Share:
Webhook
Blog

Popular post

Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL
  • 8 Juli 2021

Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL

Membuat Format Tanggal Hijriyah Bahasa Indonesia Dengan Librari PHP
  • 23 Agustus 2021

Membuat Format Tanggal Hijriyah Bahasa Indonesia Dengan Librari PHP

Cara Menghapus Cache Git
  • 18 November 2023

Cara Menghapus Cache Git

Tutorial Menginstall Codeigniter 3 dengan Composer
  • 10 Juli 2021

Tutorial Menginstall Codeigniter 3 dengan Composer

Le t’s work together

Based in Indonesia |

Looking for a hectic web developer?

[email protected]

Want a more in-depth look at my history?

-

©2025 Ahmad Sanusi Official Website, All Rights Reserved

Back to Top