|
|
@@ -16,7 +16,9 @@ import cn.seecoder.web.model.vo.commit.CommitVO;
|
|
|
import cn.seecoder.web.model.vo.hook.SonarResultHookVO;
|
|
|
import cn.seecoder.web.service.bug_list.BugListService;
|
|
|
import cn.seecoder.web.service.tree.TreeNodeService;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.google.gson.JsonArray;
|
|
|
import com.nju.edu.gitlab.SeecoderGitlabApi;
|
|
|
import com.nju.edu.gitlab.vo.DiffVO;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -251,11 +253,13 @@ public class CommitServiceImpl implements CommitService {
|
|
|
commitQualityPO.setCommitHash(commitHash);
|
|
|
commitQualityPO.setCheckResult(sonarResultHookVO.getQualityGate().getStatus());
|
|
|
|
|
|
+ // convert time to java date
|
|
|
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
|
|
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
|
|
|
Date date = simpleDateFormat.parse(sonarResultHookVO.getChangedAt());
|
|
|
commitQualityPO.setCheckTime(date);
|
|
|
|
|
|
+ // convert localhost url to available url
|
|
|
String url = sonarResultHookVO.getProject().getUrl();
|
|
|
// http://localhost:9000/dashboard?id\u003dsonart-4194-sonar-sonar-83700f2455cef5ca81ee0561d1a5509229ee0bcb
|
|
|
// to
|
|
|
@@ -265,6 +269,12 @@ public class CommitServiceImpl implements CommitService {
|
|
|
commitQualityPO.setResultUrl(url);
|
|
|
|
|
|
commitQualityPO.setSonarProjectKey(sonarResultHookVO.getProject().getKey());
|
|
|
+
|
|
|
+ // set quality conditions json
|
|
|
+ String conditionsArrayJson = JSONArray.toJSONString(sonarResultHookVO.getQualityGate().getConditions());
|
|
|
+ commitQualityPO.setQualityConditionsJson(conditionsArrayJson);
|
|
|
+
|
|
|
+ // update to database
|
|
|
CommitQualityPO lastCommitQualityPO = commitQualityMapper.selectByCommitHash(commitHash);
|
|
|
if (lastCommitQualityPO != null) {
|
|
|
commitQualityPO.setId(lastCommitQualityPO.getId());
|
|
|
@@ -291,6 +301,8 @@ public class CommitServiceImpl implements CommitService {
|
|
|
commitQualityVO.setCheckResult(convertCommitCheckResult(commitQualityPO.getCheckResult()));
|
|
|
commitQualityVO.setCheckTime(commitQualityPO.getCheckTime());
|
|
|
commitQualityVO.setResultUrl(commitQualityPO.getResultUrl());
|
|
|
+ List<CommitQualityVO.QualityCondition> qualityConditions = JSONArray.parseArray(commitQualityPO.getQualityConditionsJson(), CommitQualityVO.QualityCondition.class);
|
|
|
+ commitQualityVO.setQualityConditions(qualityConditions);
|
|
|
return commitQualityVO;
|
|
|
} else {
|
|
|
CommitQualityVO commitQualityVO = new CommitQualityVO();
|