我正在使用VSTS中的准备,运行和发布分析任务来运行SonarQube分析并发布结果以构建摘要。前两个步骤成功执行,但发布分析'任务失败,因为它无法获取分析ID的任务。我收到以下错误消息:
无法获取ID' AWE9-wu8-fbfJflhFQ3的任务 - '
VSTS发布分析任务日志:
2018-01-28T18:15:28.1037139Z ##[debug][SQ] Waiting for task 'AWE9-wu8-fbfJflhFQ3-' to complete.
2018-01-28T18:15:28.1037139Z ##[debug][SQ] API GET: '/api/ce/task' with query "{"id":"AWE9-wu8-fbfJflhFQ3-"}"
2018-01-28T18:15:28.1047138Z ##[debug][SQ] Publish task error: [SQ] Could not fetch task for ID 'AWE9-wu8-fbfJflhFQ3-'
2018-01-28T18:15:28.1047138Z ##[debug]task result: Failed
2018-01-28T18:15:28.1047138Z ##[error][SQ] Could not fetch task for ID 'AWE9-wu8-fbfJflhFQ3-'
2018-01-28T18:15:28.1047138Z ##[debug]Processed: ##vso[task.issue type=error;][SQ] Could not fetch task for ID 'AWE9-wu8-fbfJflhFQ3-'
2018-01-28T18:15:28.1047138Z ##[debug]Processed: ##vso[task.complete result=Failed;][SQ] Could not fetch task for ID 'AWE9-wu8-fbfJflhFQ3-'
2018-01-28T18:15:28.3907147Z ##[section]Finishing: Publish Analysis Result
答案 0 :(得分:2)
我看到与Vignesh完全相同的问题。运行SonarQube 6.7.1和最新版本的VSTS SonarQube扩展。
我发现了问题所在;它在SonarQube VSTS扩展(准备,分析和发布)中。
SonarQube扩展使用基本身份验证与SonarQube API端点进行通信,并将令牌用作用户名,密码用作null。 npm包'请求' (至少是最新版本2.83.0),不允许空密码并返回' auth()收到无效的用户或密码'。
要解决此问题,请将密码设置为空字符串。
在SonarSource修复VSTS插件之前,您可以通过手动编辑VSTS构建计算机上的扩展来解决此问题。要编辑的文件是:<build location>\_tasks\SonarQubePublish_291ed61f-1ee4-45d3-b1b0-bf822d9095ef\4.0.0\common\helpers\request.js
在第22行之后添加新行:
options.auth.pass = "";
结果应该是这样的:
var options = {
auth: endpoint.auth
};
if (query) {
options.qs = query;
options.useQuerystring = true;
}
options.auth.pass = "";
request.get(__assign({ method: 'GET', baseUrl: endpoint.url, uri: path, json: true }, options), function (error, response, body) {
我不保证,但这对我有用。
答案 1 :(得分:1)
我们在版本4.0.1中使用TFS扩展,但仍然存在故障。
2018-02-07T10:34:41.7065486Z ##[debug][SQ] Waiting for task 'AWFv1Mcg5obW39zt_5IE' to complete.
2018-02-07T10:34:41.7065486Z ##[debug][SQ] API GET: '/api/ce/task' with query "{"id":"AWFv1Mcdgfdg39zt_5IE"}"
2018-02-07T10:34:41.7690509Z ##[debug][SQ] Publish task error: [SQ] Could not fetch task for ID 'AWFv1Mcdgfdg39zt_5IE'
2018-02-07T10:34:41.7690509Z ##[debug]task result: Failed
2018-02-07T10:34:41.7690509Z ##[error][SQ] Could not fetch task for ID 'AWFv1Mcdgfdg39zt_5IE'
2018-02-07T10:34:41.7690509Z ##[debug]Processed: ##vso[task.issue type=error;][SQ] Could not fetch task for ID 'AWFv1Mcdgfdg39zt_5IE'
2018-02-07T10:34:41.7690509Z ##[debug]Processed: ##vso[task.complete result=Failed;][SQ] Could not fetch task for ID 'AWFv1Mcdgfdg39zt_5IE'
答案 2 :(得分:0)
这确实是由于将空密码传递给请求库造成的。 已部署修复程序(SonarQube扩展的4.0.1版,发布任务的4.0.1版)。见https://jira.sonarsource.com/browse/VSTS-134