TFS integration with Issue Tracker and VCS

Hi,

I would like to connect TeamCity with Microsoft Team Foundation Server. I already successfully created VCS Root and download/build source code (I installed on the server and agents Microsoft Team Explorer). However I would like to integrate Issue Tracker also. After entering all mandatory things on new Issue Tracker Connection page, test connection throws an exception:

[2018-06-25 07:06:00,278]  ERROR - ins.buildServer.ISSUE_TRACKERS - Could not fetch work items [35023] from root TfsRoot{tfs: https://server/tfs/DefaultCollection/ $/Project, user: email@test.com}: Unable to connect to TFS server: Access denied connecting to TFS server https://server/ (authenticating as email@test.com)
jetbrains.buildServer.vcs.VcsException: Unable to connect to TFS server: Access denied connecting to TFS server https://server/ (authenticating as email@test.com)
    at jetbrains.buildServer.buildTriggers.vcs.tfs.java.TfsJavaWebRunner$2.apply(TfsJavaWebRunner.java:130)
    at jetbrains.buildServer.buildTriggers.vcs.tfs.java.TfsJavaWebRunner$2.apply(TfsJavaWebRunner.java:87)
    at jetbrains.buildServer.buildTriggers.vcs.tfs.TfsCacheManager.executeWithReadLock(TfsCacheManager.java:30)
    at jetbrains.buildServer.buildTriggers.vcs.tfs.java.TfsJavaRunnerBase.executeCommand(TfsJavaRunnerBase.java:224)
    at jetbrains.buildServer.buildTriggers.vcs.tfs.java.TfsJavaWebRunner.executeCommand(TfsJavaWebRunner.java:87)
    at jetbrains.buildServer.issueTracker.tfs.TfsJavaIssueContext.getWorkItems(TfsJavaIssueContext.java:49)
    at jetbrains.buildServer.issueTracker.tfs.TfsJavaIssueContext.getWorkItem(TfsJavaIssueContext.java:30)
    at jetbrains.buildServer.issueTracker.tfs.TfsIssueFetcher$1.fetch(TfsIssueFetcher.java:41)
    at jetbrains.buildServer.issueTracker.AbstractIssueFetcher$2.apply(AbstractIssueFetcher.java:280)
    at jetbrains.buildServer.issueTracker.AbstractIssueFetcher$2.apply(AbstractIssueFetcher.java:277)
    at jetbrains.buildServer.serverSide.ReadOnlyRestrictor.doReadOnlyNetworkOperation(ReadOnlyRestrictor.java:13)
    at jetbrains.buildServer.issueTracker.AbstractIssueFetcher.getFromCacheOrFetch(AbstractIssueFetcher.java:277)
    at jetbrains.buildServer.issueTracker.tfs.TfsIssueFetcher.getIssue(TfsIssueFetcher.java:38)
    at jetbrains.buildServer.issueTracker.AbstractIssueFetcher.fetchIssue(AbstractIssueFetcher.java:158)
    at jetbrains.buildServer.issueTracker.AbstractIssueProvider$3.testConnection(AbstractIssueProvider.java:352)
    at jetbrains.buildServer.controllers.admin.issues.TestConnectionController.doPost(TestConnectionController.java:19)
    at jetbrains.buildServer.controllers.BaseFormXmlController$1.handleRequest(BaseFormXmlController.java:54)
    at jetbrains.buildServer.controllers.AjaxRequestProcessor.processRequest(AjaxRequestProcessor.java:47)
    at jetbrains.buildServer.controllers.BaseFormXmlController.doHandle(BaseFormXmlController.java:52)
    at jetbrains.buildServer.controllers.BaseController.handleRequestInternal(BaseController.java:101)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:174)
    at jetbrains.buildServer.controllers.BaseController.handleRequest(BaseController.java:80)
    at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet.processedByMainServlet(TeamCityDispatcherServlet.java:46)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet.service(TeamCityDispatcherServlet.java:25)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at jetbrains.buildServer.web.jsp.JspPrecompilerFilter.doFilter(JspPrecompilerFilter.java:69)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at jetbrains.buildServer.web.DisableSessionIdFromUrlFilter.doFilter(DisableSessionIdFromUrlFilter.java:4)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:107)
    at jetbrains.buildServer.diagnostic.web.DiagnosticFilter.doFilter(DiagnosticFilter.java:11)
    at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:112)
    at jetbrains.buildServer.web.DependencyParametersCalculationContextFilter.doFilter(DependencyParametersCalculationContextFilter.java:3)
    at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:112)
    at jetbrains.buildServer.web.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:39)
    at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:112)
    at jetbrains.buildServer.web.CSRFFilter.doFilter(CSRFFilter.java:103)
    at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:112)
    at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:73)
    at jetbrains.buildServer.web.DelegatingFilter.doFilter(DelegatingFilter.java:61)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at jetbrains.buildServer.web.ResponseFragmentFilter.doFilter(ResponseFragmentFilter.java:41)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

I founded similar issue: https://teamcity-support.jetbrains.com/hc/en-us/community/posts/203363090-TeamCity-cannt-connect-to-VSTS. I added internal properties:

teamcity.tfs.mode=java
teamcity.tfs.java.use.long.living.process=true

Integration with Issue Tracker started to work. Unfortunately VCS Roots throws below exception.

[2018-06-25 08:17:58,014]   INFO - cs.tfs.TfsCollectChangesPolicy - Failed to get current version 
of repository TfsRoot{tfs: https://server/SomeCollection/ $/Project F3/Project, user: email@test.com}:
jetbrains.buildServer.vcs.VcsException: Unable to connect to TFS server: Access denied connecting to
TFS server https://server/ (authenticating as email@test.com) (enable debug to see stacktrace)


Thus when I have Issue tracker working VCS is not working. When when VCS is working, Issue tracker is not working.
Can you help me with this issue? Is there any configuration that I can change?

 

0
1 comment

Hi,

this integration should work, could you please check our specific instructions here: https://confluence.jetbrains.com/display/TCD18/Team+Foundation+Server, which also contains a link to including integration with the work items.

The thread you linked to is pretty old and a lot of stuff has been reworked in between, so if you are using new versions of teamcity and TFS I'd recommend leaving them out for now. If after troubleshooting we consider it would be appropriate we'll suggest adding them back.

0

Please sign in to leave a comment.