feat: a home page with life
Greeting and summary of the day, the coming week, the latest across my projects, who is online now, the week in numbers (mine and the team's, with a streak), sprints under way, «Retomar», project cards with their activity, what to pick up when nothing is mine and first steps for newcomers. REST (GET /api/me/home), GraphQL (myHome) and MCP (get_my_week). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,18 @@ input AddChecklistItemInput {
|
||||
text: String!
|
||||
}
|
||||
|
||||
"""Something on a day of my week"""
|
||||
type AgendaItem {
|
||||
"""YYYY-MM-DD"""
|
||||
day: String!
|
||||
issueKey: String
|
||||
|
||||
"""ISSUE, SPRINT_END or RELEASE"""
|
||||
kind: String!
|
||||
projectKey: String!
|
||||
title: String!
|
||||
}
|
||||
|
||||
type Aging {
|
||||
issues: [InsightIssue!]!
|
||||
|
||||
@@ -507,6 +519,13 @@ type FieldBreakdown {
|
||||
none: Int!
|
||||
}
|
||||
|
||||
type FirstSteps {
|
||||
calendar: Boolean!
|
||||
invited: Boolean!
|
||||
project: Boolean!
|
||||
ticket: Boolean!
|
||||
}
|
||||
|
||||
type FlowSeries {
|
||||
counts: [Int!]!
|
||||
status: String!
|
||||
@@ -536,6 +555,40 @@ type GitRepository {
|
||||
secret: String
|
||||
}
|
||||
|
||||
"""The home page beyond my work"""
|
||||
type Home {
|
||||
activity: [Activity!]!
|
||||
agenda: [AgendaItem!]!
|
||||
firstSteps: FirstSteps!
|
||||
me: MyWeek!
|
||||
online: [Online!]!
|
||||
projects: [HomeProject!]!
|
||||
sprints: [HomeSprint!]!
|
||||
suggestions: [Suggestion!]!
|
||||
team: TeamWeek!
|
||||
}
|
||||
|
||||
type HomeProject {
|
||||
"""Activity per day, last 14, oldest first"""
|
||||
activity: [Int!]!
|
||||
open: Int!
|
||||
overdue: Int!
|
||||
projectId: ID!
|
||||
sprint: HomeSprintBrief
|
||||
}
|
||||
|
||||
type HomeSprint {
|
||||
projectKey: String!
|
||||
projectName: String!
|
||||
sprint: SprintPulse!
|
||||
}
|
||||
|
||||
type HomeSprintBrief {
|
||||
behind: Boolean!
|
||||
name: String!
|
||||
percent: Int!
|
||||
}
|
||||
|
||||
"""A ticket the dashboard names, with the number that put it there"""
|
||||
type InsightIssue {
|
||||
assignee: UserRef
|
||||
@@ -1035,6 +1088,14 @@ input MyViewCriteriaInput {
|
||||
watching: Boolean
|
||||
}
|
||||
|
||||
type MyWeek {
|
||||
lastWeek: Int!
|
||||
|
||||
"""Days in a row with something finished"""
|
||||
streak: Int!
|
||||
thisWeek: Int!
|
||||
}
|
||||
|
||||
type Notification {
|
||||
actor: UserRef!
|
||||
createdAt: String!
|
||||
@@ -1077,6 +1138,16 @@ type NotificationSettings {
|
||||
pushPublicKey: String
|
||||
}
|
||||
|
||||
"""Someone of my projects on a ticket now"""
|
||||
type Online {
|
||||
at: String!
|
||||
editing: Boolean!
|
||||
issueKey: String
|
||||
issueTitle: String
|
||||
projectKey: String!
|
||||
user: UserRef!
|
||||
}
|
||||
|
||||
type OptionCount {
|
||||
count: Int!
|
||||
value: String!
|
||||
@@ -1348,6 +1419,11 @@ type Query {
|
||||
"""My calendar URL, if I made one"""
|
||||
myCalendarFeed: CalendarFeed
|
||||
|
||||
"""
|
||||
The home page beyond my work: agenda of the week, activity of my projects, the week in numbers, sprints, project cards, suggestions, first steps and who is on what now
|
||||
"""
|
||||
myHome: Home!
|
||||
|
||||
"""
|
||||
Tickets across all my projects: assigned to me (default) or any (e.g. categories [QA])
|
||||
"""
|
||||
@@ -1712,6 +1788,14 @@ type Subscription {
|
||||
sprintChanged(projectId: ID!): SprintChange!
|
||||
}
|
||||
|
||||
type Suggestion {
|
||||
count: Int!
|
||||
|
||||
"""UNASSIGNED, PROPOSALS or QA_WAITING"""
|
||||
kind: String!
|
||||
projectKey: String!
|
||||
}
|
||||
|
||||
"""A group of members: tickets go to it; @team mentions tell them all"""
|
||||
type Team {
|
||||
archived: Boolean!
|
||||
@@ -1738,6 +1822,14 @@ type TeamLoad {
|
||||
user: UserRef!
|
||||
}
|
||||
|
||||
type TeamWeek {
|
||||
lastWeek: Int!
|
||||
|
||||
"""Finished per day, last 14, oldest first"""
|
||||
perDay: [Int!]!
|
||||
thisWeek: Int!
|
||||
}
|
||||
|
||||
type Throughput {
|
||||
count: Int!
|
||||
user: UserRef
|
||||
|
||||
Reference in New Issue
Block a user