1

I am currently facing an issue with Jenkins <> Github integration due to today's Github auth changes deprecating user/pass auth and the current Github branch source plugin.

Deprecation info: https://developer.github.com/changes/2020-02-14-deprecating-password-auth/#removal

Plugin: https://github.com/jenkinsci/github-branch-source-plugin

  • Jenkins: 2.249.3
  • Github branch source plugin 2.9.1 (latest)
  • This jenkins install is private only (not public facing)
  • The repo being accessed is private (not public facing)
  • The Github token has full repo access

Issue:

The plugin forces user/pass auth which Github no longer accepts. The instructions state to put the TOKEN in the password field but it still complains after I've done that:

The API can't be accessed using username/password authentication

https://developer.github.com/changes/2020-02-14-deprecating-password-auth/#removal

Instructions state: "Only username/password credentials are supported" and instructs to add the Token in the password field (screenshot shows this)

The attached screenshot shows the debacle clearly:

enter image description here

Questions to ServerFault:

  • Am I entering the token wrong for the credentials? I've tried:
    • a null user, with the token as the password
    • The token as the user & pass
    • The token description as the user, with the token as the password
  • Normally I would submit a Github issue to a developer about an app issue. However since there is no "Issues" component to submit issues to the plugin developer, I wanted to ask my question here, in case others have hit this.
3

Exactly same story here. Your post inspired me to dig deeper and I found a solution.

Go to the "System Configuration" (sorry, my Browser is set to german and I don't know the exact wording) and create new credentials for the GitHub server in "Secret Text" format. Use the Personal Access Token as secret and give it a description.

Verify with the "Test connection" button. It should print out the following:

Credentials verified for user your-cool-username, rate limit: 4876

GitHub API server settings

Now in the project it still forces me to use username/password credentials but it somehow seems to work with the global GitHub API settings we changed.

My username/password credential settings

There references in the plugins code about checkout via SSH (see here in the repo), but I couldn't find a way to use key auth. It puzzles me a bit that my solution works, I didn't expect that.

Edit: I actually found a checkout via SSH checkout option, not sure/expecting do better.

2
  • Confirmed. After re-configuring the global settings for Github AND the project settings, this is finally working. Thank you.
    – Rino Bino
    Nov 16 '20 at 20:10
  • @user5626219 had good/correct info too in their answer, but this answer is the solution that actually solved the problem.
    – Rino Bino
    Nov 16 '20 at 20:19
1
  • a null user, with the token as the password
  • The token as the user & pass
  • The token description as the user, with the token as the password

None of these worked for me, however

  • the GitHub username as user, the token as password

did.

0

Same issue here. Creating a new token with the link in the Github Branch Source Plugin docs and adding a new credential with username and token solved the issue for us.

I think the solution by @andreas-bretschneider does not use this plugin, just individual jobs and global github integration (which didn't fix the issue for us).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.