【问题标题】:How to POST to Jenkins to build a job with basic auth headers?如何发布到 Jenkins 以建立具有基本身份验证标头的工作?
【发布时间】:2019-07-03 09:35:55
【问题描述】:

我正在尝试配置一个著名的事件管理工具,以向 Jenkins 作业构建 URL 执行 POST 请求,以响应一些警报。

在此工具中,出于某种原因我无法将 Jenkins 作业构建端点如下:

https://<user>:<apiToken>@my-jenkins.com/blabla/job/blabla/build?token=<myTokenName>

因此,该工具提供的唯一替代方法是将授权详细信息作为标题

在此之前,我正在尝试检查这是否可行,使用curl。因此,我使用 Basic auth 标头调用 Jenkins URL,并使用以下 curl 命令:

curl -X POST -H 'Authorization:Basic <user:apiToken in base64>' -H 'Jenkins-Crumb:<my-crumb>' 'https://my-jenkins.com/blabla/job/blabla/build?token=<myTokenName>'

但是给了我一个 401: Not authorized (Invalid password/token for user: my-user)。如果我在 URL 中放置与第一个代码 sn-p 相同的凭据,它就可以工作。

我已阅读以下文档:https://wiki.jenkins.io/display/JENKINS/Authenticating+scripted+clients,似乎设置 Basic auth 标头非常简单,但我认为我在这里遗漏了一些东西,因为当我使用 curl 时它对我不起作用。

我也用谷歌搜索了一下,似乎每个人都在 URL 中使用 user:apiToken 调用 Jenkins 作业构建 URL,但正如我所提到的,该工具不允许放置这样的 URL。

是否有人使用基本身份验证标头执行 Jenkins 作业启动?

任何帮助将不胜感激。非常感谢!

【问题讨论】:

    标签: jenkins curl opsgenie


    【解决方案1】:

    好的...很尴尬,但似乎我正在使用我的 macOS 命令行 shell 生成 base64 字符串,但它不起作用。

    我对 Postman 做了同样的事情来生成 auth 标头,现在它正在工作......

    希望能以某种方式帮助某人。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。以下是我的解决方案。

      1. 在 IAP 后面和 Jenkins 前面使用 Nginx 代理
      2. 为 Jenkins 使用新标头而不是“授权”。对我来说,我使用了“Jenkins-Authorization”标题。
      3. 在 Nginx 配置中,我使用“proxy_set_header”从“Jenkins-Authorization”设置“Authorization”标头。
      4. 在 Nginx 配置中,proxy_pass 使用内部 IP 到上游 Jenkins 服务器

      Nginx 配置:

      upstream app {
          server jenkin_internal_ip:8080;
      }
      server {
          listen 80 default_server;
      
          charset utf-8;
      
          location / {
              include proxy_params;
              proxy_set_header Authorization $http_jenkins_authorization;
              proxy_pass http://app;
              proxy_redirect off;
          }
      }
      • 记得将 Nginx 配置中的“jenkin_internal_ip”替换为您的 Jenkins 内部 IP。

      【讨论】:

        猜你喜欢
        • 2015-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-13
        • 1970-01-01
        • 2018-07-30
        相关资源
        最近更新 更多