我有一个使用Github OAuth插件的詹金斯服务器,并在github的“授权应用程序”部分授权,它在我的浏览器上运行良好,只要我通过github认证,我就可以访问詹金斯服务器。
有没有办法使用来自CURL或ruby客户端的oauth凭据/令牌访问jenkins服务器api?
我在中生成了一个令牌https://github.com/settings/applications -
这个令牌可以很好地访问github:
curl-H“授权:令牌CFBF42E6A8A52A1076DD9FCXXXXXXXXX”https://api.github.com/user
但是,该令牌对于jenkins服务器无效:
curl-H"授权:令牌cfbcff42e6a8a52a1076dd9fcxxxxxxxxxxxx"https://jenkins-server/user/restebanez/api/json/\?漂亮\=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插件1.58和GitHub身份验证插件0.19
我可能错过了oauth b/c的一些基础知识。我在谷歌上搜索了一段时间,但没有发现任何东西
您应该使用“基本”而不是“令牌”
例如:
curl -H "Authorization: Basic cfbcff42e6a8a52a1076dd9fcxx"
https://jenkins-server/user/restebanez/api/json
您应该只使用Jenkins API令牌。这是可配置的每个用户。请参见$JENKINS\u URL/me
这将允许您的脚本客户端访问Jenkins,而不管使用何种身份验证策略。
我不确定您是否了解了这一点,但在尝试了几条路线之后,我最终在Jenkins上使用Github OAuth获得了一个脚本构建。诀窍在于API令牌不是GitHub的令牌,而是Jenkins的令牌。
对于我的设置,我在github上有一个机器用户,我通过该用户的网络正常登录,然后点击右上角的用户名。从那里,我点击了左侧菜单上的“配置”,最后在主内容区域点击了“显示应用编程接口令牌”。
一旦我有了,我就可以跑了:
curl --user <username>:<api_token> https://jenkins-server/user/<username>/api/json/?pretty=true
更多信息。
问题内容: 我必须使用其api创建/更新jenkins作业,因为我的所有作业都使用其他脚本也使用的参数,并且我试图将这些脚本集中化,因此当我在一个位置进行更改时,更改会反映在所有位置。 当前,如果有人更改了脚本,他们还必须手动编辑jenkins作业的参数。 我看到了用于创建作业的远程API的示例,并且能够成功创建测试作业,但是除了删除并重新创建它之外,我如何才能编辑现有作业(这不是一个选项,因为我
问题内容: 我开始使用jenkins,现在尝试将其配置为使用websvn进行差异和文件视图。我看到一个帖子,说我必须配置multyviews。但我不完全了解它的含义以及在配置后如何使用它。 问题答案: 解决方案是使用jenkins的websvn2插件,该插件支持带参数的url
问题内容: 我刚开始并想将Jenkins集成到我的Ant项目中。但是在配置它时,我找不到任何方法让Jenkins重用已经签出的代码库,而不是下载相对于其工作区根目录的新副本。有没有办法做到这一点 ? 我试图手动指定一个自定义工作区(我的代码库已经签出),然后单击“立即构建”。结果是它清除了我当前签出的代码,说 甚至没有警告。 问题答案: 如果您真的想从文件系统上某个地方的现有签出项进行构建,则不要
问题内容: 我创建了在SVN上具有文件的Jenkins项目(https://repo.xxx.xxx/svn/priv/projectname;证书是自签名的)。我的问题是,詹金斯(Jenkins)对此项目有空的工作空间(仅.svn),并且无法连接到SVN存储库。错误号为: 詹金斯 版 1.521 我在某个地方建立了我应该使用 -Dsvnkit.http.sslProtocols = SSLv3
我安装了Jenkins,下载了Black Duck Hub插件(V4.0.1)。 我遵循了接下来的步骤。去找詹金斯- 我该怎么办?
有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。