From 3f1368ea8405fad6886fc9bb546718ae385d63d3 Mon Sep 17 00:00:00 2001 From: sb Date: Mon, 12 Apr 2021 20:26:55 +0800 Subject: [PATCH] 1. The person in charge of the issue manually modifies the logic optimization that does not take effect when the webhook is not received; 2. The processing of the time when the Chinese Academy of Sciences changes frequently; --- conf/app.conf | 2 +- controllers/gauss.go | 12 ++++++++++-- taskhandler/createissue.go | 28 ++++++++++++++++++++++++++-- taskhandler/cve.go | 8 ++++++-- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/conf/app.conf b/conf/app.conf index c104096..ff5d437 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -59,7 +59,7 @@ oricvecheck = 0 16 19 * * * getissueflag = 2 getissue = 0 50 10 * * * issueflag = 2 -createissue = 0 18 10 * * * +createissue = 0 18 15 * * * emergissueflag = 2 emergcreateissue = 0 */3 * * * * test = 0/10 * * * * * diff --git a/controllers/gauss.go b/controllers/gauss.go index ddac65c..7ef481b 100644 --- a/controllers/gauss.go +++ b/controllers/gauss.go @@ -369,7 +369,11 @@ func CreateSaDetailData(ird *GaussSaDetailData, osl models.OpenGaussSiteList) { } ird.Theme = osl.Theme ird.Description = osl.Description - ird.Description = strings.ReplaceAll(ird.Description, "\n\n", "
") + if strings.Index(ird.Description, "\n\n") >= 0 { + ird.Description = strings.ReplaceAll(ird.Description, "\n\n", "
") + }else if strings.Index(ird.Description, "\n") >= 0 { + ird.Description = strings.ReplaceAll(ird.Description, "\n", "
") + } ird.CveNumbers = osl.CveNums cveLinkSlice := make([]string, 0) if len(osl.CveNums) > 1 { @@ -653,7 +657,11 @@ func CreateCveDetailData(gdd *GaussCveDetailData, ocl models.OpenGaussCveList) { gdd.CveId = ocl.Id gdd.CveNum = ocl.CveNum gdd.Description = ocl.Description - gdd.Description = strings.ReplaceAll(gdd.Description, "\n\n", "
") + if strings.Index(gdd.Description, "\n\n") >= 0 { + gdd.Description = strings.ReplaceAll(gdd.Description, "\n\n", "
") + }else if strings.Index(gdd.Description, "\n") >= 0 { + gdd.Description = strings.ReplaceAll(gdd.Description, "\n", "
") + } gdd.NvdScore = ocl.NVDScore gdd.UpdateTime = ocl.UpdateTime if len(ocl.CreateTime) > 10 { diff --git a/taskhandler/createissue.go b/taskhandler/createissue.go index 37f131d..3cccab7 100644 --- a/taskhandler/createissue.go +++ b/taskhandler/createissue.go @@ -120,12 +120,20 @@ func CreateIssueToGit(accessToken, owner, path, assignee string, assignee = sia.Assignee } } + assigneeGite := "" if it.TemplateId > 0 && len(it.IssueNum) > 1 { - issueErr, _ := GetGiteeIssue(accessToken, owner, path, it.IssueNum) + issueErr, issueBody := GetGiteeIssue(accessToken, owner, path, it.IssueNum) if issueErr != nil { models.DeleteIssueTemplate(it.TemplateId) models.UpdateIssueStatus(cve, 0) return "", errors.New("Recreate issue") + } else { + if issueBody != nil && issueBody["assignee"] != nil { + assigneeObj := issueBody["assignee"].(map[string]interface{}) + if assigneeObj != nil && assigneeObj["login"] != nil { + assigneeGite = assigneeObj["login"].(string) + } + } } } else { logs.Error("CreateIssueToGit, GetIssueTemplateByColName, templateErr: ", templateErr, ",it: ", it) @@ -164,6 +172,9 @@ func CreateIssueToGit(accessToken, owner, path, assignee string, it.AffectedVersion = brandStr } } + if len(assigneeGite) > 1 { + it.Assignee = assigneeGite + } requestBody := CreateIssueBody(accessToken, owner, path, it.Assignee, cve, sc, OpenEulerScore, score, labels, it, 1, it.IssueType, "", brandArray) if requestBody != "" && len(requestBody) > 1 { @@ -350,12 +361,22 @@ func UpdateIssueToGit(accessToken string, owner string, path string, gaussIssuePath := beego.AppConfig.String("opengauss::gauss_issue_path") path = gaussIssuePath } + assigneeGite := "" if its.IssueNum != "" && len(its.IssueNum) > 0 { - issueErr, _ := GetGiteeIssue(accessToken, owner, path, its.IssueNum) + issueErr, issueBody := GetGiteeIssue(accessToken, owner, path, its.IssueNum) if issueErr != nil { models.DeleteIssueTemplate(its.TemplateId) models.UpdateIssueStatus(cve, 0) return "", errors.New("Recreate issue") + } else { + if issueBody != nil { + if issueBody != nil && issueBody["assignee"] != nil { + assigneeObj := issueBody["assignee"].(map[string]interface{}) + if assigneeObj != nil && assigneeObj["login"] != nil { + assigneeGite = assigneeObj["login"].(string) + } + } + } } } //labels := its.IssueLabel @@ -389,6 +410,9 @@ func UpdateIssueToGit(accessToken string, owner string, path string, if !scok { logs.Error("UpdateIssueToGit, Score does not exist, cve: ", cve) } + if len(assigneeGite) > 1 { + its.Assignee = assigneeGite + } requestBody := CreateIssueBody(accessToken, owner, path, its.Assignee, cve, sc, OpenEulerScore, score, labels, its, 3, its.IssueType, pkgLink, brandArray) logs.Info("UpdateIssueToGit, isssue_body: ", requestBody) diff --git a/taskhandler/cve.go b/taskhandler/cve.go index fd889db..b6819cb 100644 --- a/taskhandler/cve.go +++ b/taskhandler/cve.go @@ -339,9 +339,13 @@ func UpdateCveGroups(cveData models.OriginUpstream, cveRef string, openeulerNum cveDesc models.OriginUpstreamDesc, cveScV3 models.OriginUpstreamImpactScoreV3, goe models.GitPackageInfo, scopeType string, cveScV2 models.OriginUpstreamImpactScoreV2, pkList []string, organizationID int8) (bool, error) { var OpenEulId int64 - CveRes.Description = cveDesc.EnDescription + if len(cveDesc.EnDescription) > 2 { + CveRes.Description = cveDesc.EnDescription + } CveRes.CveVersion = pkList[1] - CveRes.RepairTime = cveData.PublishedDate + if len(CveRes.RepairTime) < 2 && len(cveData.PublishedDate) > 2 { + CveRes.RepairTime = cveData.PublishedDate + } CveRes.PackName = pkList[0] CveRes.CveUrl = cveRef + cveData.CveNum CveRes.CveLevel = cveScV3.CveLevel -- Gitee