Interfaces

About interfaces

Interfaces serve as parent objects from which other objects can inherit.

For example, Lockable is an interface because both Issue and PullRequest objects can be locked. An interface has its own list of named fields that are shared by implementing objects.

For more information, see "Implementation."

Actor

Represents an object which can take actions on GitHub. Typically a User or Bot.

Implemented by

Fields

Name Description

avatarUrl (URI!)

A URL pointing to the actor's public avatar.

Arguments

size (Int)

The size of the resulting square image.

login (String!)

The username of the actor.

resourcePath (URI!)

The HTTP path for this actor.

url (URI!)

The HTTP URL for this actor.


Assignable

An object that can have users assigned to it.

Implemented by

Fields

Name Description

assignees (UserConnection!)

A list of Users assigned to this object.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.


AuditEntry

An entry in the audit log.

Implemented by

Fields

Name Description

action (String!)

The action name.

actor (AuditEntryActor)

The user who initiated the action.

actorIp (String)

The IP address of the actor.

actorLocation (ActorLocation)

A readable representation of the actor's location.

actorLogin (String)

The username of the user who initiated the action.

actorResourcePath (URI)

The HTTP path for the actor.

actorUrl (URI)

The HTTP URL for the actor.

createdAt (PreciseDateTime!)

The time the action was initiated.

operationType (OperationType)

The corresponding operation type for the action.

user (User)

The user affected by the action.

userLogin (String)

For actions involving two users, the actor is the initiator and the user is the affected user.

userResourcePath (URI)

The HTTP path for the user.

userUrl (URI)

The HTTP URL for the user.


Closable

An object that can be closed.

Implemented by

Fields

Name Description

closed (Boolean!)

true if the object is closed (definition of closed may depend on type).

closedAt (DateTime)

Identifies the date and time when the object was closed.


Comment

Represents a comment.

Implemented by

Fields

Name Description

author (Actor)

The actor who authored the comment.

authorAssociation (CommentAuthorAssociation!)

Author's association with the subject of the comment.

body (String!)

The body as Markdown.

bodyHTML (HTML!)

The body rendered to HTML.

bodyText (String!)

The body rendered to text.

createdAt (DateTime!)

Identifies the date and time when the object was created.

createdViaEmail (Boolean!)

Check if this comment was created via an email reply.

editor (Actor)

The actor who edited the comment.

includesCreatedEdit (Boolean!)

Check if this comment was edited and includes an edit with the creation data.

lastEditedAt (DateTime)

The moment the editor made the last edit.

publishedAt (DateTime)

Identifies when the comment was published at.

updatedAt (DateTime!)

Identifies the date and time when the object was last updated.

userContentEdits (UserContentEditConnection)

A list of edits to this content.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

viewerDidAuthor (Boolean!)

Did the viewer author this comment.


Contribution

Represents a contribution a user made on GitHub, such as opening an issue.

Implemented by

Fields

Name Description

isRestricted (Boolean!)

Whether this contribution is associated with a record you do not have access to. For example, your own 'first issue' contribution may have been made on a repository you can no longer access.

occurredAt (DateTime!)

When this contribution was made.

resourcePath (URI!)

The HTTP path for this contribution.

url (URI!)

The HTTP URL for this contribution.

user (User!)

The user who made this contribution.


Deletable

Entities that can be deleted.

Implemented by

Fields

Name Description

viewerCanDelete (Boolean!)

Check if the current viewer can delete this object.


EnterpriseAuditEntryData

Metadata for an audit entry containing enterprise account information.


GitObject

Represents a Git object.

Implemented by

Fields

Name Description

abbreviatedOid (String!)

An abbreviated version of the Git object ID.

commitResourcePath (URI!)

The HTTP path for this Git object.

commitUrl (URI!)

The HTTP URL for this Git object.

oid (GitObjectID!)

The Git object ID.

repository (Repository!)

The Repository the Git object belongs to.


GitSignature

Information about a signature (GPG or S/MIME) on a Commit or Tag.

Implemented by

Fields

Name Description

email (String!)

Email used to sign this object.

isValid (Boolean!)

True if the signature is valid and verified by GitHub.

payload (String!)

Payload for GPG signing object. Raw ODB object without the signature header.

signature (String!)

ASCII-armored signature header from object.

signer (User)

GitHub user corresponding to the email signing this commit.

state (GitSignatureState!)

The state of this signature. VALID if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid.

wasSignedByGitHub (Boolean!)

True if the signature was made with GitHub's signing key.


HovercardContext

An individual line of a hovercard.

Implemented by

Fields

Name Description

message (String!)

A string describing this context.

octicon (String!)

An octicon to accompany this context.


Labelable

An object that can have labels assigned to it.

Implemented by

Fields

Name Description

labels (LabelConnection)

A list of labels associated with the object.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

orderBy (LabelOrder)

Ordering options for labels returned from the connection.


Lockable

An object that can be locked.

Implemented by

Fields

Name Description

activeLockReason (LockReason)

