1、先说重点 (网上大部分教程都是: 无效的,过期的)

当前环境基于 Jenkins Version 2.541.3

  • 不需要勾选 Jenkins->系统管理->全局安全配置->授权策略->匿名用户具有可读权限(勾选了只是 curl 或 浏览器,可以使用 Gitea 不行)
  • 不需要关闭 Jenkins->系统管理->全局安全配置->跨站请求伪造保护(新版本无法关闭)
  • 不需要勾选 Jenkins->系统管理->全局安全配置->跨站请求伪造保护->启用代理兼容
  • 不需要使用 admin:登录密码@地址(登录密码不参与 API 调用鉴权, 需要使用 API TOKEN)
  • 不需要在 header 中增加 Jenkins-Crumb 或 crumb (这个令牌是变化的, 每次请求东不一样, 你用 API 请求回来设置上也无法通过验证)

2、配置流程很简单(不需要搞那些乱七八糟的东西)

  1. 点击右上角个人头像->security->添加新的 API TOKEN
  2. 拼接你的 URL 填写到 Gitea webhook 中, HTTP 方法选择 POST
  3. 如果你的 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