Commit cf7774bb authored by 智勇's avatar 智勇

sonar FAILED

parent 6ec2e20d
...@@ -90,29 +90,31 @@ const callback = async (ctx) => { ...@@ -90,29 +90,31 @@ const callback = async (ctx) => {
logger.info(data.projectName, data.branchName, data.branchHash, '的分析任务执行信息:', ceTaskResult.task.status, ceTaskResult) logger.info(data.projectName, data.branchName, data.branchHash, '的分析任务执行信息:', ceTaskResult.task.status, ceTaskResult)
if (ceTaskResult.task.status === 'SUCCESS') { if (ceTaskResult.task.status === 'SUCCESS') {
executionTimeMs = ceTaskResult.task.executionTimeMs
flag = false flag = false
executionTimeMs = ceTaskResult.task.executionTimeMs
const res = await awaitRequest({
url: `${config.sonarHost}/api/project_branches/list?project=${data.projectName}`,
method: 'GET',
})
logger.info('analysisResult', data.projectName, JSON.stringify(res))
for (const i of res.branches) {
if (i.name === 'master' && i.status.qualityGateStatus !== 'OK' && data.mail !== 'noMail') {
logger.info(data.projectName, '触发质量阀,发送邮件通知')
sendFailMail(data, i, executionTimeMs)
}
data.sonarResult = i.status.qualityGateStatus
data.analysisDate = i.analysisDate
}
} }
if (ceTaskResult.task.status === 'FAILED') { if (ceTaskResult.task.status === 'FAILED') {
executionTimeMs = ceTaskResult.task.executionTimeMs
data.sonarResult = ceTaskResult.task.status
flag = false flag = false
data.sonarResult = ceTaskResult.task.status
Object.assign(data, { error: ceTaskResult.task.errorMessage })
sendExceptionMail(data)
} }
await sleep(2 * 1000) await sleep(2 * 1000)
} }
const res = await awaitRequest({
url: `${config.sonarHost}/api/project_branches/list?project=${data.projectName}`,
method: 'GET',
})
logger.info('analysisResult', data.projectName, JSON.stringify(res))
for (const i of res.branches) {
if (i.name === 'master' && i.status.qualityGateStatus !== 'OK' && data.mail !== 'noMail') {
logger.info(data.projectName, '触发质量阀,发送邮件通知')
sendFailMail(data, i, executionTimeMs)
}
data.sonarResult = i.status.qualityGateStatus
data.analysisDate = i.analysisDate
}
data.buildResult = 'success' data.buildResult = 'success'
await saveData(data) await saveData(data)
ctx.body = ctx.ok(data) ctx.body = ctx.ok(data)
...@@ -160,13 +162,9 @@ const getSonarJob = async (ctx) => { ...@@ -160,13 +162,9 @@ const getSonarJob = async (ctx) => {
} }
const fetchQuality = async (ctx) => { const fetchQuality = async (ctx) => {
const req = ctx.request.body const query = ctx.request.body
const query = { queryHandle(query)
createdAt: { $gte: req.startDate, $lte: req.endDate },
}
if (req.repository) {
query.projectName = req.repository
}
// const data = await SonarJob.getSonarJobGroup(query); // const data = await SonarJob.getSonarJobGroup(query);
let data = await SonarJob.getSonarJob(query, { let data = await SonarJob.getSonarJob(query, {
...@@ -201,7 +199,7 @@ const fetchQuality = async (ctx) => { ...@@ -201,7 +199,7 @@ const fetchQuality = async (ctx) => {
for (const i in data) { for (const i in data) {
if (Object.prototype.hasOwnProperty.call(data, i)) { if (Object.prototype.hasOwnProperty.call(data, i)) {
res.push({ res.push({
repository: i, projectName: i,
success: data[i].success, success: data[i].success,
fail: data[i].fail, fail: data[i].fail,
exception: data[i].exception, exception: data[i].exception,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment