Tích hợp và gửi thông báo về slack với gem Slack Notifier

Tram Ho

1. Mở đầu

  • Mình có thằng bạn ở dự án khác kể rằng, hắn làm 1 package để tracking khi có lỗi sẽ gửi thông báo về chatwork cho cá nhân hoặc 1 box chung nào đó => đỡ mất công truy cập vào server rồi xem log => đỡ tốn thời gian và bảo mật hơn server hơn. Ồ, hay đấy bạn êi. Đương nhiên mình nghĩ chỉ nên dùng trên môi trường development, staging thôi nhé, chứ product thì phải xem xét =))
  • Cơ mà dự án lại dùng slack thì sao nhỉ ? Vậy trong bài nãy mình sẽ hướng dẫn cơ bản cách tích hợp và sử dụng gem slack-notifier để bắn thông báo về slack nhé.

2. Setup

2.1 Tạo webhook

2.2 Chọn channel

  • Ngay sau khi chọn hook, form select channel sẽ được hiển thị.
  • Ở đây bạn muốn notify gửi vào đâu thì chọn channel đó nhé
  • Chọn rồi submit thoai (ví dụ mình chọn #general)

2.3 Webhook URL

  • Sau khi submit form thành công, hệ thống sẽ trả về cho bạn 1 URL. Đó chính là webhook URL để ta sử dụng kết nối đến slack.
  • URL có dạng như sau

  • Note: x, y, z là các ký tự ngẫu nhiên.

2.4 Setup Rails

  • Nếu bạn chưa có project Rails app nào thì hãy tạo nhé, rồi cài đặt gem như sau

  • Bạn có thể thử gem bằng code như sau.

  • Bạn sẽ nhìn thấy dòng chữ “Hello World from AppName” trên box chat slack của mình ngay sau đó

Bạn có thể config gửi thông báo bằng tên khác như sau

Gửi vào 1 channel nào đó :

Thêm link vào message

2.5 Format message

  • Để message trở nên dễ nhìn hơn thì chúng ta cần format cho nó đẹp như là in hoa, gạch chữ, liệt kê theo danh sách, …
  • Mình đưa ra một số ví dụ nhé:

3. Gửi thông báo khi có exception về slack

  • Cài đặt gem

  • Ở đây mình sẽ config gửi về channel #exceptions nhé
  • Config cơ bản sẽ như sau:

  • Oke ngon rồi, giờ bạn có thể thử tạo 1 lỗi và check message ở slack nhé.
  • Ngoài ra bạn có thể tham khảo thêm về cách tích hợp API ở đây:
  • Slack API – https://api.slack.com
  • Slack – Incoming WebHooks
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo