Trong phát triển phần mềm cộng tác, việc chạy thử nghiệm API thủ công sau mỗi lần commit mã có thể nhanh chóng trở nên tẻ nhạt. Sẽ tốt hơn biết mấy nếu các thử nghiệm này có thể chạy tự động bất cứ khi nào có mã mới được đẩy lên?
Tin tốt là điều này hoàn toàn có thể thực hiện được. Hầu hết các nhóm đã sử dụng các nền tảng CI/CD để xử lý việc xây dựng và triển khai mã, và các nền tảng này được thiết kế để lắng nghe các sự kiện commit của Git. Khi bạn đẩy mã, chúng sẽ tự động thực thi các tác vụ được xác định trước như biên dịch, đóng gói hoặc triển khai.
Việc chạy thử nghiệm API tự động cũng không khác. Apidog cung cấp một công cụ CLI cho phép bạn kích hoạt các thử nghiệm tự động chỉ bằng một lệnh duy nhất. Bằng cách thêm lệnh này vào quy trình CI/CD của mình, bạn có thể đảm bảo rằng các thử nghiệm chạy tự động sau mỗi lần gửi mã.
Quá trình thiết lập rất đơn giản. Điều chính cần hiểu là cách cơ chế kích hoạt hoạt động, sau đó chọn phương pháp tích hợp phù hợp dựa trên nền tảng mà nhóm của bạn đang sử dụng.
Cơ chế kích hoạt thử nghiệm tự động hoạt động như thế nào? (Các nguyên tắc)
Cốt lõi của toàn bộ quá trình là "Lắng nghe sự kiện + Thực thi lệnh".
Khi bạn đẩy mã lên kho lưu trữ Git, nền tảng CI/CD sẽ lắng nghe sự kiện Git này và, theo cấu hình cài đặt trước của bạn (chẳng hạn như script pipeline hoặc tệp cấu hình), tự động thực thi lệnh kiểm thử của Apidog.
Nguyên tắc này có thể được minh họa như sau:

Có hai cách chính để các nền tảng CI/CD lắng nghe các sự kiện Git:
Đầu tiên là cơ chế sự kiện tích hợp sẵn của nền tảng. Ví dụ, GitHub Actions có thể được chỉ định trực tiếp trong tệp cấu hình: on: [push, pull_request]
. Khi bạn đẩy mã hoặc tạo PR, nền tảng sẽ tự động lắng nghe các sự kiện Git này và bắt đầu thử nghiệm.

Thứ hai là thông qua Webhook, phù hợp cho các kịch bản như Jenkins nơi cần giao tiếp đa nền tảng. Bạn sẽ phải cấu hình thủ công một URL kích hoạt.
Bất kể phương pháp nào, bước cuối cùng luôn giống nhau: thực thi lệnh apidog run
để bắt đầu thử nghiệm tự động.
Giải pháp tích hợp cho các nền tảng phổ biến
Nếu bạn sử dụng các nền tảng lưu trữ mã như GitHub hoặc GitLab, việc kích hoạt thử nghiệm đặc biệt đơn giản. Các nền tảng này có các dịch vụ CI/CD tích hợp sẵn (như GitHub Actions, GitLab CI) có thể trực tiếp lắng nghe các sự kiện Git và thực thi các tác vụ. Bạn có thể tham khảo các tài liệu này để bắt đầu nhanh chóng:
Tuy nhiên, nhiều nhóm có các thiết lập phức tạp hơn. Ví dụ, mã được lưu trữ trên GitHub hoặc GitLab, nhưng pipeline CI/CD chạy trên Jenkins. Trong trường hợp này, GitHub/GitLab và Jenkins là hai hệ thống độc lập — hệ thống trước không thể trực tiếp kích hoạt hệ thống sau.
Đối với các kịch bản đa nền tảng, Webhook là một giải pháp đơn giản và hiệu quả. Một Webhook hoạt động giống như một cơ chế gọi lại — khi một sự kiện cụ thể (chẳng hạn như đẩy Git) xảy ra trên GitHub, nó sẽ chủ động gửi một yêu cầu đến một URL Webhook được xác định trước để cảnh báo một hệ thống bên ngoài. Bằng cách cung cấp một điểm cuối Webhook, Jenkins có thể nhận các thông báo này và tự động kích hoạt các tác vụ thử nghiệm.
Hãy xem xét một cấu hình cụ thể: mã được lưu trữ trên GitHub, nhưng pipeline thử nghiệm chạy trên Jenkins.
Tích hợp GitHub + Jenkins để chạy thử nghiệm tự động Apidog
Nếu nhóm của bạn lưu trữ mã trên GitHub nhưng sử dụng Jenkins để chạy các tác vụ xây dựng, đây là cách bạn có thể thiết lập:
Bước 1: Cấu hình Jenkins và lấy URL Webhook
Đầu tiên, chuẩn bị tác vụ thử nghiệm trong Jenkins. Làm theo tài liệu Tích hợp với Jenkins để tạo một dự án, cấu hình lệnh xây dựng và đảm bảo lệnh CLI có thể chạy đúng cách.

Tiếp theo, lấy URL Webhook từ Jenkins. URL này hoạt động như một điểm truy cập để các hệ thống bên ngoài gọi Jenkins, và GitHub sẽ sử dụng nó để kích hoạt các tác vụ thử nghiệm.
Cách đơn giản nhất là cài đặt plugin "Generic Webhook Trigger". Tìm kiếm và cài đặt nó trong trang quản lý plugin của Jenkins, sau đó khởi động lại Jenkins.

Sau đó, vào trang cấu hình dự án của bạn và bật plugin này. Địa chỉ Webhook sẽ là:
http://<your Jenkins server address>/generic-webhook-trigger/invoke`

Để bảo mật, nên đặt một Token tùy chỉnh, để địa chỉ trở thành:
http://<your Jenkins server address>/generic-webhook-trigger/invoke?token=<xxxxxx>
Khi bạn có URL này, bạn có thể cấu hình Webhook trong GitHub.
Bước 2: Cấu hình Webhook GitHub
Vào "kho lưu trữ GitHub của bạn → Cài đặt → Webhooks", thêm một Webhook mới, nhập địa chỉ từ bước trước, đặt Content type thành application/json
, chọn push hoặc các sự kiện khác mà bạn muốn kích hoạt thử nghiệm, và lưu cấu hình.

Sau khi cấu hình, mỗi lần đẩy mã sẽ tự động kích hoạt Jenkins để thực thi tác vụ thử nghiệm. Bạn có thể đẩy một số mã để kiểm tra và xem nhật ký xây dựng của Jenkins cũng như kết quả thử nghiệm.
Bước 3: Xác minh toàn bộ quá trình
Khi bạn đẩy mã lên GitHub, Webhook đã cấu hình sẽ gửi thông báo đến Jenkins. Jenkins sẽ nhận yêu cầu và tự động bắt đầu tác vụ xây dựng. Bạn có thể xem nhật ký thực thi thử nghiệm trong "Console" của dự án Jenkins và xem báo cáo thử nghiệm cuối cùng.

Cấu hình Webhook cho các nền tảng khác
Ngoài GitHub, các nền tảng lưu trữ mã khác cũng hỗ trợ Webhooks, chẳng hạn như:
Các phương pháp cấu hình tương tự nhau. Điều quan trọng là phải hiểu cơ chế kích hoạt: một commit Git tạo ra một sự kiện, sau đó được sử dụng để thông báo cho nền tảng CI/CD thông qua lắng nghe sự kiện hoặc Webhook, cuối cùng kích hoạt việc thực thi tự động lệnh thử nghiệm.
Để biết thêm các phương pháp tích hợp nền tảng CI/CD, hãy tham khảo phần Tích hợp CI/CD trong tài liệu chính thức của Apidog.