How to configure a custom code quality check in Gitlab?

I’m trying to configure .NET project code quality check in GitLab Enterprise Edition 15.8.1-ee (Premium tier), but Gitlab UI doesn’t show any code issue.

Since I’m going to use a custom code inspection tool (JetBrains Inspect Code command line tool), I’ve written a special converter that reformat JetBrains report format to Gitlab JSON format (Code Quality | GitLab). For testing purpose, I’ve prepared a GitLab code quality report, I added the report to the repository and added an additional Gitlab job to provide the file to CI pipeline.

Prepared GitLab code quality report (gl-code-quality-report.json) part:

[

    {
        "description":  "Using directive is not required by the code and can be safely removed",
        "fingerprint":  "a3d5c2a9-1761-4a18-8e17-35df9e2bc3a6",
        "severity":  "critical",
        "location":  {
                         "path":  "src/folder/Class.cs",
                         "lines":  {
                                       "begin":  8
                                   }
                     }
    }
    ...
]

.gitlab-ci.yml part (since the report is already pregenerated, powershell script do nothing):

check-code-quality:
  stage: check-code-quality
  only: ['branches']
  dependencies:
    - build
  script: ['powershell.exe .\build\check-code-quality.ps1']
  artifacts:
    when: always
    expire_in: 4 days
    reports:
      codequality: gl-code-quality-report.json

Current result: CI pipeline doesn’t fail. The pipeline has a new job ‘check-code-quality’ and there is a new tab in the pipeline page - Code quality. Unfortunately, the tab has the text: “No code quality issues found.”. In a merge request page there is a new section with the text “Code Quality hasn’t changed.”.

check-code-quality log has the message:

gl-code-quality-report.json: found 1 matching files and directories 
Uploading artifacts as "codequality" to coordinator... ok  id=1684071 responseStatus=201 Created token=64_yasyB

Why I can’t see any issue in Gitlab UI? Please tell me what I’m doing wrong.

I’ve found that my pre-generated file encoding is UTF-8 with BOM and it seems Gitlab doesn’t recognize data with this encoding. When I change encoding to UTF-8 Gitlab shows the code quality widget and all issues described in provided JSON file.