我在VSTS中使用Prepare、Run和Publish分析任务来运行SonarQube分析,并发布结果以构建摘要。前两步执行成功,但'Publish Analysis‘任务失败,因为它无法获取分析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发布于 2018-01-31 18:08:02
我看到了与Vignesh完全相同的问题。运行SonarQube 6.7.1和最新版本的VSTS SonarQube扩展。
我发现了问题所在;它在SonarQube VSTS扩展(准备、分析和发布)中。
API扩展使用基本身份验证与SonarQube SonarQube端点进行通信,并将令牌用作用户名,将密码用作空。npm包'request‘(至少是最新版本2.83.0)不允许密码为空,并返回'auth() received invalid user or password’。
要解决此问题,应将密码设置为空字符串。
在VSTS插件被SonarSource修复之前,你可以通过在你的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) {我不能保证,但这对我很有效。
发布于 2018-02-07 20:17:39
我们正在使用版本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'发布于 2018-02-02 17:34:04
这确实是由于将空密码传递给请求库造成的。已经部署了一个修复程序( SonarQube扩展的版本4.0.1、发布任务的版本4.0.1 )。请参阅https://jira.sonarsource.com/browse/VSTS-134
https://stackoverflow.com/questions/48492160
复制相似问题