gpt4 book ai didi

api - 你如何使用 CURL 访问使用 Github OAuth 的 jenkins api

转载 作者:行者123 更新时间:2023-12-03 22:16:52 26 4
gpt4 key购买 nike

我有一个使用 Github OAuth 插件并在 github 的“授权应用程序”部分授权的 jenkins 服务器,它在我的浏览器中工作正常,只要我通过 github 进行身份验证,我就可以访问 jenkins 服务器。

有没有办法使用来自 CURL 或 ruby​​ 客户端的 oauth 凭据/ token 访问 jenkins 服务器 api?

我在 https://github.com/settings/applications 中生成了一个 token -> 个人访问 token -> 生成新 token (没有将其范围限定为第三方应用程序的选项)

该 token 可以正常访问 github :

curl -H "Authorization: token cfbcff42e6a8a52a1076dd9fcxxxxxxxxxxxxxxx" https://api.github.com/user

但是,该 token 对 jenkins-server 无效:

curl -H "Authorization: token cfbcff42e6a8a52a1076dd9fcxxxxxxxxxxxxxxx" https://jenkins-server/user/restebanez/api/json/\?pretty\=true

它生成此错误:

<html><head><meta http-equiv='refresh' content='1;url=/securityRealm/commenceLogin?from=%2Fuser%2Frestebanez%2Fapi%2Fjson%2F%3Fpretty%3Dtrue'/><script>window.location.replace('/securityRealm/commenceLogin?from=%2Fuser%2Frestebanez%2Fapi%2Fjson%2F%3Fpretty%3Dtrue');</script></head><body style='background-color:white; color:white;'>


Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:

Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
-->

</body></html>

``

jenkins 服务器已经安装了 GitHub API Plugin 1.58 和 Github Authentication plugin 0.19

我可能遗漏了 oauth b/c 的一些基础知识,我在谷歌上搜索了一段时间,但什么也没找到

最佳答案

我不确定你是否深入了解过这个问题,但是在尝试了几条路线之后,我终于在 Jenkins 上使用 Github OAuth 获得了一个脚本化的构建。诀窍是 API token 不是 GitHub 的 token ,而是 Jenkins 的 token 。

对于我的设置,我在 github 上有一个机器用户,我使用该用户通过网络正常登录,然后单击右上角的用户名。从那里我单击左侧菜单上的“配置”,最后单击主要内容区域中的“显示 API token ”。

一旦我有了,我就可以运行:

curl --user <username>:<api_token> https://jenkins-server/user/<username>/api/json/?pretty=true

More information.

关于api - 你如何使用 CURL 访问使用 Github OAuth 的 jenkins api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25674674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com