无法在 TeamCity 中为 TFS Online 设置 VCS Roots

Can't setup VCS Roots for TFS Online in TeamCity

我正在尝试在我们的构建服务器上设置一个 TeamCity 项目。我们的 VCS 存储库位于 VisualStudio.com。我用有效的 username/password 设置了正确的 URL。但是,我不断收到 "TF30063: You are not authorized to access https://XXX.visualstudio.com/DefaultCollection"。我知道 URL、用户名和密码是正确的。我每天都使用它从 VS 访问代码。我什至使用了团队中其他 username/password 的其他开发人员,但都没有用。

我在编辑 VCS 根中有这样的 TFS 设置: URL: https://XXX.visualstudio.com/DefaultCollection 根:$/IRM/Release 用户名和密码设置为有效的 username/password.

我使用 Fiddler 查看请求的原始数据,堆栈跟踪显示:

jetbrains.buildServer.vcs.VcsRootVcsException: Failed to get current version of TFS root. TF30063: You are not authorized to access https://XXX.visualstudio.com/DefaultCollection. 
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.createRootException(VcsChangesStatesCollector.java:61)
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.getCurrentState(VcsChangesStatesCollector.java:34) 
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.access0(VcsChangesStatesCollector.java:5) 
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.run(VcsChangesStatesCollector.java:6) 
at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89) 
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.doCollectStates(VcsChangesStatesCollector.java:3)
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.access[==]0(VcsChangesStatesCollector.java:32) 
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.run(VcsChangesStatesCollector.java:1) 
at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl$ImmediateFutureExecService.call(VcsChangesLoaderImpl.java:1)
at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:48) 
at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:55) 
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.collectStatesForAllRoots(VcsChangesStatesCollector.java:51)
at jetbrains.buildServer.vcs.impl.VcsChangesStatesCollector.getCurrentStateSnapshot(VcsChangesStatesCollector.java:60)
at jetbrains.buildServer.vcs.impl.VcsChangesFetcher.createTasksToLoadChangesForInstances(VcsChangesFetcher.java:61)
at jetbrains.buildServer.vcs.impl.VcsChangesSyncFetcher.loadChangesNoLocking(VcsChangesSyncFetcher.java:99) 
at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl.tryLoadChanges(VcsChangesLoaderImpl.java:16) 
at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction.run(VcsModificationChecker.java:2)
at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89) 
at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction.run(VcsModificationChecker.java:6)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 

不确定 "Failed to get current version of TFS root" 是否是提示。但是,我不知道此时该尝试什么。有什么建议吗?

******* 注意: 我已经在另外 3 台机器上安装了 TeamCity,并且只能使用其中一台连接到我们的 VisualStudio 在线帐户。所有机器都使用相同的 username/password 并且所有机器都在同一防火墙后面。可以连接的机器在 Windows 7 Professional SP1 上。这与无法连接的机器之一相同。我什至尝试将无法正常工作的 Windows 7 Professional 机器移到防火墙之外,但这也没有用。

看这里:

Connecting TeamCity to TFS

...我输入了一张图片。答案取决于您使用的 TeamCity 版本 运行。它略有变化,但上面的 post 应该有所帮助。