TFS Code Checkout Issue

Issue #73 resolved
Pang C Tsang created an issue

We have Bamboo plan has problem checking out code from TFS. The error from the build log is as below. The check out work in one plan but fail in another plan with the same repository setting. I have attached the log of the two plan (one is successful and the other is fail)

error   15-Feb-2018 18:48:26    Error occurred while running Task 'Checkout Default Repository(1)' of type com.atlassian.bamboo.plugins.vcs:task.vcs.checkout.
error   15-Feb-2018 18:48:26    java.lang.RuntimeException: com.atlassian.bamboo.repository.RepositoryException: java.lang.UnsupportedOperationException: Plugin com.atlassian.bamboo.plugins.stash.atlassian-bamboo-plugin-stash:bbserver cannot be used through legacy API call
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:144)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.executor.RetryingTaskExecutor.runTask(RetryingTaskExecutor.java:88)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:203)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:188)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask.execute(VcsCheckoutTask.java:127)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$3(TaskExecutorImpl.java:317)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:246)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:317)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.task.TaskExecutorImpl.executePreparationTasks(TaskExecutorImpl.java:93)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.call(PrepareBuildTask.java:77)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:216)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl$1.call(BuildAgentControllerImpl.java:139)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl$1.call(BuildAgentControllerImpl.java:130)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:221)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:129)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:138)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:51)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
error   15-Feb-2018 18:48:26        at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
error   15-Feb-2018 18:48:26        at java.lang.Thread.run(Unknown Source)

Comments (12)

  1. Pang C Tsang reporter

    When we did our testing, we have noticed that "(1)" was in the log after the job name but it was not there in the successful check out case.

  2. Sergey Podobry

    It looks this is a Bamboo issue. Probably a bad update from the previous Bamboo version. The other plan has several repos: TFS and Bitbucket/Stash. I think the issue can be resolved by deleting those repos and creating them again. Please try it.

  3. Pang C Tsang reporter

    I have the following feedback from Atlassian regarding the issue.

    I was reviewing this issue with one of our developers and it looks like TFS plugin tries to get some data from plan's repositories. There is a isLegacyRepository() method at VcsRepositoryData which defines if asLegacyData() method is handled by the plugin.

    With that said, vendor should should modify source-code to check if given repository can be processed as Legacy repo or new API one.

    As a suggestion, plugin should not call getRepository() method but getOriginalData() and then use new API class com.atlassian.bamboo.vcs.configuration.VcsRepositoryData.

  4. Pang C Tsang reporter

    We have also noticed that if the build consists of TFS repo only. It works ok. However, the plan will have issue when the plan is using TFS repo with other repo (such as git/bitbucket).

  5. Sergey Podobry

    Thank you, I guess we found how to fix this. We'll send a new version on Monday, February 26, 2018.

  6. Log in to comment