繁体   English   中英

Sonarqube v.4 TFS任务“发布质量门结果”引发错误“无法获取ID的任务”

[英]Sonarqube v.4 TFS task “Publish Quality Gate Result” throws error “Could not fetch task for ID”

我们最近升级到SonarQube社区版7.1版(内部版本11001)。 我们还使用了TFS SonarQube扩展版本4.3.1。 “发布质量门结果”构建步骤失败,并显示以下消息:

[SQ] API GET '/api/ce/task' failed, status code was: 404
[SQ] Could not fetch task for ID 'AWRg8urbC5nyQrURbDKL'

这仅在linux build agent上发生。 Windows构建代理不会发生这种情况。 有趣的是,“运行代码分析”步骤的输出似乎指示不同的任务ID:

=========== Run Code Analysis Output ===========
More about the report processing at http://sonarqube:9000/api/ce/task?id=AWSFWzxYmaH45QFNcZ_C

=========== Publish Quality Gate Result Output ===========
[SQ] Could not fetch task for ID 'AWRg8urbC5nyQrURbDKL'

来自“代码分析”步骤的URL有效,并返回一个json响应,其中包含有关任务的所有数据。 如果用发布步骤中的ID替换URL中的ID,则会收到错误json响应,并显示消息“找不到任务的活动”。

如何解决此问题,以使构建步骤不会失败?

更新-已修复

在构建中设置system.debug=true后,我注意到有两个report-task.txt文件正在由“发布质量门结果任务”处理: /agent/_work/2/.sonarqube/out/.sonar/report-task.txt/agent/_work/2/s/.scannerwork/report-task.txt 任务读取这些文件的内容,以获取SQ分析的URL和任务ID。 第二个是从旧版本中遗留下来的,其中包含无效的任务ID。 删除该文件可解决此问题。

如果构建目录包含先前构建遗留下来的report-task.txt文件,则会发生此错误。 通过在构建配置中将Clean选项设置为true ,确保在构建目录中没有report-task.txt文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM