Azure DevOps - Project name with ÅÄÖ (or similar)

Versions

SonarQube: Enterprise Edition Version 8.3.1 (build 34397)
SonarQube Azure DevOps plugin: 4.11.0 (Latest)
Azure DevOps: Cloud Edition, so latest

Repro

Logs

%EF%BF%BD%EF%BF%BD = ä

DEBUG ce[][s.n.w.p.h.HttpURLConnection] sun.net.www.MessageHeader@3dd670607 pairs: {GET /xxx/M%EF%BF%BD%EF%BF%BDtplats/_apis/git/repositories/Some-Repo HTTP/1.1: null}{Accept: application/json;api-version=3.1-preview.1;charset=UTF-8}{X-TFS-Version: 1.0.2}{Authorization: BASIC xxx==}{User-Agent: Jersey/2.26 (HttpUrlConnection 11.0.6)}{Host: dev.azure.com}{Connection: keep-alive}
WARN  ce[AXPcugx9Q88QbZLzs8mX][c.s.C.D.C.C] Failed to decorate Azure DevOps Pull Request
com.microsoft.alm.client.model.VssServiceException: TF200016: The following project does not exist: M��tplats. Verify that the name of the project is correct and that the project exists on the specified Azure DevOps Server.

Workaround

Rename the project and deal with all the problems that will cause (not an option at this point)

Hi

I was not able to reproduce so far. Are you behind a proxy or another mechanism that may rewrite URLs ?

Can you also go to the Administration -> Background tasks of your project, find a line with a PR analysis, click on the right 3 vertical dots, Show Scanner context, and verify that the sonar.pullrequest.vsts.instanceUrl is correctly “written” ?

When I go to /dashboard?id=MyService&pullRequest=12316# and click on “See the PR->”, I get an 404 since the URL there gets wrong too: https://dev.azure.com/xxx/M��tplats/_git/ItOps-MyService/pullrequest/12316

So it’s not just the REST command to devops.

Scanner Context: MyService [Project Analysis]

There is no “sonar.pullrequest.vsts.instanceUrl”, but there is a “sonar.pullrequest.vsts.project=M��tplats” (the output is the ??)

The Compute Engine logs displays the correct name when refresh is triggered:
Triggering refresh of the following portfolios/applications: Mätplats (M_tplats)

Found some properties:

sonar.pullrequest.base=master - sonar.pullrequest.branch=hotfix/sonarqube-test - sonar.pullrequest.key=12263 - sonar.pullrequest.provider=vsts - sonar.pullrequest.vsts.instanceUrl=https://dev.azure.com/xxx/ - sonar.pullrequest.vsts.project=M��tplats - sonar.pullrequest.vsts.repository=MyService

Digged out some more from pipeline log in DevOps:
WARN: Encoding detected by Roslyn and encoding used by SonarQube do not match for file /azp/agent/_work/30/s/src/MyService/File.cs. SonarQube encoding is 'windows-1252', Roslyn encoding is 'UTF-8'. File will be skipped.

This happens for one file only, but it says SonarQube uses windows-1252 encoding. That might be the clue with ÅÄÖ encoding?

We have a yaml called

run-tests-with-sonarqube-dotnet-template.yml

I’ve tried playing with encodings, no success but the project changes atleast, from one wierd character to another.

Found a solution to this. All project got a Guid that can be used instead of the name (somewhere in project settings I think). Added this to the URL and it started to work.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.