【问题标题】:How to trigger a jenkins job using the Trac Notification feature?如何使用 Trac 通知功能触发 jenkins 作业?
【发布时间】:2018-05-22 08:54:08
【问题描述】:

问题是我们的存储库由外部方托管,由于执行任意脚本可能带来的安全问题而防止挂钩脚本。因此,钩子脚本对我来说是没有选择的。与我们的主机的一封快速电子邮件显示,Trac 提供了一个通知功能,该功能提供 HTTP POST 和 GET 命令,可用于触发 Jenkins 构建。我无法让它工作!下面我附上了我试图让它工作的努力,但无济于事。有人知道我哪里出错了吗?

可以在 Trac 中的以下位置设置通知:“Dashboard”、“Notifications”、“Web Hooks”部分。

这些字段是:

自定义 GET 回调(HTTP GET 到您选择的 URL)

  • 网址:
  • 用户名:(可选)
  • 密码:(可选)

自定义 POST 回调(JSON 或 XML POST 到您选择的 URL)

  • 网址:
  • 用户名:(可选)
  • 密码:(可选)
  • HTTP 标头:(可选)

我尝试了以下方法,但无济于事:

【问题讨论】:

    标签: jenkins trac continuous-delivery post-commit


    【解决方案1】:

    我需要安装“Build Authorization Token Root”插件,可以在这里下载:https://plugins.jenkins.io/build-token-root

    然后我在 Trac 项目设置的 Notification 区域设置了一个自定义的 GET 回调,像这样:

    现在可以了!谢谢elworthy!

    【讨论】:

      【解决方案2】:

      build_token 方法已被弃用,根据这篇文章 (https://issues.jenkins-ci.org/browse/JENKINS-17764),请参阅 Daniel Beck 的最后评论:

      “基于令牌的构建触发是多年前已弃用的遗留选项(只是文档没有保持最新)......”

      我不使用 TRAC,但使用下面的代码远程触发构建(需要设置 userid/token/job/url 值)- 可能有帮助吗?:

      AUTH="<user_id>:<user_api_token>"
      JOB_NAME="<job_name>"
      TRIGGER_URL="http://<jenkins>:8080/job/$JOB_NAME/buildWithParameters?param1=value1&param2=value2"
      curl -D - -X POST -u $AUTH $TRIGGER_URL 2>&1`
      

      【讨论】:

      • 虽然它没有被证明是我的解决方案,但你确实指出了我做错了什么!此外,在您分享的链接中,我设法找到了我的解决方案。正如 Emil Dragu 在您的链接中所说:“我遇到了同样的问题,为了解决这个问题,我使用了这个插件:wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin。希望它有所帮助。”
      猜你喜欢
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多