Reason that the conversation was locked.

locked (Boolean!)

true if the object is locked.


MemberStatusable

Entities that have members who can set status messages.

Implemented by

Fields

Name Description

memberStatuses (UserStatusConnection!)

Get the status messages members of this entity have set that are either public or visible only to the organization.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

orderBy (UserStatusOrder)

Ordering options for user statuses returned from the connection.


Minimizable

Entities that can be minimized.

Implemented by

Fields

Name Description

isMinimized (Boolean!)

Returns whether or not a comment has been minimized.

minimizedReason (String)

Returns why the comment was minimized.

viewerCanMinimize (Boolean!)

Check if the current viewer can minimize this object.


Node

An object with an ID.

Implemented by

Fields

Name Description

id (ID!)

ID of the object.


OauthApplicationAuditEntryData

Metadata for an audit entry with action oauth_application.*.

Implemented by

Fields

Name Description

oauthApplicationName (String)

The name of the OAuth Application.

oauthApplicationResourcePath (URI)

The HTTP path for the OAuth Application.

oauthApplicationUrl (URI)

The HTTP URL for the OAuth Application.


OrganizationAuditEntryData

Metadata for an audit entry with action org.*.

Implemented by

Fields

Name Description

organization (Organization)

The Organization associated with the Audit Entry.

organizationName (String)

The name of the Organization.

organizationResourcePath (URI)

The HTTP path for the organization.

organizationUrl (URI)

The HTTP URL for the organization.


ProfileOwner

Represents any entity on GitHub that has a profile page.

Implemented by

Fields

Name Description

anyPinnableItems (Boolean!)

Determine if this repository owner has any items that can be pinned to their profile.

Arguments

type (PinnableItemType)

Filter to only a particular kind of pinnable item.

email (String)

The public profile email.

itemShowcase (ProfileItemShowcase!)

Showcases a selection of repositories and gists that the profile owner has either curated or that have been selected automatically based on popularity.

location (String)

The public profile location.

login (String!)

The username used to login.

name (String)

The public profile name.

pinnableItems (PinnableItemConnection!)

A list of repositories and gists this profile owner can pin to their profile.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

types ([PinnableItemType!])

Filter the types of pinnable items that are returned.

pinnedItems (PinnableItemConnection!)

A list of repositories and gists this profile owner has pinned to their profile.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

types ([PinnableItemType!])

Filter the types of pinned items that are returned.

pinnedItemsRemaining (Int!)

Returns how many more items this profile owner can pin to their profile.

viewerCanChangePinnedItems (Boolean!)

Can the viewer pin repositories and gists to the profile?.

websiteUrl (URI)

The public profile website URL.


ProjectOwner

Represents an owner of a Project.

Implemented by

Fields

Name Description

project (Project)

Find project by number.

Arguments

number (Int!)

The project number to find.

projects (ProjectConnection!)

A list of projects under the owner.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

orderBy (ProjectOrder)

Ordering options for projects returned from the connection.

search (String)

Query to search projects by, currently only searching by name.

states ([ProjectState!])

A list of states to filter the projects by.

projectsResourcePath (URI!)

The HTTP path listing owners projects.

projectsUrl (URI!)

The HTTP URL listing owners projects.

viewerCanCreateProjects (Boolean!)

Can the current viewer create new projects on this owner.


Reactable

Represents a subject that can be reacted on.

Implemented by

Fields

Name Description

databaseId (Int)

Identifies the primary key from the database.

reactionGroups ([ReactionGroup!])

A list of reactions grouped by content left on the subject.

reactions (ReactionConnection!)

A list of Reactions left on the Issue.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

before (String)

Returns the elements in the list that come before the specified cursor.

content (ReactionContent)

Allows filtering Reactions by emoji.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

orderBy (ReactionOrder)

Allows specifying the order in which reactions are returned.

viewerCanReact (Boolean!)

Can user react to this subject.


RepositoryAuditEntryData

Metadata for an audit entry with action repo.*.

Implemented by

Fields

Name Description

repository (Repository)

The repository associated with the action.

repositoryName (String)

The name of the repository.

repositoryResourcePath (URI)

The HTTP path for the repository.

repositoryUrl (URI)

The HTTP URL for the repository.


RepositoryDiscussionAuthor

Represents an author of discussions in repositories.

Implemented by

Fields

Name Description

repositoryDiscussions (DiscussionConnection!)

Discussions this user has started.

Arguments

after (String)

Returns the elements in the list that come after the specified cursor.

answered (Boolean)

Filter discussions to only those that have been answered or not. Defaults to including both answered and unanswered discussions.

before (String)

Returns the elements in the list that come before the specified cursor.

first (Int)

Returns the first n elements from the list.

last (Int)

Returns the last n elements from the list.

orderBy (DiscussionOrder)

Ordering options for discussions returned from the connection.

repositoryId (ID)

Filter discussions to only those in a specific repository.


RepositoryDiscussionCommentAuthor

Represents an author of discussion comments in repositories.

Implemented by