我的主要疑问是Github身份验证在Jenkins中是如何发生的?
任务:我们必须在jenkins中与“GitHub Pull Request Builder”的github repo建立连接。
GitHub认证----> GitHub服务器API URL:https://api.github.com(为什么我们要给出这个值?这里我们没有给予任何存储库名称,那么,身份验证是如何进行的?)----> credentials:我已经给了我的和测试与“连接到API”,响应是:连接到https://api.github.com为null(null)登录名:联系我们
---->但如果我给予我的同事凭据(这已经列在凭据下)并测试“连接到API”,那么下面的错误已经来了。
无法连接到GitHub API:org.kohsuke.github.HttpException:{“message”:“需要身份验证”,“documentation_url”:“https://docs.github.com/rest/reference/users#get-the-authenticated-user“
GitHub Pull Request Builder
GitHub Auth
GitHub Server API URL https://api.github.com
Help for feature: GitHub Server API URL
Jenkins URL override
Help for feature: Jenkins URL override
Shared secret
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Help for feature: Shared secret
Credentials user_name/****** (github user)
Add
Help for feature: Credentials
Test basic connection to GitHub
Error:
Connect to API
Unable to connect to GitHub API: org.kohsuke.github.HttpException: {"message":"Requiresauthentication","documentation_url":"https://docs.github.com/rest/reference/users#get-the-authenticated-user"}
有没有人能帮帮忙?
4条答案
按热度按时间kcugc4gi1#
我发现了,你是怎么做到的。Jenkins基本上不喜欢在全局和特定于作业的身份验证中使用不同的访问令牌。
1.转到“Manage Jenkins”>“Configure System”>向下滚动到GitHub
1.“添加Github Server”,API URL为“https://api.github.com”
1.作为凭据使用github中的个人访问令牌作为“秘密文本”
1.单击“Test Connection(测试连接)”以验证其是否正常工作。
1.(可选)如果愿意,启用“管理钩子”
1.“保存”/“应用”
1.现在你可以在Jenkins中设置Github组织,在那里你->
1.将凭据指定为“Username with password”,其中username是您的github用户名,密码是您的个人访问令牌。ID和description可能是空的,但可以帮助记住凭据的用途。
1.确保将“Owner”值正确设置为您的帐户可以访问的github配置文件。(例如,与凭证中指定的名称相同)
1.根据需要配置github组织的其余部分
1.“保存”/“应用”
8hhllhi22#
请输入用户名和密码这不管用使用Github帐户中的个人访问令牌,并将其用作Jenkins的秘密文本凭据。
iswrvxsc3#
在我2023年的情况下,我试着跟随@Pingger Shikkoken的答案,但不幸的是它没有工作。
解决这个问题的方法是“Manage Jenkins -> Configure System -> Github”,然后添加一个新的Github服务器,设置相同(我的API令牌已经是最新的)。
希望这对某人有帮助。
igsr9ssn4#
在连接到github时,您需要给予凭据。对于
GitHub Pull Request Builder
,您需要使用访问令牌来为给定的Github Server API URL设置凭据。身份验证基于您的访问令牌完成。当您创建作业时,您需要给予
github url
。将为特定的github存储库创建一个作业。您可以阅读更多here。