使用BitBucket管道的Jenkins GraphErrorException
我们使用Jenkins(在Windows上)作为CI/CD工具,在Azure中续订应用程序注册令牌(在Jenkins中使用AzureAD进行身份验证)后,我们的bitbucket管道中会出现GraphErrorException(请参阅日志) 詹金斯似乎试图找到提交人,但失败了。有人知道令牌到底需要哪些凭据吗?为什么违约权利是不够的 目前,我们在Azure中拥有以下权限: 这是詹金斯日志:使用BitBucket管道的Jenkins GraphErrorException,jenkins,azure-active-directory,jenkins-pipeline,bitbucket,Jenkins,Azure Active Directory,Jenkins Pipeline,Bitbucket,我们使用Jenkins(在Windows上)作为CI/CD工具,在Azure中续订应用程序注册令牌(在Jenkins中使用AzureAD进行身份验证)后,我们的bitbucket管道中会出现GraphErrorException(请参阅日志) 詹金斯似乎试图找到提交人,但失败了。有人知道令牌到底需要哪些凭据吗?为什么违约权利是不够的 目前,我们在Azure中拥有以下权限: 这是詹金斯日志: Started by user Laurens van Run - MendriX Running as
Started by user Laurens van Run - MendriX
Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Start-Next-Root2
The recommended git tool is: NONE
using credential b9a23fe5-fb1c-436f-b971-6b691d7693fa
> git.exe rev-parse --resolve-git-dir C:\Program Files (x86)\Jenkins\workspace\Start-Next-Root2\.git # timeout=10
Fetching changes from the remote Git repository
> git.exe config remote.origin.url https://bitbucket.org/mendrix-next/_root.git # timeout=10
Fetching upstream changes from https://bitbucket.org/mendrix-next/_root.git
> git.exe --version # timeout=10
> git --version # 'git version 2.26.2.windows.1'
using GIT_ASKPASS to set credentials techsupport Bitbucket login
> git.exe fetch --tags --force --progress -- https://bitbucket.org/mendrix-next/_root.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
Checking out Revision dda42f2b63cec667c550b632956e78e1f70b5562 (refs/remotes/origin/master)
> git.exe config core.sparsecheckout # timeout=10
> git.exe checkout -f dda42f2b63cec667c550b632956e78e1f70b5562 # timeout=10
Commit message: "Auto updated @mendrixeu/dossier@1.0.307"
> git.exe rev-list --no-walk dda42f2b63cec667c550b632956e78e1f70b5562 # timeout=10
FATAL: com.google.common.util.concurrent.UncheckedExecutionException: com.microsoft.azure.management.graphrbac.GraphErrorException: Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"d039b2b5-dc01-459d-92a4-6f69c01ea727","date":"2021-04-13T08:34:14"}}
com.microsoft.azure.management.graphrbac.GraphErrorException: Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"d039b2b5-dc01-459d-92a4-6f69c01ea727","date":"2021-04-13T08:34:14"}}
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.microsoft.rest.ServiceResponseBuilder.build(ServiceResponseBuilder.java:122)
at com.microsoft.azure.AzureResponseBuilder.build(AzureResponseBuilder.java:56)
at com.microsoft.azure.management.graphrbac.implementation.UsersInner.getDelegate(UsersInner.java:464)
at com.microsoft.azure.management.graphrbac.implementation.UsersInner.access$200(UsersInner.java:43)
at com.microsoft.azure.management.graphrbac.implementation.UsersInner$16.call(UsersInner.java:451)
at com.microsoft.azure.management.graphrbac.implementation.UsersInner$16.call(UsersInner.java:447)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:69)
at retrofit2.adapter.rxjava.CallArbiter.deliverResponse(CallArbiter.java:120)
at retrofit2.adapter.rxjava.CallArbiter.emitResponse(CallArbiter.java:102)
at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:46)
at retrofit2.adapter.rxjava.CallExecuteOnSubscribe.call(CallExecuteOnSubscribe.java:24)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)
at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.subscribe(Observable.java:10423)
at rx.Observable.subscribe(Observable.java:10390)
at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:443)
at rx.observables.BlockingObservable.single(BlockingObservable.java:340)
at com.microsoft.azure.management.graphrbac.implementation.ActiveDirectoryUsersImpl.getByName(ActiveDirectoryUsersImpl.java:80)
at com.microsoft.azure.management.graphrbac.implementation.ActiveDirectoryUsersImpl.getByName(ActiveDirectoryUsersImpl.java:25)
at com.microsoft.jenkins.azuread.AzureSecurityRealm.lambda$null$4(AzureSecurityRealm.java:319)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4870)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2273)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2156)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2046)
Caused: com.google.common.util.concurrent.UncheckedExecutionException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2052)
at com.google.common.cache.LocalCache.get(LocalCache.java:3943)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4865)
at com.microsoft.jenkins.azuread.AzureSecurityRealm.lambda$createSecurityComponents$5(AzureSecurityRealm.java:312)
at hudson.security.SecurityRealm.loadUserByUsername2(SecurityRealm.java:410)
at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:165)
at jenkins.security.UserDetailsCache$Retriever.call(UserDetailsCache.java:154)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4767)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3568)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
Caused: com.google.common.util.concurrent.UncheckedExecutionException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4764)
at jenkins.security.UserDetailsCache.loadUserByUsername(UserDetailsCache.java:122)
at hudson.model.User$UserIDCanonicalIdResolver.resolveCanonicalId(User.java:1246)
at hudson.model.User$CanonicalIdResolver.resolve(User.java:1187)
at hudson.model.User.get(User.java:520)
at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:447)
at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:538)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:137)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at jenkins.scm.RunWithSCM.calculateCulprits(RunWithSCM.java:132)
at hudson.model.AbstractBuild.calculateCulprits(AbstractBuild.java:342)
at jenkins.scm.RunWithSCM.getCulprits(RunWithSCM.java:95)
at hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:331)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:701)
at hudson.model.Run.execute(Run.java:1931)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
这一切都是由Jenkins中的一个bug和Jenkins Azure广告插件引起的,该插件于上周解决(发布此问题后的第二天;-))。谢谢你的帮助 您在应用程序注册中添加了哪些权限?你能分享一个截图吗?我用截图更新了帖子。权限看起来不错。您可以共享引发错误的代码吗?我需要知道您如何获得访问令牌,以及尝试调用哪个API端点。