使用BitBucket管道的Jenkins GraphErrorException

使用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

我们使用Jenkins(在Windows上)作为CI/CD工具,在Azure中续订应用程序注册令牌(在Jenkins中使用AzureAD进行身份验证)后,我们的bitbucket管道中会出现GraphErrorException(请参阅日志)

詹金斯似乎试图找到提交人,但失败了。有人知道令牌到底需要哪些凭据吗?为什么违约权利是不够的

目前,我们在Azure中拥有以下权限:

这是詹金斯日志:

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端点。