Detail tests with "report"s
Some checks are pending
continuous-integration/drone/push Build is running
Some checks are pending
continuous-integration/drone/push Build is running
This commit is contained in:
parent
e90d55c07e
commit
2ee8901d8c
2 changed files with 55 additions and 6 deletions
38
works.go
38
works.go
|
@ -374,10 +374,16 @@ func declareAPIAdminWorksRoutes(router *gin.RouterGroup) {
|
|||
})
|
||||
}
|
||||
|
||||
type UserTraceItem struct {
|
||||
Title string `json:"title"`
|
||||
Status string `json:"status"`
|
||||
}
|
||||
|
||||
type UserTrace struct {
|
||||
Title string `json:"title"`
|
||||
Status string `json:"status"`
|
||||
Logs []*drone.Line `json:"logs"`
|
||||
Title string `json:"title"`
|
||||
Status string `json:"status"`
|
||||
Logs []*drone.Line `json:"logs,omitempty"`
|
||||
Items []UserTraceItem `json:"items,omitempty"`
|
||||
}
|
||||
|
||||
func declareAPIAuthWorksRoutes(router *gin.RouterGroup) {
|
||||
|
@ -495,6 +501,32 @@ func declareAPIAuthWorksRoutes(router *gin.RouterGroup) {
|
|||
Status: step.Status,
|
||||
Logs: keeptLogs,
|
||||
})
|
||||
} else if step.Name == "Check steps" {
|
||||
result, err := client.Logs(slug[0], slug[1], int(buildn), stage.Number, step.Number)
|
||||
if err != nil {
|
||||
log.Printf("An error occurs when retrieving logs from Drone (%s/%s/%d/%d/%d): %s", slug[0], slug[1], buildn, stage.Number, step.Number, err.Error())
|
||||
continue
|
||||
}
|
||||
|
||||
items := []UserTraceItem{}
|
||||
for _, line := range result {
|
||||
if strings.HasPrefix(line.Message, "report:") {
|
||||
tmp := strings.Split(strings.TrimSpace(line.Message), ":")
|
||||
if len(tmp) != 3 {
|
||||
continue
|
||||
}
|
||||
items = append(items, UserTraceItem{
|
||||
Title: tmp[1],
|
||||
Status: tmp[2],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
traces = append(traces, UserTrace{
|
||||
Title: step.Name,
|
||||
Status: step.Status,
|
||||
Items: items,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue