2011-09-15 25 views
9

Tôi có kho lưu trữ GitHub mà tôi muốn thông báo cho Jenkins về các cam kết mới thông qua móc sau khi nhận. Tôi đã cài đặt plugin GitHub vào Jenkins và đã cho phép Jenkins quản lý các URL móc của chính nó. Dự án có URL kho git chính xác và được hướng dẫn để "Xây dựng khi thay đổi được đẩy lên GitHub". Khi tôi có GitHub gửi một tải trọng thử nghiệm Tôi tìm thấy điều này trong webserver nginx rằng Jenkins trước của:Webbook của Jenkins và GitHub: HTTP 403

207.97.227.233 - - [15/Sep/2011:07:36:51 +0000] "POST /github-webhook/ HTTP/1.1" 403 561 "-" "-" 

Tôi đã chạy SSL vì vậy tôi vô hiệu hóa nó để có hiệu lực. Tôi có cần cung cấp quyền đặc biệt cho người dùng ẩn danh trong ma trận quyền không?

Vui lòng tha thứ cho việc thiếu tệp cấu hình: Tôi rất sẵn lòng chia sẻ những tệp có thể tồn tại nhưng tôi không biết điều gì có thể hữu ích khi chia sẻ.

Trả lời

25

Vì tôi không cho phép truy nhập nặc danh, hóa ra tôi cần thiết để tạo người dùng cụ thể cho GitHub đẩy và cấp cho nó Đọc tổng thể, Tạo công việc và Đọc công việc. Nó cũng là cần thiết để bó xác thực vào URL webhook, như vậy:

https://foo:[email protected]/github-webhook/ 
+1

Tốt nhất. Đối với những gì nó có giá trị đây là kinh nghiệm của tôi: Tôi bắt đầu chỉ cần thêm "công việc đọc". Không làm việc. Sau đó, tôi đã thêm "Đọc tổng thể". Điều đó hiệu quả. Không bao giờ phải thêm "Tạo việc làm" vì vậy tôi tin rằng bạn có thể làm mà không có nó. – peterh

0

https://username:[email protected]/github-webhook/ làm việc cho tôi nhưng mật khẩu đã được mã hóa cho payload để làm việc. Github của tôi không thể liên lạc với jenkins do ủy quyền nginx nhưng đã chuyển tên người dùng và mật khẩu được mã hóa!