scalar Time scalar Label scalar Hash """Information about pagination in a connection.""" type PageInfo { """When paginating forwards, are there more items?""" hasNextPage: Boolean! """When paginating backwards, are there more items?""" hasPreviousPage: Boolean! """When paginating backwards, the cursor to continue.""" startCursor: String! """When paginating forwards, the cursor to continue.""" endCursor: String! } """Represents an person in a git object.""" type Person { """The name of the person, if known.""" name: String """The email of the person, if known.""" email: String """The login of the person, if known.""" login: String """A string containing the either the name of the person, its login or both""" displayName: String! """An url to an avatar""" avatarUrl: String } type CommentConnection { edges: [CommentEdge!]! nodes: [Comment!]! pageInfo: PageInfo! totalCount: Int! } type CommentEdge { cursor: String! node: Comment! } """Represents a comment on a bug.""" type Comment implements Authored { """The author of this comment.""" author: Person! """The message of this comment.""" message: String! """All media's hash referenced in this comment""" files: [Hash!]! } enum Status { OPEN CLOSED } """An object that has an author.""" interface Authored { """The author of this object.""" author: Person! } type OperationConnection { edges: [OperationEdge!]! nodes: [Operation!]! pageInfo: PageInfo! totalCount: Int! } type OperationEdge { cursor: String! node: Operation! } """An item in the timeline of events""" interface TimelineItem { """The hash of the source operation""" hash: Hash! } """An operation applied to a bug.""" interface Operation { """The hash of the operation""" hash: Hash! """The operations author.""" author: Person! """The datetime when this operation was issued.""" date: Time! } type CreateOperation implements Operation & Authored { """The hash of the operation""" hash: Hash! """The author of this object.""" author: Person! """The datetime when this operation was issued.""" date: Time! title: String! message: String! files: [Hash!]! } type SetTitleOperation implements Operation & Authored { """The hash of the operation""" hash: Hash! """The author of this object.""" author: Person! """The datetime when this operation was issued.""" date: Time! title: String! was: String! } type AddCommentOperation implements Operation & Authored { """The hash of the operation""" hash: Hash! """The author of this object.""" author: Person! """The datetime when this operation was issued.""" date: Time! message: String! files: [Hash!]! } type EditCommentOperation implements Operation & Authored { """The hash of the operation""" hash: Hash! """The author of this object.""" author: Person! """The datetime when this operation was issued.""" date: Time! target: Hash! message: String! files: [Hash!]! } type SetStatusOperation implements Operation & Authored { """The hash of the operation""" hash: Hash! """The author of this object.""" author: Person! """The datetime when this operation was issued.""" date: Time! status: Status! } type LabelChangeOperation implements Operation & Authored { """The hash of the operation""" hash: Hash! """The author of this object.""" author: Person! """The datetime when this operation was issued.""" date: Time! added: [Label!]! removed: [Label!]! } type TimelineItemConnection { edges: [TimelineItemEdge!]! nodes: [TimelineItem!]! pageInfo: PageInfo! totalCount: Int! } type TimelineItemEdge { cursor: String! node: TimelineItem! } type CommentHistoryStep { message: String! date: Time! } type CreateTimelineItem implements TimelineItem { """The hash of the source operation""" hash: Hash! author: Person! message: String! files: [Hash!]! createdAt: Time! lastEdit: Time! edited: Boolean! history: [CommentHistoryStep!]! } type AddCommentTimelineItem implements TimelineItem { """The hash of the source operation""" hash: Hash! author: Person! message: String! files: [Hash!]! createdAt: Time! lastEdit: Time! edited: Boolean! history: [CommentHistoryStep!]! } type LabelChangeTimelineItem implements TimelineItem { """The hash of the source operation""" hash: Hash! author: Person! date: Time! added: [Label!]! removed: [Label!]! } type SetStatusTimelineItem implements TimelineItem { """The hash of the source operation""" hash: Hash! author: Person! date: Time! status: Status! } type SetTitleTimelineItem implements TimelineItem { """The hash of the source operation""" hash: Hash! author: Person! date: Time! title: String! was: String! } """The connection type for Bug.""" type BugConnection { """A list of edges.""" edges: [BugEdge!]! nodes: [Bug!]! """Information to aid in pagination.""" pageInfo: PageInfo! """Identifies the total count of items in the connection.""" totalCount: Int! } """An edge in a connection.""" type BugEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" node: Bug! } type Bug { id: String! humanId: String! status: Status! title: String! labels: [Label!]! author: Person! createdAt: Time! lastEdit: Time! comments( """Returns the elements in the list that come after the specified cursor.""" after: String """Returns the elements in the list that come before the specified cursor.""" before: String """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int ): CommentConnection! timeline( """Returns the elements in the list that come after the specified cursor.""" after: String """Returns the elements in the list that come before the specified cursor.""" before: String """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int ): TimelineItemConnection! operations( """Returns the elements in the list that come after the specified cursor.""" after: String """Returns the elements in the list that come before the specified cursor.""" before: String """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int ): OperationConnection! } type Repository { allBugs( """Returns the elements in the list that come after the specified cursor.""" after: String """Returns the elements in the list that come before the specified cursor.""" before: String """Returns the first _n_ elements from the list.""" first: Int """Returns the last _n_ elements from the list.""" last: Int """A query to select and order bugs""" query: String ): BugConnection! bug(prefix: String!): Bug } type Query { defaultRepository: Repository repository(id: String!): Repository } type Mutation { newBug(repoRef: String, title: String!, message: String!, files: [Hash!]): Bug! addComment(repoRef: String, prefix: String!, message: String!, files: [Hash!]): Bug! changeLabels(repoRef: String, prefix: String!, added: [String!], removed: [String!]): Bug! open(repoRef: String, prefix: String!): Bug! close(repoRef: String, prefix: String!): Bug! setTitle(repoRef: String, prefix: String!, title: String!): Bug! commit(repoRef: String, prefix: String!): Bug! }