0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Triển Khai Thông Báo Kích Hoạt Sự Kiện Trong ServiceNow

Đăng vào 5 ngày trước

• 4 phút đọc

Chủ đề:

#servicenow#basic

Giới Thiệu

Trong ServiceNow, cách phổ biến nhất để gửi thông báo là kích hoạt nó khi một bản ghi được chèn hoặc cập nhật. Tuy nhiên, đôi khi cách tiếp cận này không đủ linh hoạt, đặc biệt khi:

  • Điều kiện quá phức tạp cho giao diện người dùng (GUI).
  • Bạn cần so sánh giá trị cũ và mới trong thông báo.
  • Bạn muốn ngăn chặn thông báo cho các cuộc gọi API.
  • Bạn muốn tái sử dụng cùng một kích hoạt cho nhiều thông báo hoặc quy trình.

Đây là lúc thông báo kích hoạt sự kiện trở nên hữu ích. Trong bài viết này, tôi sẽ hướng dẫn bạn triển khai việc gửi thông báo khi độ ưu tiên của một sự cố thay đổi, sử dụng một sự kiện làm kích hoạt.


Các Bước Triển Khai

1. Đăng Ký Sự Kiện

Đầu tiên, hãy tạo một mục Đăng Ký Sự Kiện tùy chỉnh.

  • Tên: Test_incident.priority_changed
  • Bảng: incident
  • Mô tả: Sự kiện được kích hoạt khi độ ưu tiên thay đổi
xml Copy
<event_name>Test_incident.priority_changed</event_name>
<table>incident</table>
<description>Đăng ký sự kiện thử nghiệm</description>

2. Quy Tắc Kinh Doanh: Kích Hoạt Sự Kiện

Tiếp theo, tạo một Quy Tắc Kinh Doanh để kích hoạt sự kiện mỗi khi độ ưu tiên thay đổi.

  • Tên: Test_incident events
  • Bảng: incident
  • Thời gian: sau khi cập nhật
javascript Copy
if (current.priority.changes() && current.priority != previous.priority) {
    gs.eventQueue(
        "Test_incident.priority_changed",  // tên sự kiện
        current,                           // bản ghi nguồn
        current.priority.toString(),       // parm1: độ ưu tiên mới
        previous.priority.toString()       // parm2: độ ưu tiên cũ
    );
}

// Tùy chọn: loại trừ các cập nhật từ Connect API
function isConnect() {
    var transaction = GlideTransaction.get();
    if (!transaction) return false;

    var request = transaction.getRequest();
    if (!request) return false;

    var path = request.getRequestURI();
    return path && path.match(/\/api\/now\/connect/);
}

👉 Ở đây, tôi đang truyền parm1 (độ ưu tiên mới) và parm2 (độ ưu tiên cũ) để chúng có thể được tham chiếu sau này trong nội dung thông báo.


3. Thông Báo

Bây giờ, cấu hình Thông Báo lắng nghe sự kiện.

  • Tên: Test_Event trigger notification
  • Khi nào gửi: Sự kiện được kích hoạt → Test_incident.priority_changed
  • Chủ đề:
plaintext Copy
  Chủ đề Thử Nghiệm: ${number}
  • Nội dung:
plaintext Copy
  Độ ưu tiên sự cố ${number} đã thay đổi!
  Trước: ${event.parm2}
  Hiện tại:  ${event.parm1}

4. Kiểm Tra Đơn Vị

Cuối cùng, hãy kiểm tra với một bản ghi Sự cố.

  • Sự cố: INC0010005

    • Mô tả ngắn: Thử Nghiệm Thông Báo Kích Hoạt
    • Độ ưu tiên: thay đổi từ 3 → 1
  • Kết quả Thông Báo

Chủ đề:

plaintext Copy
Chủ đề Thử Nghiệm: INC0010005

Nội dung:

plaintext Copy
Sự cố INC0010005 độ ưu tiên đã thay đổi!
Trước: 3
Hiện tại:  1

✅ Hoạt động như mong đợi — các tham số sự kiện đã được truyền vào thông báo thành công.


Tại Sao Nên Sử Dụng Sự Kiện?

Từ thí nghiệm nhỏ này, tôi có thể tóm tắt những lợi ích chính của thông báo kích hoạt sự kiện:

  • Xử lý các điều kiện phức tạp thông qua kịch bản.
  • Dễ dàng chèn giá trị cũ/mới vào thông báo.
  • Tái sử dụng cùng một sự kiện cho nhiều thông báo hoặc quy trình.
  • Ngăn chặn thông báo không cần thiết (ví dụ: cập nhật API).

Đối với các trường hợp đơn giản như “thông báo cho người được giao khi một sự cố được tạo,” một thông báo tiêu chuẩn là đủ. Nhưng khi các điều kiện trở nên phức tạp hơn, các sự kiện cung cấp cho bạn nhiều quyền kiểm soát hơn.


Kết Luận

Dưới đây là quy trình tổng thể một lần nữa:

  1. Đăng ký sự kiện trong Đăng Ký Sự Kiện.
  2. Sử dụng một Quy Tắc Kinh Doanh để kích hoạt sự kiện với gs.eventQueue().
  3. Tạo một Thông Báo được kích hoạt bởi sự kiện.
  4. Truyền tham số (parm1, parm2) để có nội dung thông báo phong phú hơn.

Cách tiếp cận này linh hoạt, có thể tái sử dụng và ngăn chặn thông báo không mong muốn.


Các Bước Tiếp Theo

  • Sử dụng Flow Designer để kích hoạt tin nhắn Slack từ sự kiện.
  • Khám phá Kịch Bản Email Thông Báo để có nội dung email phong phú hơn.
  • Thử áp dụng cùng một mẫu cho các bản ghi Thay Đổi hoặc Vấn Đề.

✍️ Đó là tất cả! Đây là một mẫu đơn giản nhưng hiệu quả cho thông báo kích hoạt sự kiện trong ServiceNow.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào