1

在 gitlab 中,我有一个生成代码气候报告的管道,应该显示在 gitlab 小部件中。

报告已成功生成(我添加了cat code-quality.json但我有消息 «Failed to load codeclimate report»。

当我检查 gitlab 页面的源代码时,我看到一个似乎包含导致问题的代码的字符串:

window.gl.mrWidgetData = { … ,"codeclimate":{"head_path":"/needhelp/needhelp-web/-/jobs/123456789/artifacts/download?file_type=codequality\u0026proxy=true","base_path":"/needhelp/needhelp-web/-/jobs/987654321/artifacts/download?file_type=codequality\u0026proxy=true"},"…

当我在没有 的 url 栏中复制/粘贴路径时\u0026proxy=true,文件已成功下载。

这里是.gitlab-ci.yml生成文件的配置。

static analysis:
    stage: test
    interruptible: true
    image:
        name: $CI_QA_IMAGE
        entrypoint: [""]
    script:
        - composer install --prefer-dist --no-progress --classmap-authoritative --quiet
        - php bin/console --env=test cache:warmup
        - |
            ./vendor/bin/phpstan analyze -c phpstan.neon --no-progress --memory-limit 1G --error-format=gitlab > code-quality.json && phpstan_error=0 || phpstan_error=1
            if [[ -n $phpstan_error ]]; then
                echo -e '\e[103;1mphpstan detected errors.\e[0m'
                ls -lh code-quality.json
                cat code-quality.json
                ./vendor/bin/phpstan analyze -c phpstan.ci.neon --no-progress --memory-limit 1G
            else
                echo -e '\e[92;1mphpstan detected no error with levelmax configuration.\e[0m'
            fi
        - bin/console lint:twig --env=test
        - bin/console lint:container --env=test
        - bin/console lint:xliff translations/ --env=test
    artifacts:
        when: always
        reports:
            codequality: ./code-quality.json

你知道这段代码有什么问题吗?或者如果没关系,我应该在哪里解决这个问题?

4

1 回答 1

0

一个可能的原因是 gitlab 解析失败code-quality.json 您可以使用一些工具来验证 json 格式,例如:http: //json.parser.online.fr/

于 2021-12-30T00:27:16.430 回答