From a3a8c03ad45432fc9cfed27860968d9b28a84d83 Mon Sep 17 00:00:00 2001 From: zhangjianjun Date: Mon, 7 Feb 2022 17:52:51 +0800 Subject: [PATCH] Repeated webhook events are discarded directly without prompting in the comment area --- cve-vulner-manager/conf/app.conf | 2 +- cve-vulner-manager/conf/product_app.conf | 2 +- cve-vulner-manager/controllers/hook.go | 12 +++++++----- cve-vulner-manager/models/modeldb.go | 18 ++++++++++-------- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/cve-vulner-manager/conf/app.conf b/cve-vulner-manager/conf/app.conf index d5002ad..90347e3 100644 --- a/cve-vulner-manager/conf/app.conf +++ b/cve-vulner-manager/conf/app.conf @@ -178,7 +178,7 @@ submit_issue_branch = "openEuler-20.03-LTS,openEuler-20.03-LTS-SP1,openEuler-20. de_duplication_date = -300 # table num yaml_config_table = "cve_open_euler_repo_origin:1,cve_open_guss_yaml:2,cve_mind_spore_yaml:3,cve_open_lookeng_yaml:4" -bot_cu_account = "openeuler-ci-bot,opengauss-bot,mindspore-ci-bot,mindspore_ci,i-robot,CVE" +bot_cu_account = "openeuler-ci-bot,opengauss-bot,mindspore-ci-bot,mindspore_ci,i-robot,CVE,I-am-a-robot" [reflink] diff --git a/cve-vulner-manager/conf/product_app.conf b/cve-vulner-manager/conf/product_app.conf index adf8882..1791105 100644 --- a/cve-vulner-manager/conf/product_app.conf +++ b/cve-vulner-manager/conf/product_app.conf @@ -170,7 +170,7 @@ submit_issue_branch = "openEuler-20.03-LTS,openEuler-20.03-LTS-SP1,openEuler-20. de_duplication_date = -100 # table num yaml_config_table = "cve_open_euler_repo_origin:1,cve_open_guss_yaml:2,cve_mind_spore_yaml:3,cve_open_lookeng_yaml:4" -bot_cu_account = "openeuler-ci-bot,opengauss-bot,mindspore-ci-bot,mindspore_ci,i-robot,CVE" +bot_cu_account = "openeuler-ci-bot,opengauss-bot,mindspore-ci-bot,mindspore_ci,i-robot,CVE,I-am-a-robot" [reflink] diff --git a/cve-vulner-manager/controllers/hook.go b/cve-vulner-manager/controllers/hook.go index f0191e6..079729e 100644 --- a/cve-vulner-manager/controllers/hook.go +++ b/cve-vulner-manager/controllers/hook.go @@ -226,12 +226,13 @@ func (c *HookEventControllers) handleIssue() { owner, token := common.GetOwnerAndToken(organizationID) issueTmp := models.IssueTemplate{IssueNum: issueHook.Iid, IssueId: issueHook.Issue.Id} err := models.GetIssueTemplateByColName(&issueTmp, "issue_num", "issue_id") - if err == nil { + if err == nil && issueTmp.TemplateId > 0 { vc := models.VulnCenter{CveId: issueTmp.CveId} vcErr := models.GetVulnCenterByCid(&vc, "CveId") - if vcErr == nil && vc.OrganizationID == organizationID { - cc := fmt.Sprintf(CommentRepeatIssue, "@"+cuAccount, issueTmp.CveNum, issueTmp.IssueNum) - taskhandler.AddCommentToIssue(cc, issueTmp.IssueNum, owner, issueTmp.Repo, token) + if vcErr == nil && vc.CveId > 0 && vc.OrganizationID == organizationID { + //cc := fmt.Sprintf(CommentRepeatIssue, "@"+cuAccount, issueTmp.CveNum, issueTmp.IssueNum) + //taskhandler.AddCommentToIssue(cc, issueTmp.IssueNum, owner, issueTmp.Repo, token) + logs.Error("Duplicate webhook data is discarded directly, cveNum:", vc.CveNum, ",packName: ", vc.RepoName) return } } @@ -3182,7 +3183,8 @@ func DelOrgIssue(issueHook *models.IssuePayload, organizationID int8) { if issueType == CIssueType || strings.HasPrefix(issueTitle, "CVE") { // Data deletion record idr := models.IssueDeleteRecord{IssueId: issueHook.Issue.Id, IssueNum: issueNumber, - DelAssignee: issueHook.Sender.Login, Owner: nameSpace, Repo: repoPath, DeleteTime: common.GetCurTime()} + DelAssignee: issueHook.Sender.Login, Owner: nameSpace, Repo: repoPath, + DeleteTime: common.GetCurTime(), OrganizationID: organizationID, CveNum: issueTitle} models.InsertIssueDeleteRecord(&idr) item := models.GiteOriginIssue{IssueId: issueHook.Issue.Id, Url: issueHook.Issue.HtmlUrl, Number: issueNumber, State: issueState, Title: issueTitle, diff --git a/cve-vulner-manager/models/modeldb.go b/cve-vulner-manager/models/modeldb.go index c0e51c2..db9eac1 100644 --- a/cve-vulner-manager/models/modeldb.go +++ b/cve-vulner-manager/models/modeldb.go @@ -984,14 +984,16 @@ type CommunityYamlConfig struct { } type IssueDeleteRecord struct { - IssueDeleteId int64 `orm:"pk;auto;column(id)"` - IssueId int64 `orm:"column(issue_id)" description:"issue的id"` - IssueNum string `orm:"size(64);column(issue_num)" description:"issue编号"` - DelAssignee string `orm:"size(128);column(issue_assignee)" description:"issue所属责任人"` - IssueLabel string `orm:"size(256);column(issue_label)" description:"issue标签, CVE/FIXED, CVE/UNFIXED"` - Owner string `orm:"size(128);column(owner)" description:"仓库地址"` - Repo string `orm:"size(512);column(repo)" description:"仓库路径"` - DeleteTime string `orm:"size(32);column(delete_time);null"` + IssueDeleteId int64 `orm:"pk;auto;column(id)"` + IssueId int64 `orm:"column(issue_id)" description:"issue的id"` + IssueNum string `orm:"size(64);column(issue_num)" description:"issue编号"` + CveNum string `orm:"size(256);column(cve_num);index" description:"cve编号"` + OrganizationID int8 `orm:"default(1);column(organizate_id)" description:"默认值为:1,1:来源openEuler;2:来源opengauss;3:来源mindspore;4:来源openLooKeng"` + DelAssignee string `orm:"size(128);column(issue_assignee)" description:"issue所属责任人"` + IssueLabel string `orm:"size(256);column(issue_label)" description:"issue标签, CVE/FIXED, CVE/UNFIXED"` + Owner string `orm:"size(128);column(owner)" description:"仓库地址"` + Repo string `orm:"size(512);column(repo)" description:"仓库路径"` + DeleteTime string `orm:"size(32);column(delete_time);null"` } func CreateDb() bool { -- Gitee