Skip to content

Instantly share code, notes, and snippets.

@fraol19
Forked from helfer/github-schema.graphql
Created October 7, 2020 21:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fraol19/2683e9a01f4e91e61f6c6cb8953a8b0b to your computer and use it in GitHub Desktop.
Save fraol19/2683e9a01f4e91e61f6c6cb8953a8b0b to your computer and use it in GitHub Desktop.
# Autogenerated input type of AddComment
input AddCommentInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the subject to modify.
subjectId: ID!
# The contents of the comment.
body: String!
}
# Autogenerated return type of AddComment
type AddCommentPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The edge from the subject's comment connection.
commentEdge: IssueCommentEdge!
# The subject
subject: Node!
# The edge from the subject's timeline connection.
timelineEdge: IssueEventTypesEdge!
}
# Autogenerated input type of AddProjectCard
input AddProjectCardInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the ProjectColumn.
projectColumnId: ID!
# The content of the card. Must be a member of the ProjectCardItem union
contentId: ID
# The note on the card.
note: String
}
# Autogenerated return type of AddProjectCard
type AddProjectCardPayload {
# The edge from the ProjectColumn's card connection.
cardEdge: ProjectCardEdge!
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The ProjectColumn
projectColumn: Project!
}
# Autogenerated input type of AddProjectColumn
input AddProjectColumnInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the project.
projectId: ID!
# The name of the column.
name: String!
}
# Autogenerated return type of AddProjectColumn
type AddProjectColumnPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The edge from the project's column connection.
columnEdge: ProjectColumnEdge!
# The project
project: Project!
}
# Autogenerated input type of AddReaction
input AddReactionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the subject to modify.
subjectId: ID!
# The name of the emoji to react with.
content: ReactionContent!
}
# Autogenerated return type of AddReaction
type AddReactionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The reaction object.
reaction: Reaction!
}
# Represents an 'assigned' event on a given issue or pull request.
type AssignedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the user who performed the 'assigned' event.
subject: User!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Specifies an author for filtering Git commits.
input Author {
# ID of a User to filter by. If non-null, only commits authored by this user
# will be returned. This field takes precedence over emails.
id: ID
# Email addresses to filter by. Commits authored by any of the specified email addresses will be returned.
emails: [String!]
}
# Represents a 'base_ref_force_pushed' event on a given pull request.
type BaseRefForcePushedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies the after commit SHA for the 'base_ref_force_pushed' event.
afterCommit: Commit!
# Identifies the before commit SHA for the 'base_ref_force_pushed' event.
beforeCommit: Commit!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the fully qualified ref name for the 'base_ref_force_pushed' event.
ref: Ref
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a Git blob.
type Blob implements Node, GitObject {
# Byte size of Blob object
byteSize: Int!
id: ID!
# Indicates whether the Blob is binary or text
isBinary: Boolean!
# The Git object ID
oid: GitObjectID!
# The Repository the Git object belongs to
repository: Repository!
}
# Represents a 'closed' event on a given issue or pull request.
type ClosedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies the commit associated with the 'closed' event.
commit: Commit
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a Git commit.
type Commit implements Node, GitObject {
# Authorship details of the commit.
author: GitActor
# Comments made on the commit.
comments(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): CommitCommentConnection!
# Committership details of the commit.
committer: GitActor
# The linear commit history starting from (and including) this commit, in the same order as `git log`.
history(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# If non-null, filters history to only show commits touching files under this path.
path: String
# If non-null, filters history to only show commits with matching authorship.
author: Author
# Allows specifying a beginning time or date for fetching commits.
since: GitTimestamp
# Allows specifying an ending time or date for fetching commits.
until: GitTimestamp
): CommitHistoryConnection!
id: ID!
# The Git commit message
message: String!
# The Git commit message body
messageBody: String!
# The commit message body rendered to HTML.
messageBodyHTML: HTML!
# The Git commit message headline
messageHeadline: String!
# The commit message headline rendered to HTML.
messageHeadlineHTML: HTML!
# The Git object ID
oid: GitObjectID!
# The Repository this commit belongs to
repository: Repository!
# Commit signing information, if present.
signature: GitSignature
# Status information for this commit
status: Status
# Commit's root Tree
tree: Tree!
# The websocket channel ID for live updates.
websocket: String!
}
# Represents a comment on a given Commit.
type CommitComment implements Node, Reactable {
# Identifies the comment body.
body: String!
# Identifies the commit associated with the comment.
commit: Commit!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# Are reaction live updates enabled for this subject.
liveReactionUpdatesEnabled: Boolean!
# Identifies the file path associated with the comment.
path: String
# Identifies the line position associated with the comment.
position: Int
# A list of Reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The websocket channel ID for reaction live updates.
reactionsWebsocket: String!
# Identifies the repository associated with the comment.
repository: Repository!
# Identifies the user who created the comment.
user: User!
# Can user react to this subject
viewerCanReact: Boolean!
}
type CommitCommentConnection {
edges: [CommitCommentEdge]
pageInfo: PageInfo!
totalCount: Int!
}
type CommitCommentEdge {
cursor: String!
node: CommitComment
}
type CommitEdge {
cursor: String!
node: Commit
}
type CommitHistoryConnection {
edges: [CommitEdge]
pageInfo: PageInfo!
path: String
}
# Autogenerated input type of CreateProject
input CreateProjectInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The owner ID to create the project under.
ownerId: ID!
# The name of project.
name: String!
# The description of project.
body: String
}
# Autogenerated return type of CreateProject
type CreateProjectPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The new project.
project: Project!
}
# An ISO-8601 encoded UTC date string.
scalar DateTime
# Autogenerated input type of DeleteProjectCard
input DeleteProjectCardInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The id of the card to delete.
cardId: ID!
}
# Autogenerated return type of DeleteProjectCard
type DeleteProjectCardPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The column the deleted card was in.
column: ProjectColumn!
# The deleted card ID.
deletedCardId: ID!
}
# Autogenerated input type of DeleteProjectColumn
input DeleteProjectColumnInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The id of the column to delete.
columnId: ID!
}
# Autogenerated return type of DeleteProjectColumn
type DeleteProjectColumnPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The deleted column ID.
deletedColumnId: ID!
# The project the deleted column was in.
project: Project!
}
# Autogenerated input type of DeleteProject
input DeleteProjectInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Project ID to update.
projectId: ID!
}
# Autogenerated return type of DeleteProject
type DeleteProjectPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The repository the project was removed from.
owner: ProjectOwner!
}
# Represents a 'demilestoned' event on a given issue or pull request.
type DemilestonedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the milestone title associated with the 'demilestoned' event.
milestoneTitle: String!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'deployed' event on a given issue or pull request.
type DeployedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
# The deployment associated with the 'deployed' event.
deployment: Deployment!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# The ref associated with the 'deployed' event.
ref: Ref
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents triggered deployment instance.
type Deployment implements Node {
# Identifies the commit sha of the deployment.
commit: Commit!
# Identifies when the deployment was created.
createdAt: DateTime!
# Identifies the user who triggered the deployment.
creator: User!
id: ID!
# Idenfifies the repository associated with the deployment.
repository: Repository!
# A list of statuses associated with the deployment.
statuses(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): DeploymentStatusConnection
}
# The possible deployment states.
enum DeploymentState {
# The deployment is pending.
PENDING
# The deployment was successful.
SUCCESS
# The deployment has failed.
FAILURE
# The deployment is inactive.
INACTIVE
# The deployment experienced an error.
ERROR
}
# Describes the status of a given deployment attempt.
type DeploymentStatus implements Node {
# Identifies the user who triggered the deployment.
creator: User!
# Identifies the deployment associated with status.
deployment: Deployment!
# Identifies the description of the deployment.
description: String
# Identifies the environment url of the deployment.
environmentUrl: String
id: ID!
# Identifies the log url of the deployment.
logUrl: String
# Identifies the current state of the deployment.
state: DeploymentState!
}
type DeploymentStatusConnection {
edges: [DeploymentStatusEdge]
pageInfo: PageInfo!
}
type DeploymentStatusEdge {
cursor: String!
node: DeploymentStatus
}
# Represents an actor in a Git commit (ie. an author or committer).
type GitActor {
# The timestamp of the Git action (authoring or committing).
date: GitTimestamp
# The email in the Git commit.
email: String
# The name in the Git commit.
name: String
# The GitHub user corresponding to the email field. Null if no such user exists.
user: User
}
# Represents a Git object.
interface GitObject {
id: ID!
# The Git object ID
oid: GitObjectID!
# The Repository the Git object belongs to
repository: Repository!
}
# A Git object ID.
scalar GitObjectID
# Information about a signature (GPG or S/MIME) on a Commit or Tag.
interface GitSignature {
# Email used to sign this object.
email: String!
# True if the signature is valid and verified by GitHub.
isValid: Boolean!
# Payload for GPG signing object. Raw ODB object without the signature header.
payload: String!
# ASCII-armored signature header from object.
signature: String!
# GitHub user corresponding to the email signing this commit.
signer: User
# The state of this signature. `VALID` if signature is valid and verified by
# GitHub, otherwise represents reason why signature is considered invalid.
state: GitSignatureState!
}
# The state of a Git signature.
enum GitSignatureState {
# Valid signature and verified by GitHub.
VALID
# Invalid signature.
INVALID
# Malformed signature.
MALFORMED_SIG
# Key used for signing not known to GitHub.
UNKNOWN_KEY
# Invalid email used for signing.
BAD_EMAIL
# Email used for signing unverified on GitHub.
UNVERIFIED_EMAIL
# Email used for signing not known to GitHub.
NO_USER
# Unknown signature type.
UNKNOWN_SIG_TYPE
# Unsigned.
UNSIGNED
# Internal error - the GPG verification service is unavailable at the moment.
GPGVERIFY_UNAVAILABLE
# Internal error - the GPG verification service misbehaved.
GPGVERIFY_ERROR
# The usage flags for the key that signed this don't allow signing.
NOT_SIGNING_KEY
# Signing key expired.
EXPIRED_KEY
}
# An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC.
scalar GitTimestamp
# Represents a GPG signature on a Commit or Tag.
type GpgSignature implements GitSignature {
# Email used to sign this object.
email: String!
# True if the signature is valid and verified by GitHub.
isValid: Boolean!
# Hex-encoded ID of the key that signed this object.
keyId: String
# Payload for GPG signing object. Raw ODB object without the signature header.
payload: String!
# ASCII-armored signature header from object.
signature: String!
# GitHub user corresponding to the email signing this commit.
signer: User
# The state of this signature. `VALID` if signature is valid and verified by
# GitHub, otherwise represents reason why signature is considered invalid.
state: GitSignatureState!
}
# Represents a 'head_ref_deleted' event on a given pull request.
type HeadRefDeletedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
# Identifies the ref associated with the `head_ref_deleted` event.
headRef: Ref!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'head_ref_force_pushed' event on a given pull request.
type HeadRefForcePushedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies the after commit SHA for the 'head_ref_force_pushed' event.
afterCommit: Commit!
# Identifies the before commit SHA for the 'head_ref_force_pushed' event.
beforeCommit: Commit!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the fully qualified ref name for the 'head_ref_force_pushed' event.
ref: Ref
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'head_ref_restored' event on a given pull request.
type HeadRefRestoredEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# A string containing HTML code.
scalar HTML
# An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project.
type Issue implements Node, Reactable, Timeline {
# A list of Users assigned to the Issue.
assignees(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): UserConnection!
# Identifies the author of the issue.
author: User!
# Identifies the body of the issue.
body: String!
# A list of comments associated with the Issue.
comments(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): IssueCommentConnection!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# A list of labels associated with the Issue.
labels(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): LabelConnection
# Are reaction live updates enabled for this subject.
liveReactionUpdatesEnabled: Boolean!
# Identifies the milestone associated with the issue.
milestone: Milestone
# Identifies the issue number.
number: Int!
# A list of Users that are participating in the Issue's conversation.
participants(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): UserConnection!
# A list of Reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The websocket channel ID for reaction live updates.
reactionsWebsocket: String!
# Identifies the repository associated with the issue.
repository: Repository!
# Identifies the state of the issue.
state: IssueState!
# A list of events associated with an Issue or PullRequest.
timeline(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering timeline events by a `since` timestamp.
since: String
): IssueEventTypesConnection
# Identifies the issue title.
title: String!
# Can user react to this subject
viewerCanReact: Boolean!
# The websocket channel ID for live updates.
websocket(
# The channel to use.
channel: IssuePubSubTopic!
): String!
}
# Represents a comment on an Issue.
type IssueComment implements Node, Reactable {
# Identifies the author of the comment.
author: User!
# Identifies the comment body.
body: String!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# Identifies the issue associated with the comment.
issue: Issue!
# Are reaction live updates enabled for this subject.
liveReactionUpdatesEnabled: Boolean!
# A list of Reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The websocket channel ID for reaction live updates.
reactionsWebsocket: String!
# The repository associated with this reaction subject.
repository: Repository! @deprecated(reason: "Future reaction subjects may not be scoped under repositories.")
# Can user react to this subject
viewerCanReact: Boolean!
# The websocket channel ID for live updates.
websocket(
# The channel to use.
channel: IssuePubSubTopic!
): String!
}
type IssueCommentConnection {
edges: [IssueCommentEdge]
pageInfo: PageInfo!
}
type IssueCommentEdge {
cursor: String!
node: IssueComment
}
# A list of issues that have been opened in relation to the parent.
type IssueConnection {
edges: [IssueEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
}
type IssueEdge {
cursor: String!
node: Issue
}
# Represents an issue event.
interface IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# The possible issue event types.
enum IssueEventType {
# The issue was assigned to the actor.
ASSIGNED
# The base branch was force pushed by the actor.
BASE_REF_FORCE_PUSHED
# The issue was closed by the actor.
CLOSED
# The issue had a milestone removed from it.
DEMILESTONED
# The branch was deployed by the actor.
DEPLOYED
# The head branch was deleted by the actor.
HEAD_REF_DELETED
# The head branch was force pushed by the actor.
HEAD_REF_FORCE_PUSHED
# The head branch was restored by the actor.
HEAD_REF_RESTORED
# A label was added to the issue.
LABELED
# The issue was locked by the actor.
LOCKED
# The pull request or issue was mentioned by the actor.
MENTIONED
# The issue was merged by the actor.
MERGED
# The issue had a milestone added to it.
MILESTONED
# The issue was referenced from a commit message.
REFERENCED
# The issue's title was changed.
RENAMED
# The issue was reopened by the actor.
REOPENED
# The pull request or issue was subscribed to by the actor.
SUBSCRIBED
# The issue was unassigned to the actor.
UNASSIGNED
# A label was removed from the issue.
UNLABELED
# The issue was unlocked by the actor.
UNLOCKED
# The pull request or issue was unsubscribed from by the actor.
UNSUBSCRIBED
}
# An item that can return different issue event types and comments.
union IssueEventTypes = PullRequestReview | PullRequestReviewThread | PullRequestReviewComment | IssueComment | ClosedEvent | ReopenedEvent | SubscribedEvent | UnsubscribedEvent | MergedEvent | ReferencedEvent | MentionedEvent | AssignedEvent | UnassignedEvent | LabeledEvent | UnlabeledEvent | MilestonedEvent | DemilestonedEvent | RenamedEvent | LockedEvent | UnlockedEvent | DeployedEvent | HeadRefDeletedEvent | HeadRefRestoredEvent | HeadRefForcePushedEvent | BaseRefForcePushedEvent | Commit
type IssueEventTypesConnection {
edges: [IssueEventTypesEdge]
pageInfo: PageInfo!
}
type IssueEventTypesEdge {
cursor: String!
node: IssueEventTypes
}
# The possible PubSub channels for an issue.
enum IssuePubSubTopic {
# The channel ID for observing issue updates.
UPDATED
# The channel ID for marking an issue as read.
MARKASREAD
}
# The possible states of an issue.
enum IssueState {
# An issue that is still open
OPEN
# An issue that has been closed
CLOSED
}
# A label for categorizing Issues or Milestones with a given Repository.
type Label implements Node {
# Identifies the label color.
color: String!
id: ID!
# Identifies the label name.
name: String!
# The repository associated with this label.
repository: Repository!
}
type LabelConnection {
edges: [LabelEdge]
pageInfo: PageInfo!
}
# Represents a 'labeled' event on a given issue or pull request.
type LabeledEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the label associated with the 'labeled' event.
label: Label!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
type LabelEdge {
cursor: String!
node: Label
}
# Represents a 'locked' event on a given issue or pull request.
type LockedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'mentioned' event on a given issue or pull request.
type MentionedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'merged' event on a given pull request.
type MergedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies the commit associated with the `merge` event.
commit: Commit!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the ref associated with the `merge` event.
mergeRef: Ref!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a Milestone object on a given repository.
type Milestone implements Node {
# Identifies the number of issues currently closed in this milestone.
closedIssueCount: Int!
# Identifies the creator of the milestone.
createdBy: User!
# Identifies the description of the milestone.
description: String
# Identifies the due date of the milestone.
dueOn: DateTime
id: ID!
# Identifies the number of issues currently open in this milestone.
openIssueCount: Int!
# The repository associated with this milestone.
repository: Repository!
# Identifies the state of the milestone.
state: MilestoneState!
# Identifies the title of the milestone.
title: String!
}
type MilestoneConnection {
edges: [MilestoneEdge]
pageInfo: PageInfo!
}
# Represents a 'milestoned' event on a given issue or pull request.
type MilestonedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the milestone title associated with the 'milestoned' event.
milestoneTitle: String!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
type MilestoneEdge {
cursor: String!
node: Milestone
}
# The possible states of a milestone.
enum MilestoneState {
# A milestone that is still open.
OPEN
# A milestone that has been closed.
CLOSED
}
# Autogenerated input type of MoveProjectCard
input MoveProjectCardInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The id of the card to move.
cardId: ID!
# The id of the column to move it into.
columnId: ID!
# Place the new card after the card with this id. Pass null to place it at the top.
afterCardId: ID
}
# Autogenerated return type of MoveProjectCard
type MoveProjectCardPayload {
# The new edge of the moved card.
cardEdge: ProjectCardEdge!
# A unique identifier for the client performing the mutation.
clientMutationId: String
}
# Autogenerated input type of MoveProjectColumn
input MoveProjectColumnInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The id of the column to move.
columnId: ID!
# Place the new column after the column with this id. Pass null to place it at the front.
afterColumnId: ID
}
# Autogenerated return type of MoveProjectColumn
type MoveProjectColumnPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The new edge of the moved column.
columnEdge: ProjectColumnEdge!
}
# The root query for implementing GraphQL mutations.
type Mutation {
# Adds a comment to an Issue or Pull Request.
addComment(input: AddCommentInput!): AddCommentPayload
# Adds a card to a ProjectColumn. Either `contentId` or `note` must be provided but **not** both.
addProjectCard(input: AddProjectCardInput!): AddProjectCardPayload
# Adds a column to a Project.
addProjectColumn(input: AddProjectColumnInput!): AddProjectColumnPayload
# Adds a reaction to a subject.
addReaction(input: AddReactionInput!): AddReactionPayload
# Creates a new project.
createProject(input: CreateProjectInput!): CreateProjectPayload
# Deletes a project.
deleteProject(input: DeleteProjectInput!): DeleteProjectPayload
# Deletes a project card.
deleteProjectCard(input: DeleteProjectCardInput!): DeleteProjectCardPayload
# Deletes a project column.
deleteProjectColumn(input: DeleteProjectColumnInput!): DeleteProjectColumnPayload
# Moves a project card to another place.
moveProjectCard(input: MoveProjectCardInput!): MoveProjectCardPayload
# Moves a project column to another place.
moveProjectColumn(input: MoveProjectColumnInput!): MoveProjectColumnPayload
# Removes a reaction from a subject.
removeReaction(input: RemoveReactionInput!): RemoveReactionPayload
# Updates an existing project.
updateProject(input: UpdateProjectInput!): UpdateProjectPayload
# Updates an existing project card.
updateProjectCard(input: UpdateProjectCardInput!): UpdateProjectCardPayload
# Updates an existing project column.
updateProjectColumn(input: UpdateProjectColumnInput!): UpdateProjectColumnPayload
# Updates viewers repository subscription state.
updateSubscription(input: UpdateSubscriptionInput!): UpdateSubscriptionPayload
}
interface Node {
id: ID!
}
# Represents an OAuth application
type OauthApplication {
# A URL pointing to the application's logo.
logoURL(
# The size of the resulting square image.
size: Int
): String!
# The name of the application.
name: String
# The URL to the application's homepage.
url: String
# The user associated with this application.
user: User
}
# Possible directions in which to order a list of items when provided an `orderBy` argument.
enum OrderDirection {
# Specifies an ascending order for a given `orderBy` argument.
ASC
# Specifies a descending order for a given `orderBy` argument.
DESC
}
# An account on GitHub, with one or more owners, that has repositories, members and teams.
type Organization implements Node, RepositoryOwner {
# A URL pointing to the org's public avatar.
avatarURL(
# The size of the resulting square image.
size: Int
): String!
id: ID!
# The username used to login.
login: String!
# The organizations's public profile name.
name: String!
# A list of repositories that the user owns.
repositories(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): RepositoryConnection!
# Find Repository.
repository(
# Name of Repository to find.
name: String!
): Repository
}
# A list of organizations that are connected to the parent.
type OrganizationConnection {
edges: [OrganizationEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
}
type OrganizationEdge {
cursor: String!
node: Organization
}
# Metadata about a connection
type PageInfo {
# When paginating forwards, the cursor to continue
endCursor: String
# Indicates if there are more pages to fetch
hasNextPage: Boolean!
# Indicates if there are any pages prior to the current page
hasPreviousPage: Boolean!
# When paginating backwards, the cursor to continue
startCursor: String
}
# Projects manage issues and pull requests within a repository.
type Project implements Node {
# The project's description body.
body: String
# List of columns in the project
columns(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): ProjectColumnConnection!
# When this project was created.
createdAt: DateTime!
# The user that originally created the project.
creator: User!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# The project's name.
name: String!
# The project's number.
number: Int!
# The project's owner. Currently limited to repositories.
owner: ProjectOwner!
# When this project was last updated.
updatedAt: DateTime!
}
# A card in a project.
type ProjectCard implements Node {
# The card content item
content: ProjectCardItem
# When this card was created.
createdAt: DateTime!
# The user who created this card
creator: User!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# The card note
note: String
# The column that contains this card.
projectColumn: ProjectColumn!
# The state of ProjectCard
state: ProjectCardState
# When this card was last updated.
updatedAt: DateTime!
}
type ProjectCardConnection {
edges: [ProjectCardEdge]
pageInfo: PageInfo!
}
type ProjectCardEdge {
cursor: String!
node: ProjectCard
}
# Types that can be inside Project Cards.
union ProjectCardItem = Issue | PullRequest
# Various content states of a ProjectCard
enum ProjectCardState {
# The card has content only.
CONTENT_ONLY
# The card has a note only.
NOTE_ONLY
# The card is redacted.
REDACTED
}
# A column inside a project.
type ProjectColumn implements Node {
# List of cards in the column
cards(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): ProjectCardConnection!
# When this column was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# The project column's name.
name: String!
# The project that contains this column.
project: Project!
# When this column was last updated.
updatedAt: DateTime!
}
type ProjectColumnConnection {
edges: [ProjectColumnEdge]
pageInfo: PageInfo!
}
type ProjectColumnEdge {
cursor: String!
node: ProjectColumn
}
type ProjectConnection {
edges: [ProjectEdge]
pageInfo: PageInfo!
}
type ProjectEdge {
cursor: String!
node: Project
}
# Represents an owner of a Project.
interface ProjectOwner {
id: ID!
# Find project by number.
project(
# The project number to find.
number: Int!
): Project
# A list of projects under the owner.
projects(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): ProjectConnection
# Can the current viewer create new projects on this owner.
viewerCanCreateProjects: Boolean!
}
# A repository pull request.
type PullRequest implements Node, Timeline {
# The user associated with this pull request.
author: User!
# Identifies the body of the pull request.
body: String!
# A list of comments associated with the pull request.
comments(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): IssueCommentConnection!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# Identifies the pull request number.
number: Int!
# The repository associated with this pull request.
repository: Repository!
# A list of reviews associated with the pull request.
reviews(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): PullRequestReviewConnection
# Identifies the state of the pull request.
state: PullRequestState!
# A list of events associated with an Issue or PullRequest.
timeline(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering timeline events by a `since` timestamp.
since: String
): IssueEventTypesConnection
# Identifies the pull request title.
title: String!
# The websocket channel ID for live updates.
websocket(
# The channel to use.
channel: PullRequestPubSubTopic!
): String!
}
# A list of pull requests that have been opened in relation to the parent.
type PullRequestConnection {
edges: [PullRequestEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
}
type PullRequestEdge {
cursor: String!
node: PullRequest
}
# The possible PubSub channels for a pull request.
enum PullRequestPubSubTopic {
# The channel ID for observing pull request updates.
UPDATED
# The channel ID for marking an pull request as read.
MARKASREAD
}
# A review object for a given pull request.
type PullRequestReview implements Node {
# Identifies the author associated with this pull request review.
author: User!
# Identifies the pull request review body.
body: String
# A list of review comments for the current pull request review.
comments(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): PullRequestReviewCommentConnection!
# Identifies the commit associated with this pull request review.
head: Commit!
id: ID!
# Identifies the pull request associated with this pull request review.
pullRequest: PullRequest!
# Identifies the current state of the pull request review.
state: String
}
# A review comment associated with a given repository pull request.
type PullRequestReviewComment implements Node, Reactable {
# The user associated with this review comment.
author: User!
# The comment body of this review comment.
body: String!
# Identifies the commit associated with the comment.
commit: Commit!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# Are reaction live updates enabled for this subject.
liveReactionUpdatesEnabled: Boolean!
# The line index in the diff to which the comment applies.
position: Int!
# The pull request associated with this review comment.
pullRequest: PullRequest!
# A list of Reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The websocket channel ID for reaction live updates.
reactionsWebsocket: String!
# The repository associated with this review comment.
repository: Repository!
# Can user react to this subject
viewerCanReact: Boolean!
# The websocket channel ID for live updates.
websocket(
# The channel to use.
channel: PullRequestPubSubTopic!
): String!
}
type PullRequestReviewCommentConnection {
edges: [PullRequestReviewCommentEdge]
pageInfo: PageInfo!
}
type PullRequestReviewCommentEdge {
cursor: String!
node: PullRequestReviewComment
}
type PullRequestReviewConnection {
edges: [PullRequestReviewEdge]
pageInfo: PageInfo!
}
type PullRequestReviewEdge {
cursor: String!
node: PullRequestReview
}
# A threaded list of comments for a given pull request.
type PullRequestReviewThread implements Node {
# A list of pull request comments associated with the thread.
comments(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): PullRequestReviewCommentConnection!
id: ID!
# Identifies the pull request associated with this thread.
pullRequest: PullRequest!
}
# The possible states of a pull request.
enum PullRequestState {
# A pull request that is still open.
OPEN
# A pull request that has been closed without being merged.
CLOSED
# A pull request that has been closed by being merged.
MERGED
}
# The query root of GitHub's GraphQL interface.
type Query {
node(id: ID!): Node
# Lookup nodes by a list of IDs.
nodes(
# The list of node IDs.
ids: [ID!]!
): [Node]
# Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object
relay: Query!
# Lookup a repository owner (ie. either a User or an Organization) by login.
repositoryOwner(
# The username to lookup the owner by.
login: String!
): RepositoryOwner
# Perform a search across resources.
search(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# The search string to look for.
query: String!
# The types of search items to search within.
type: SearchType!
): SearchResultItemConnection!
# The currently authenticated user.
viewer: User!
}
# Represents a subject that can be reacted on.
interface Reactable {
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
# Are reaction live updates enabled for this subject.
liveReactionUpdatesEnabled: Boolean!
# A list of Reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The websocket channel ID for reaction live updates.
reactionsWebsocket: String!
# The repository associated with this reaction subject.
repository: Repository! @deprecated(reason: "Future reaction subjects may not be scoped under repositories.")
# Can user react to this subject
viewerCanReact: Boolean!
}
# Types that can have emoji reactions.
union ReactableTypes = CommitComment | Issue | IssueComment | PullRequestReviewComment
# An emoji reaction to a particular piece of content.
type Reaction implements Node {
# Identifies the emoji reaction.
content: ReactionContent!
# When the reaction was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
id: ID!
# Identifies the user who created this reaction.
user: User!
}
# A list of reactions that have been left on the subject.
type ReactionConnection {
edges: [ReactionEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
# Whether or not the authenticated user has left a reaction on the subject.
viewerHasReacted: Boolean!
}
# Emojis that can be attached to Issues, Pull Requests and Comments.
enum ReactionContent {
# Represents the 👍 emoji.
THUMBS_UP
# Represents the 👎 emoji.
THUMBS_DOWN
# Represents the 😄 emoji.
LAUGH
# Represents the 🎉 emoji.
HOORAY
# Represents the 😕 emoji.
CONFUSED
# Represents the ❤️ emoji.
HEART
}
type ReactionEdge {
cursor: String!
node: Reaction
}
# A group of emoji reactions to a particular piece of content.
type ReactionGroup implements Node {
# Identifies the emoji reaction.
content: ReactionContent!
# Identifies when the reaction was created.
createdAt: DateTime
id: ID!
# A list of Reactions in this group.
reactions(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): ReactionConnection!
# The subject that was reacted to.
subject: ReactableTypes!
# Whether or not the authenticated user has left a reaction on the subject.
viewerHasReacted: Boolean!
}
# Ways in which lists of reactions can be ordered upon return.
input ReactionOrder {
# The field in which to order reactions by.
field: ReactionOrderField!
# The direction in which to order reactions by the specified field.
direction: OrderDirection!
}
# A list of fields that reactions can be ordered by.
enum ReactionOrderField {
# Allows ordering a list of reactions by when they were created.
CREATED_AT
}
# Represents a Git reference.
type Ref implements Node {
id: ID!
# The ref name.
name: String!
# The ref's prefix, such as `refs/heads/` or `refs/tags/`.
prefix: String!
# The repository the ref belongs to.
repository: Repository!
# The object the ref points to.
target: GitObject!
}
# Represents a 'referenced' event on a given issue or pull request.
type ReferencedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies the commit associated with the 'referenced' event.
commit: Commit!
# Identifies the repository associated with the 'referenced' event.
commitRepository: Repository!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Autogenerated input type of RemoveReaction
input RemoveReactionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the subject to modify.
subjectId: ID!
# The name of the emoji to react with.
content: ReactionContent!
}
# Autogenerated return type of RemoveReaction
type RemoveReactionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The reaction object.
reaction: Reaction!
}
# Represents a 'renamed' event on a given issue or pull request or pull request.
type RenamedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
# Identifies the current title of the issue or pull request.
currentTitle: String!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the previous title of the issue or pull request.
previousTitle: String!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'reopened' event on a given issue or pull request.
type ReopenedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# A repository contains the content for a project.
type Repository implements Node, ProjectOwner, RepositoryInfo, Subscribable {
# A list of commit comments associated with the repository.
commitComments(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): CommitCommentConnection!
# The description of the repository.
description: String
# The description of the repository rendered to HTML.
descriptionHTML: HTML!
# A list of child repositories.
forks(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): RepositoryConnection!
# Indicates if the repository has issues feature enabled.
hasIssuesEnabled: Boolean!
# Indicates if the repository has wiki feature enabled.
hasWikiEnabled: Boolean!
# The repository's URL.
homepageURL: String
id: ID!
# Identifies if the repository is a fork.
isFork: Boolean!
# Indicates if the repository has been locked or not.
isLocked: Boolean!
# Identifies if the repository is a mirror.
isMirror: Boolean!
# Identifies if the repository is private.
isPrivate: Boolean!
# A list of issues that have been opened in the repository.
issues(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# A list of states to filter the issues by.
states: [IssueState!]
): IssueConnection!
# A list of labels associated with the repository.
labels(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): LabelConnection
# The reason the repository has been locked.
lockReason: RepositoryLockReason
# A list of Users that can be mentioned in the context of the repository.
mentionableUsers(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): UserConnection!
# A list of milestones associated with the repository.
milestones(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): MilestoneConnection
# The repository's original mirror URL.
mirrorURL: String
# The name of the repository.
name: String!
# A Git object in the repository
object(
# The Git object ID
oid: GitObjectID
# A Git revision expression suitable for rev-parse
expression: String
): GitObject
# The User owner of the repository.
owner: RepositoryOwner!
# The repository parent, if this is a fork.
parent: Repository
# Find project by number.
project(
# The project number to find.
number: Int!
): Project
# A list of projects under the owner.
projects(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): ProjectConnection
# A list of pull requests that have been opened in the repository.
pullRequests(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# A list of states to filter the pull requests by.
states: [PullRequestState!]
): PullRequestConnection!
# Fetch a given branch from the repository
ref(
# The branch name with the refs/heads/ prefix
qualifiedName: String!
): Ref
# A list of users who have starred this repository.
stargazers(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Order for connection
orderBy: StarOrder
): StargazerConnection!
# Can the current viewer create new projects on this owner.
viewerCanCreateProjects: Boolean!
# Check if the viewer is ability to change their subscription status.
viewerCanSubscribe: Boolean!
# Returns a boolean indicating whether the viewing user has starred this repository.
viewerHasStarred: Boolean!
# Identifies if the viewer is watching, not watching or ignoring.
viewerSubscription: SubscriptionState
# A list of users watching the repository.
watchers(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): UserConnection!
}
# A list of repositories that are connected to the parent.
type RepositoryConnection {
edges: [RepositoryEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
}
type RepositoryEdge {
cursor: String!
node: Repository
}
# A subset of repository info.
interface RepositoryInfo {
# The description of the repository.
description: String
# The description of the repository rendered to HTML.
descriptionHTML: HTML!
# Indicates if the repository has issues feature enabled.
hasIssuesEnabled: Boolean!
# Indicates if the repository has wiki feature enabled.
hasWikiEnabled: Boolean!
# The repository's URL.
homepageURL: String
# Identifies if the repository is a fork.
isFork: Boolean!
# Indicates if the repository has been locked or not.
isLocked: Boolean!
# Identifies if the repository is a mirror.
isMirror: Boolean!
# Identifies if the repository is private.
isPrivate: Boolean!
# The reason the repository has been locked.
lockReason: RepositoryLockReason
# The repository's original mirror URL.
mirrorURL: String
# The name of the repository.
name: String!
# The User owner of the repository.
owner: RepositoryOwner!
}
# An invitation for a user to be added to a repository.
type RepositoryInvitation implements Node {
id: ID!
# The user who received the invitation.
invitee: User!
# The user who created the invitation.
inviter: User!
# The Repository the user is invited to.
repository: RepositoryInvitationRepository!
}
# A subset of repository info shared with potential collaborators.
type RepositoryInvitationRepository implements RepositoryInfo {
# The description of the repository.
description: String
# The description of the repository rendered to HTML.
descriptionHTML: HTML!
# Indicates if the repository has issues feature enabled.
hasIssuesEnabled: Boolean!
# Indicates if the repository has wiki feature enabled.
hasWikiEnabled: Boolean!
# The repository's URL.
homepageURL: String
# Identifies if the repository is a fork.
isFork: Boolean!
# Indicates if the repository has been locked or not.
isLocked: Boolean!
# Identifies if the repository is a mirror.
isMirror: Boolean!
# Identifies if the repository is private.
isPrivate: Boolean!
# The reason the repository has been locked.
lockReason: RepositoryLockReason
# The repository's original mirror URL.
mirrorURL: String
# The name of the repository.
name: String!
# The User owner of the repository.
owner: RepositoryOwner!
}
# The possible reasons a given repsitory could be in a locked state.
enum RepositoryLockReason {
# The repository is locked due to a move.
MOVING
# The repository is locked due to a billing related reason.
BILLING
# The repository is locked due to a rename.
RENAME
# The repository is locked due to a migration.
MIGRATING
}
# Represents an owner of a Repository.
interface RepositoryOwner {
# A URL pointing to the owner's public avatar.
avatarURL: String!
id: ID!
# The username used to login.
login: String!
# A list of repositories that the user owns.
repositories(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): RepositoryConnection!
# Find Repository.
repository(
# Name of Repository to find.
name: String!
): Repository
}
# The results of a search.
union SearchResultItem = Issue | PullRequest | Repository | User | Organization
# A list of results that matched against a search query.
type SearchResultItemConnection {
# The number of pieces of code that matched the search query.
codeCount: Int!
edges: [SearchResultItemEdge]
# The number of issues that matched the search query.
issueCount: Int!
pageInfo: PageInfo!
# The number of repositories that matched the search query.
repositoryCount: Int!
# The number of users that matched the search query.
userCount: Int!
# The number of wiki pages that matched the search query.
wikiCount: Int!
}
type SearchResultItemEdge {
cursor: String!
node: SearchResultItem
}
# Represents the individual results of a search.
enum SearchType {
# Returns results matching issues in repositories.
ISSUE
# Returns results matching repositories.
REPOSITORY
# Returns results matching users on GitHub.
USER
}
type StargazerConnection {
edges: [StargazerEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
type StargazerEdge {
cursor: String!
node: User!
starredAt: DateTime!
}
# Ways in which star connections can be ordered.
input StarOrder {
# The field in which to order nodes by.
field: StarOrderField!
# The direction in which to order nodes.
direction: OrderDirection!
}
# Properties by which star connections can be ordered.
enum StarOrderField {
# Allows ordering a list of stars by when they were created.
STARRED_AT
}
# A type that can be starred
union StarrableTypes = Repository
type StarredRepositoryConnection {
edges: [StarredRepositoryEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
}
type StarredRepositoryEdge {
cursor: String!
node: Repository!
starredAt: DateTime!
}
# Represents a commit status.
type Status implements Node {
# The commit this status is attached to.
commit: Commit
# Looks up an individual status context by context name.
context(
# The context name.
name: String!
): StatusContext
# The individual status contexts for this commit.
contexts: [StatusContext!]!
id: ID!
# The combined commit status.
state: StatusState!
}
# Represents an individual commit status context
type StatusContext implements Node {
# The application that created this status context, if any.
application: OauthApplication
# This commit this status context is attached to.
commit: Commit
# The name of this status context.
context: String!
# When this status context was created.
createdAt: DateTime
# The user that created this status context.
creator: User
# The description for this status context.
description: String
id: ID!
# The state of this status context.
state: StatusState!
# The URL for this status context.
targetURL: String
}
# The possible commit status states.
enum StatusState {
# Status is expected.
EXPECTED
# Status is errored.
ERROR
# Status is failing.
FAILURE
# Status is pending.
PENDING
# Status is successful.
SUCCESS
}
# Entities that can be subscribed to for web and email notifications.
interface Subscribable {
# Check if the viewer is ability to change their subscription status.
viewerCanSubscribe: Boolean!
# Identifies if the viewer is watching, not watching or ignoring.
viewerSubscription: SubscriptionState
}
# Represents a 'subscribed' event on a given issue or pull request.
type SubscribedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# The possible states of a subscription.
enum SubscriptionState {
# The User is only notified when particpating or @mentioned.
UNSUBSCRIBED
# The User is notified of all conversations.
SUBSCRIBED
# The User is never notified.
IGNORED
}
# Represents a Git tag.
type Tag implements Node, GitObject {
id: ID!
# The Git tag message
message: String!
# The Git tag name
name: String!
# The Git object ID
oid: GitObjectID!
# The Repository the Git object belongs to
repository: Repository!
# The Git object the tag points to
target: GitObject!
}
# Represents all of the events visible to a user from an Issue or PullRequest timeline.
interface Timeline {
# A list of events associated with an Issue or PullRequest.
timeline(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering timeline events by a `since` timestamp.
since: String
): IssueEventTypesConnection
}
# Represents a Git tree.
type Tree implements Node, GitObject {
# A list of tree entries.
entries: [TreeEntry!]
id: ID!
# The Git object ID
oid: GitObjectID!
# The Repository the Git object belongs to
repository: Repository!
}
# Represents a Git tree entry.
type TreeEntry {
# Entry file mode.
mode: Int!
# Entry file name.
name: String!
# Entry file object.
object: GitObject!
# Entry file Git object ID.
oid: GitObjectID!
# The Repository the tree entry belongs to
repository: Repository!
# Entry file type.
type: String!
}
# Represents a 'unassigned' event on a given issue or pull request.
type UnassignedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the user who performed the 'unassigned' event.
subject: User!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents an unknown signature on a Commit or Tag.
type UnknownSignature implements GitSignature {
# Email used to sign this object.
email: String!
# True if the signature is valid and verified by GitHub.
isValid: Boolean!
# Payload for GPG signing object. Raw ODB object without the signature header.
payload: String!
# ASCII-armored signature header from object.
signature: String!
# GitHub user corresponding to the email signing this commit.
signer: User
# The state of this signature. `VALID` if signature is valid and verified by
# GitHub, otherwise represents reason why signature is considered invalid.
state: GitSignatureState!
}
# Represents a 'unlabeled' event on a given issue or pull request.
type UnlabeledEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the label associated with the 'unlabeled' event.
label: Label!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'unlocked' event on a given issue or pull request.
type UnlockedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Represents a 'unsubscribed' event on a given issue or pull request.
type UnsubscribedEvent implements Node, IssueEvent {
# Identifies the actor (user) associated with the event.
actor: User!
# Identifies when the event was created.
createdAt: DateTime!
id: ID!
# Identifies the issue associated with the event.
issue: Issue!
# Identifies the repository associated with the event.
repository: Repository!
# Identifies the event type associated with the event.
type: IssueEventType!
}
# Autogenerated input type of UpdateProjectCard
input UpdateProjectCardInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The ProjectCard ID to update.
projectCardId: ID!
# The note of ProjectCard.
note: String!
}
# Autogenerated return type of UpdateProjectCard
type UpdateProjectCardPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The updated ProjectCard.
projectCard: ProjectCard!
}
# Autogenerated input type of UpdateProjectColumn
input UpdateProjectColumnInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The ProjectColumn ID to update.
projectColumnId: ID!
# The name of project column.
name: String!
}
# Autogenerated return type of UpdateProjectColumn
type UpdateProjectColumnPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The updated project column.
projectColumn: ProjectColumn!
}
# Autogenerated input type of UpdateProject
input UpdateProjectInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Project ID to update.
projectId: ID!
# The name of project.
name: String!
# The description of project.
body: String
}
# Autogenerated return type of UpdateProject
type UpdateProjectPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The updated project.
project: Project!
}
# Autogenerated input type of UpdateSubscription
input UpdateSubscriptionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the subscribable object to modify.
subscribableId: ID!
# The new state of the subscription.
state: SubscriptionState!
}
# Autogenerated return type of UpdateSubscription
type UpdateSubscriptionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The input subscribable entity.
subscribable: Subscribable!
}
# An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string.
scalar URI
# A user is an individual's account on GitHub that owns repositories and can make new content.
type User implements Node, RepositoryOwner {
# A URL pointing to the user's public avatar.
avatarURL(
# The size of the resulting square image.
size: Int
): String!
# The user's public profile bio.
bio: String
# The user's public profile company.
company: String
# A list of repositories that the user recently contributed to.
contributedRepositories(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): RepositoryConnection!
# When this user signed up.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: "Raw database IDs should be exposed with caution.")
# The user's public profile email.
email: String
# A list of users the given user is followed by.
followers(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): UserConnection!
# A list of users the given user is following.
following(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): UserConnection!
id: ID!
# Whether or not this user is a participant in the GitHub Security Bug Bounty.
isBountyHunter: Boolean!
# Whether or not this user is a GitHub Developer Program member.
isDeveloperProgramMember: Boolean!
# Whether or not this user is a GitHub employee.
isEmployee: Boolean!
# Whether or not this user is a site administrator.
isSiteAdmin: Boolean!
# Whether or not this user is the viewing user.
isViewer: Boolean!
# The user's public profile location.
location: String
# The username used to login.
login: String!
# The user's public profile name.
name: String
# A list of organizations the user belongs to.
organizations(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): OrganizationConnection!
# A list of pull requests assocated with this user.
pullRequests(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): PullRequestConnection!
# A list of repositories that the user owns.
repositories(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): RepositoryConnection!
# Find Repository.
repository(
# Name of Repository to find.
name: String!
): Repository
# Repositories the user has starred.
starredRepositories(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
# Filters starred repositories to only return repositories owned by the viewer.
ownedByViewer: Boolean
# Order for connection
orderBy: StarOrder
): StarredRepositoryConnection!
# Whether or not the viewer is able to follow the user.
viewerCanFollow: Boolean!
# Whether or not this user is followed by the viewer.
viewerIsFollowing: Boolean!
# A list of repositories the given user is watching.
watching(
# Returns the first _n_ elements from the list.
first: Int
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the last _n_ elements from the list.
last: Int
# Returns the elements in the list that come before the specified global ID.
before: String
): RepositoryConnection!
# A URL pointing to the user's public website/blog.
websiteURL: String
}
# A list of users that are connected to the parent.
type UserConnection {
edges: [UserEdge]
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int
}
type UserEdge {
cursor: String!
node: User
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment