2014-11-13 13 views
20

Tôi có một webhook hiện đang phát sóng trên push đến bất kỳ chi nhánh nào. Điều này kích hoạt webhook quá thường xuyên. Lý tưởng nhất, webhook sẽ chỉ kích hoạt khi yêu cầu kéo là được hợp nhất vào master. Tôi không xem đó như là một lựa chọn, mặc dù:Tạo webhook GitHub cho thời điểm yêu cầu kéo được chấp nhận và hợp nhất thành master

enter image description here

Có cách nào để có được lựa chọn webhook bổ sung hoặc để tùy chỉnh webhook bằng cách nào đó?

Trả lời

9

Tôi không thấy bất kỳ cách nào để tùy chỉnh các điều kiện của trình kích hoạt.

tôi sẽ đề nghị để thay viết mã vào cuối nhận để kích hoạt hành động của bạn chỉ khi bạn phát hiện rằng việc đẩy mạnh phù hợp với điều kiện của bạn, ví dụ:

  • payload.ref == "refs/head/master"
  • payload.commits[0] matches the structure of a merged pull request (< - điều này có thể yêu cầu nhận được một số thông tin bổ sung từ số commits API)
17

Vì vậy, bạn không thể tùy chỉnh các điều kiện của trình kích hoạt, nhưng như LeGec đề cập bạn có thể tùy chỉnh mã của bạn để chỉ t kích hoạt khi yêu cầu kéo được hợp nhất.

Để làm điều đó, hãy đảm bảo tập lệnh của bạn phản hồi lại PullRequestEvent. Các điều kiện để kiểm tra bao gồm:

  • "hành động" là "đóng"
  • "sáp nhập" (bên trong "pull_request") là đúng

Bằng cách này kịch bản của bạn có thể bỏ qua tất cả các ping nhận được khi bất kỳ hoạt động nào khác xảy ra trên Yêu cầu kéo (bao gồm cả việc đóng mà không cần hợp nhất).

Các vấn đề liên quan