1、先说重点 (网上大部分教程都是: 无效的,过期的)
当前环境基于 Jenkins Version 2.541.3
- 不需要勾选 Jenkins->系统管理->全局安全配置->授权策略->匿名用户具有可读权限(勾选了只是 curl 或 浏览器,可以使用 Gitea 不行)
- 不需要关闭 Jenkins->系统管理->全局安全配置->跨站请求伪造保护(新版本无法关闭)
- 不需要勾选 Jenkins->系统管理->全局安全配置->跨站请求伪造保护->启用代理兼容
- 不需要使用 admin:登录密码@地址(登录密码不参与 API 调用鉴权, 需要使用 API TOKEN)
- 不需要在 header 中增加 Jenkins-Crumb 或 crumb (这个令牌是变化的, 每次请求东不一样, 你用 API 请求回来设置上也无法通过验证)
2、配置流程很简单(不需要搞那些乱七八糟的东西)
- 点击右上角个人头像->security->添加新的 API TOKEN
- 拼接你的 URL 填写到 Gitea webhook 中, HTTP 方法选择 POST
- 如果你的 Jenkins 是内网 IP, 在 Gitea 配置文件 app.ini 中增加
[webhook]
ALLOWED_HOST_LIST = *
### 示例
-
```ini
http://用户名:第一步获得的API TOKEN@Jenkins地址/job/工作流名称/build
-
```ini
http://admin:110baa718c11ae5c4d6a2d1b98fb21e73e@10.12.15.198:8080
/job/unt-orderprocessing/build?token=w408811093