feat: dashboard weighs quality and splits work by a list field
The insights reading adds quality (open bugs per priority, bugs created and closed per week for 8 weeks, QA returns and passes per area over 90 days, bugs reported in the 14 days after each of the last three releases) and, for each list custom field, open tickets per option. The dashboard shows both; the field to split by can be picked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -144,6 +144,15 @@ type BoardColumn {
|
||||
total: Int!
|
||||
}
|
||||
|
||||
"""Bugs created and closed in a week"""
|
||||
type BugWeek {
|
||||
closed: Int!
|
||||
created: Int!
|
||||
|
||||
"""Monday (UTC), YYYY-MM-DD"""
|
||||
week: String!
|
||||
}
|
||||
|
||||
type BulkIssueResult {
|
||||
error: String
|
||||
issueId: ID!
|
||||
@@ -478,6 +487,23 @@ type Epic {
|
||||
progress: ChildProgress!
|
||||
}
|
||||
|
||||
"""Bugs reported in the 14 days after a release shipped"""
|
||||
type EscapedBugs {
|
||||
bugs: Int!
|
||||
name: String!
|
||||
releaseId: ID!
|
||||
releasedAt: String!
|
||||
}
|
||||
|
||||
"""Open tickets per option of a list custom field"""
|
||||
type FieldBreakdown {
|
||||
counts: [OptionCount!]!
|
||||
fieldId: String!
|
||||
|
||||
"""Open tickets with no value"""
|
||||
none: Int!
|
||||
}
|
||||
|
||||
type FlowSeries {
|
||||
counts: [Int!]!
|
||||
status: String!
|
||||
@@ -981,6 +1007,16 @@ type NotificationSettings {
|
||||
pushPublicKey: String
|
||||
}
|
||||
|
||||
type OptionCount {
|
||||
count: Int!
|
||||
value: String!
|
||||
}
|
||||
|
||||
type PriorityCount {
|
||||
count: Int!
|
||||
priority: IssuePriority!
|
||||
}
|
||||
|
||||
type Project {
|
||||
"""Takes bug reports and ideas from anyone (while public)"""
|
||||
acceptsProposals: Boolean!
|
||||
@@ -1068,7 +1104,11 @@ type ProjectInsights {
|
||||
|
||||
"""Only when asked with `since`"""
|
||||
changes: ChangesSince
|
||||
|
||||
"""One per active list custom field"""
|
||||
fields: [FieldBreakdown!]!
|
||||
generatedAt: String!
|
||||
quality: Quality!
|
||||
releases: [ReleaseForecast!]!
|
||||
risks: Risks!
|
||||
sprint: SprintPulse
|
||||
@@ -1138,12 +1178,29 @@ input PushSubscriptionInput {
|
||||
p256dh: String!
|
||||
}
|
||||
|
||||
"""QA verdicts per area (90 days)"""
|
||||
type QaByArea {
|
||||
"""Null: no area"""
|
||||
area: String
|
||||
passed: Int!
|
||||
returned: Int!
|
||||
}
|
||||
|
||||
type QaStats {
|
||||
failed: Int!
|
||||
failureRate: Float
|
||||
passed: Int!
|
||||
}
|
||||
|
||||
"""Bugs (types with the bug icon) and QA"""
|
||||
type Quality {
|
||||
"""Last 8 weeks, oldest first"""
|
||||
bugWeeks: [BugWeek!]!
|
||||
escaped: [EscapedBugs!]!
|
||||
openBugsByPriority: [PriorityCount!]!
|
||||
qaByArea: [QaByArea!]!
|
||||
}
|
||||
|
||||
type Query {
|
||||
"""Project activity feed (newest first)"""
|
||||
activity(
|
||||
|
||||
Reference in New Issue
Block a user