我尝试使用Jenkins和Kiln存储库设置持续集成方案。我遇到的麻烦就是在窑中设置Jenkins webhook。
我在构建触发器中有一个带有身份验证令牌的Jenkins构建作业。还有一个Jenkins用户,还有一个身份验证令牌。
使用curl,我可以成功触发Jenkins构建:
curl -i https://<user>:<user-token>@ci.server.com/job/<jobname>/build?token=<build-token>
然而,窑的webhook总是以403:
失败Connection: close
X-Content-Type-Options: nosniff
X-Hudson: 1.395
X-Jenkins: 2.10
X-Jenkins-Session: ce44f96b
X-You-Are-Authenticated-As: anonymous
X-You-Are-In-Group:
X-Required-Permission: hudson.model.Hudson.Read
X-Permission-Implied-By: hudson.security.Permission.GenericRead,hudson.model.Hudson.Administer
Content-Length: 985
Content-Type: text/html;charset=UTF-8
Date: Sun, 26 Jun 2016 14:29:56 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: JSESSIONID.8ae67724=1gh7svgbt5la719xs8ivdafz8h;Path=/;Secure;HttpOnly
Server: nginx
显然,&#34;认证为:匿名&#34;似乎有问题。我已尝试在Kiln中创建Jenkins / Hudson特定的webhook和自定义webhook。
任何可能遗漏的线索都将不胜感激。
干杯,迈克尔
答案 0 :(得分:1)
我认为Kiln正在发送一个POST - 尝试重复curl作为POST。
这可能会给出一个线索 - 我发现了与“crumbs”有关的错误,这是Jenkins 2中添加的CSRF保护。
由于我找不到说服Kiln发送GET的方法(我对Kiln Webhooks没有留下深刻的印象),作为一种解决方法,我已经禁用了Jenkins的CSRF保护。根本不满意,需要。