package test import ( "autogo/common" "autogo/dbsql" "autogo/models" "fmt" "strings" "github.com/spf13/cast" ) func GetMonkeyResult() { var ano models.MonkeyAnomaly dbsql.SetDSN("Flatincbr.com") db, err := dbsql.GetConn(dbsql.DSN_local) if err != nil { fmt.Println(err) return } defer dbsql.Close(db) db.Model(models.MonkeyAnomaly{}).Last(&ano) var task models.MonkeyTask db.Table(task.TableName()).Model(models.MonkeyTask{}).Where("id = ?", ano.TaskId).Last(&task) bug_type := "Other" if strings.Contains(ano.AnomalyInfos, "FATAL EXCEPTION") { bug_type = "EXCEPTION" } content := "**异常ID:**" + cast.ToString(ano.ID) + " " content += "**关联Monkey报告:** [点击查看](http://qa.flatincbr.work/#/monkey/result/" + cast.ToString(ano.TaskId) + ")" + "\n\n
\n\n" content += "**上报时间:**" + ano.CreateTime.Format("2006-01-02 15:04:05") + "\n\n
\n\n" content += "**应用版本:**" + task.Version + "\n\n
\n\n" content += "**信息预览:**" + "\n\n" title := "【Monkey测试】" ano.JsonReady() for i, v := range ano.Anomalies { for ii, vv := range strings.Split(v, "\n") { content += "> " + vv + "\n" switch bug_type { case "EXCEPTION": // 取第一行和第三行内容拼接 if i == 0 && ii == 0 { _strs := strings.Split(vv, "): ") if len(_strs) > 1 { title += _strs[1] + " - " } } else if i == 0 && ii == 2 { _strs := strings.Split(vv, "): ") if len(_strs) > 1 { title += _strs[1] } } default: if i == 0 && ii == 0 { title += "未知异常 - " + vv } } if ii > 10 { break } } content += "> " + "——————————————————————" + "\n" } content += "> " + "(...更多请查看Monkey报告)" + "\n" content += "\n" bug := common.NewBug("crushu") //task.Project bug.SetTitle(title). SetPlatform(task.Platform). SetContent(content). SetCategory(common.BugCategory_Anomaly) id, err := bug.Create() if err != nil { fmt.Println(err) return } fmt.Println("缺陷创建成功:", "https://www.teambition.com/task/"+id) db.Table(ano.TableName()).Model(models.MonkeyAnomaly{}).Where("id = ?", ano.ID).Update("bug_id", id) }