如何在GitHub Actions YAML中正确换行解决yamllint行过长报错?
解决YAML中JSON text字段行过长的问题
你遇到的核心问题是:YAML中的JSON字符串里text字段内容太长,触发了yamllint的行长度限制。之前尝试的字符串拼接方式不符合JSON/YAML语法,所以无效,这里提供两种可行方案:
方案1:拆分JSON字符串并保留换行标识
直接在YAML中将text字段的长字符串拆分为多行,用\n表示换行,确保每行长度不超过yamllint的限制:
raw: >- { "@type": "MessageCard", "@context": "http://schema.org/extensions", "title": "Smoke test run on ${{ env.AOS_TEST_ENV }}", "text": "Status: **${{ env.RESULTS }}** \n\n--- \n\n[GitHub link](${{ env.GITHUB_URL }}) \n\n--- \n\n[TestRail link](${{ env.TR_RUN_URL }}) \n\n--- \n\n**Project-version: ${{ env.PROJECT }}**", "themeColor": "00FF00" }
YAML允许双引号包裹的字符串跨行书写,每行的\n会被保留在最终的JSON字符串中,既解决行过长问题,又保证text字段的格式符合需求。
方案2:利用GitHub Actions表达式拼接字符串
通过GitHub Actions的表达式语法,将长字符串拆分为多个小片段拼接,每个片段单独占一行:
raw: >- { "@type": "MessageCard", "@context": "http://schema.org/extensions", "title": "Smoke test run on ${{ env.AOS_TEST_ENV }}", "text": "${{ 'Status: **' + env.RESULTS + '**\n\n---\n\n' + '[GitHub link](' + env.GITHUB_URL + ')\n\n---\n\n' + '[TestRail link](' + env.TR_RUN_URL + ')\n\n---\n\n' + '**Project-version: ' + env.PROJECT + '**' }}", "themeColor": "00FF00" }
这种方式完全拆分了长行,同时通过表达式拼接生成完整的text内容,适配GitHub Actions的环境变量引用规则。
内容的提问来源于stack exchange,提问作者Mar tix
相关产品推荐
相关产品推荐

