azure-pipelines-tasks: Cryptic error when attempting to publish symbols to on-premises TFS

Required Information

Type: Bug Enter Task Name: Index Sources & Publish Symbols

Environment

  • Server - TFS on-premises?

    • If using TFS on-premises, provide the version: 17.143.28912.1
  • Agent - Private

    • If using private agent, provide the OS of the machine running the agent and the agent version:
Capability name Capability value
Agent.OS Windows_NT
Agent.OSVersion 10.0.14393
Agent.Version 2.131.0

Issue Description

Running the task results in the described error. Looking at the task code, the following execution flow emerges:

  1. The code reaches https://github.com/microsoft/azure-pipelines-tasks/blob/c5de8d6beb30280eae54e6f0c2a17bb59ad98d92/Tasks/PublishSymbolsV2/PublishSymbols.ps1#L175-L177 and discovers that there is no account name, no PAT and Aad is not used.
  2. So, the code executes https://github.com/microsoft/azure-pipelines-tasks/blob/c5de8d6beb30280eae54e6f0c2a17bb59ad98d92/Tasks/PublishSymbolsV2/PublishSymbols.ps1#L19-L20, sending an unauthenticated request to the on-premises Azure DevOps server.

This is strange. I would expect it at least to pass -UseDefaultCredentials. As it is now, the request is aborted, which is totally expected.

In effect, it makes it impossible to publish symbols to the on premises Azure DevOps server.

Task logs

log_6_588891.zip

Error logs

TF400813: Resource not available for anonymous access. Client authentication required. - Azure DevOps Server

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 20 (8 by maintainers)

Most upvoted comments

I do not have the reopen button. It is to create it from scratch. I would not bother, they seem to ignore our issues anyway…

Is there any progress on this bug? Should I open a Microsoft Support case to attract attention? Or maybe spam my entire organisation begging for developers to upvote this issue? Can the poor folks stuck with on-prem get some loving finally?

We use a file share. The on-prem Azure DevOps Server is a bastard brother of the hosted. Those companies which made the mistake of going with TFS before the hosted version was even born are now screwed up capitally. The hosted version is constantly updated with goodies, while we get the bugs. This is a source of great frustration.

This “symbol server on-prem” is marked as closed on the feature request section of developer community. https://developercommunity.visualstudio.com/idea/365919/tfs-symbol-server.html

I’ll leave this issue open as an ask to have a clearer error and docs.

Well if this is not actually supported on azure devops server I would expect that the built-in task for it doesn’t actually give you the option to try this. Not just that the error message is non-cryptic.

It would also be great to have some more ‘official’ confirmation that this is not supposed to work because for your one developer community ticket that is closed as won’t fix I have at least one other developer community ticket that is closed as Fix released for example.

I also pinged azure devops about this on twitter and they said this was being looked into so it could be resolved: https://twitter.com/AzureDevOps/status/1352008338914111488

@arunkm You seem like the maintainer of this feature. Can you please comment?

Well, the anonymous does not work for on-premise. However, I do not understand why even try anonymous. If there is no account name, no token and no AAD, then it must be an on-premise installation. If so, the -UseDefaultCredentials makes much more sense, then -UseBasicParsing.