我写了一个Bamboo插件,用于自定义测试结果解析(来自日志文件)。对于插件,我使用了this tutorial。
日志/结果文件是通过ssh从上一个任务中获取的(是的,它可以工作,我查看了该文件夹)。但我的插件找不到文件:
Could not find test result reports in the $somewhere/xml-data/build-dir/LEAS-LD-SOT directory.
在上述路径中有文件:
% ls -lah $somewhere/xml-data/build-dir/LEAS-LD-SOT
total 120
drwxr-xr-x 4 $user $group 136 27 Mär 15:27 .
drwxr-xr-x 9 $user $group 306 27 Mär 02:45 ..
-rw-r--r-- 1 $user $group 59043 27 Mär 15:27 test.log
代码部分:
public class MyTestParserTask implements TaskType {
private final TestCollationService testCollationService;
public MyTestParserTask(TestCollationService testCollationService) {
this.testCollationService = testCollationService;
}
@Override
public TaskResult execute(TaskContext taskContext) throws TaskException {
TaskResultBuilder taskResultBuilder = TaskResultBuilder.newBuilder(taskContext);
testCollationService.collateTestResults(taskContext, "*", new MyTestReportCollector());
return taskResultBuilder.checkTestFailures().build();
}
}
对于模式,我尝试了多种变体(*.log
,**.log
,*
,/*.log
,...),但没有成功。
仅供参考:MyTestReportCollector
类具有此功能:
@Override
public Set<String> getSupportedFileExtensions() {
return Sets.newHashSet("log");
}
在atlassian门票中,我找到了一个可能的解决方案。有人建议通过脚本将文件的时间戳更改为较新的(+ 1s)。我尝试了这个并正确设置了时间戳,但这种改变没有帮助。