JenkinsFlutter分析结果

chy5wohz  于 2023-08-03  发布在  Jenkins
关注(0)|答案(1)|浏览(88)

有没有办法显示

flutter analyze

字符串
其在Jenkins构建期间在结果页面上执行,例如,此图适用于Android:
x1c 0d1x的数据
我们可以将Warnings-NG插件与recordIssues-函数一起使用吗?该功能如何配置?

anauzrmj

anauzrmj1#

我通过配置一个定制的Groovy Parser解决了这个问题,如下所述:
1.后藤Manage Jenkins -> System -> Section“Groovy Based Warnings Parsers”
1.点击添加
1.配置:
名称和ID是任意值。正则表达式:^\[(.*)\] (.*) \((.*):(\d*):(\d*)\)Map脚本:

import edu.hm.hafner.analysis.Severity

String message = matcher.group(2)
String file = matcher.group(3)

return builder
    .setFileName(file)
    .setMessage(message)
    .setCategory("flutter")
    .setLineStart(Integer.parseInt(matcher.group(4)))
    .setSeverity(Severity.WARNING_NORMAL) 
    .buildOptional();

字符串
日志消息示例:

[info] Missing a required trailing comma (/Users/user/Development/CICD/template-flutter/lib/main.dart:55:13)
[info] Missing a required trailing comma (/Users/user/Development/CICD/template-flutter/lib/main.dart:105:16)


保存更改。

使用Groovy解析器:

Jenkinsfile中,为声明性管道添加以下内容:

stage('Static Analysis'){
    steps {
        sh label: 'flutter analyze', script: 'fvm flutter analyze --write=flutter_analyze_report.txt || true'
    }
    post {
        always {
            recordIssues(tools: [groovyScript(id: 'flutter-analyze', name: 'Flutter Analyze', parserId: '<the id you have configured in system settings>', pattern: '**/flutter_analyze_report.txt')])
        }
    }
}

相关问题