无法连接到GitHub API: org.kohsuke.github.HttpException



我的主要疑问是github认证是如何在jenkins中发生的?

任务:我们必须在jenkins中与github repo建立连接,用于"github Pull Request builder"。

GitHub身份验证——比;GitHub服务器API URL: https://api.github.com(为什么我们给出这个值?这里我们没有给出任何存储库名称,那么,身份验证是如何发生的呢?)——比;凭据:我已经给出了我的并测试了"连接到api",响应是:连接到https://api.github.com作为null (null)登录:{{my_user_name}}

——比;但是,如果我给我的同事证书(已经在证书下列出)并使用"连接到api"进行测试;那么下面的错误已经到来。

无法连接到GitHub API: org.kohsuke.github.HttpException: {"message":"Requires authentication","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"}

有人能帮我一下吗?

我知道你是怎么做的了。基本上,Jenkins不喜欢在全局和特定于作业的身份验证中使用不同的访问令牌。

  1. 进入"Manage Jenkins"比;"配置煤气报修比;向下滚动到GitHub
  2. 添加Github服务器"带有API URL "https://api.github.com">
  3. 作为凭证使用github中的个人访问令牌作为"秘密文本">
  4. 点击"测试连接";
  5. (可选)启用"管理钩子"如果你喜欢
  6. "Save"Apply"
  7. 现在你可以在Jenkins中设置Github组织,在这里->
  8. 将凭据指定为"Username with password",其中Username是您的github用户名,password是您的个人访问令牌。ID和描述可以为空,但可以帮助记住凭证的用途。
  9. 确保你设置了"owner";值正确设置为您的帐户可以访问的github配置文件。(例如,与凭据中指定的名称相同)
  10. 配置github组织的其余部分
  11. "Save"Apply"

不要使用用户名和密码。这行不通。使用您的Github帐户中的个人访问令牌,并将其用作詹金斯的秘密文本凭据。

以我在2023年的情况为例,我试着遵循@Pingger Shikkoken的答案,尽管不幸的是它不起作用。

解决这个问题的办法是去"Manage Jenkins>配置系统->Github"只是添加一个新的Github服务器与相同的设置(我的API令牌已经是最新的)。

希望这能帮助到一些人。

连接到github时,您需要提供凭据。对于GitHub Pull Request Builder,您需要使用访问令牌为给定的Github服务器API Url设置凭据。身份验证是基于您的访问令牌完成的。

当您创建一个作业时,此时您需要提供您的github url。将为特定的github存储库创建一个作业。

你可以在这里阅读更多。

最新更新