<< Back to previous view

[QB-3389] GitHub Checkout Fails Attempting to set Status when using Person Access tokens
Created: 07/May/19  Updated: 20/May/19

Status: Closed
Project: QuickBuild
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Mike Cordeiro Assigned To: Steve Luo
Resolution: Won't Fix Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown
Environment: Windows
SQL Server


 Description   
On a private GitHub repo, getting 404 attempting to set status on Checkout step (building pull requests) when using username and Person Access Token. MFA is required on our private repo, so traditional username/password is not an option. It does appear the the PR is located fine, so access token is correct (also have had success checking out with personal access token in URL using basic auth, but hasn't worked on pull requests).

Error below.


15:22:30,939 INFO - Checking step execute condition...
15:22:30,939 INFO - Step execute condition satisfied, executing...
15:22:31,059 INFO - Executing pre-execute action...
15:22:31,059 INFO - Running step...
15:22:31,059 INFO - Checking out revision '13660a56121ceb515260477bd9558a7b2b2bd986' of repository 'GitHub Repository'...
15:22:31,388 WARN - Base build not exist to calculate change sets.
15:22:31,449 INFO - Executing post-execute action...
15:22:31,449 ERROR - Step 'master>Checkout Source>Git Checkout' is failed.
    java.lang.RuntimeException: org.eclipse.egit.github.core.client.RequestException: Not Found (404)
        at com.google.common.base.Throwables.propagate(Throwables.java:160)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository.onBuildStart(GitHubRepository.java:76)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository.checkoutByRevision(GitHubRepository.java:66)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f.CGLIB$checkoutByRevision$4(<generated>)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f$$FastClassByCGLIB$$c9ce3472.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:261)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f.checkoutByRevision(<generated>)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository.checkoutByRevision(GitHubRepository.java:49)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f.CGLIB$checkoutByRevision$3(<generated>)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f$$FastClassByCGLIB$$c9ce3472.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:261)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f.checkoutByRevision(<generated>)
        at com.pmease.quickbuild.repositorysupport.Repository.checkout(Repository.java:228)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f.CGLIB$checkout$115(<generated>)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f$$FastClassByCGLIB$$c9ce3472.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:261)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository$$EnhancerByCGLIB$$959cf1f.checkout(<generated>)
        at com.pmease.quickbuild.repositorysupport.CheckoutStep.run(CheckoutStep.java:71)
        at com.pmease.quickbuild.repositorysupport.CheckoutStep$$EnhancerByCGLIB$$8050c844.CGLIB$run$0(<generated>)
        at com.pmease.quickbuild.repositorysupport.CheckoutStep$$EnhancerByCGLIB$$8050c844$$FastClassByCGLIB$$9e102dbc.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:261)
        at com.pmease.quickbuild.repositorysupport.CheckoutStep$$EnhancerByCGLIB$$8050c844.run(<generated>)
        at com.pmease.quickbuild.stepsupport.Step.doExecute(Step.java:664)
        at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:570)
        at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:31)
        at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:56)
        at com.pmease.quickbuild.BuildAwareJob.execute(BuildAwareJob.java:77)
        at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:129)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.eclipse.egit.github.core.client.RequestException: Not Found (404)
        at org.eclipse.egit.github.core.client.GitHubClient.createException(GitHubClient.java:583)
        at org.eclipse.egit.github.core.client.GitHubClient.sendJson(GitHubClient.java:674)
        at org.eclipse.egit.github.core.client.GitHubClient.post(GitHubClient.java:788)
        at org.eclipse.egit.github.core.service.CommitService.createStatus(CommitService.java:428)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository.updateCommitStatus(GitHubRepository.java:203)
        at com.pmease.quickbuild.plugin.scm.github.GitHubRepository.onBuildStart(GitHubRepository.java:73)
        ... 35 more

 Comments   
Comment by Steve Luo [ 12/May/19 03:24 PM ]
Hi,

There is no access token available for GitHub repository, instead, it is for GitLab. So please make sure you are using the correct repository type. Also, username and password is required for accessing GitHub repository.
Comment by Mike Cordeiro [ 13/May/19 11:58 AM ]
Is there any plan to support OAuth tokens on a github repository in the future (https://help.github.com/en/articles/git-automation-with-oauth-tokens)? Because our company requires us to have MFA enabled for all accounts, we cannot use a traditional username/password.

Thanks
Comment by Mike Cordeiro [ 13/May/19 03:11 PM ]
After looking into this further on our end, it appears that using the token in the password field instead of the password resolved this issue. Thanks
Generated at Fri Apr 26 09:55:46 UTC 2024 using JIRA 189.