Difference between revisions of "GitHub-GraphQL"
Line 62: | Line 62: | ||
Where I now need a function "buildRuntimeWiring" ... sigh ... | Where I now need a function "buildRuntimeWiring" ... sigh ... | ||
I filed an issue at https://github.com/graphql-java/graphql-java/issues/978 since I am stuck here. | I filed an issue at https://github.com/graphql-java/graphql-java/issues/978 since I am stuck here. | ||
+ | |||
+ | = Using GraphQL from Java = | ||
+ | see e.g.: | ||
+ | * https://platform.github.community/t/how-to-access-the-graphql-using-java/1280 (using curl - not recommended ...) | ||
= SDL/IDL = | = SDL/IDL = |
Revision as of 19:00, 16 March 2018
Trying to use the GitHub GraphQL API with GrapQL-Java i asked the following Stackoverflow question:
While waiting for an answer I found:
And therefore decided to download the MacOS package of npm from:
Which installed Node.js v8.10.0 and npm v5.6.0 on my system I could then install
npm install -g get-graphql-schema
after fixing the permission errors of the first attempt with
cd /usr/local/lib
sudo chmod g+w node_modules/
sudo chgrp staff node_modules/
Which lead to the error message
get-graphql-schema https://api.github.com/graphql > githubschema.graphql TypeError: Cannot read property '__schema' of undefined at Object.buildClientSchema (/usr/local/lib/node_modules/get-graphql-schema/node_modules/graphql/utilities/buildClientSchema.js:48:43) at /usr/local/lib/node_modules/get-graphql-schema/dist/index.js:89:54 at step (/usr/local/lib/node_modules/get-graphql-schema/dist/index.js:33:23) at Object.next (/usr/local/lib/node_modules/get-graphql-schema/dist/index.js:14:53) at fulfilled (/usr/local/lib/node_modules/get-graphql-schema/dist/index.js:5:58) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7)
Trying https://api.github.com/graphql directly I get:
{
"message": "This endpoint requires you to be authenticated.",
"documentation_url": "https://developer.github.com/v3/#authentication"
}
adding the authorization also did not work. So I tried:
curl -H "Authorization: bearer 524a..." -H "Accept: application/vnd.github.v4.idl" https://api.github.com/graphql -o githubschemav4.idl
which gives a strange json result with verbatim \n newlines in it. At least this is closer to what I expected. I had to fix the newlines according to
- https://unix.stackexchange.com/questions/140763/replace-n-by-a-newline-in-sed-portably/140769#140769
And got the SDL/IDL below.
Using the IDL
I tried to follow http://graphql-java.readthedocs.io/en/v7/schema.html to use the IDL file.
File schemaFile=new File("src/test/data/githubschema.idl");
SchemaParser schemaParser = new SchemaParser();
SchemaGenerator schemaGenerator = new SchemaGenerator();
TypeDefinitionRegistry typeRegistry = schemaParser.parse(schemaFile);
RuntimeWiring wiring = buildRuntimeWiring();
GraphQLSchema graphQLSchema = schemaGenerator.makeExecutableSchema(typeRegistry, wiring);
Where I now need a function "buildRuntimeWiring" ... sigh ... I filed an issue at https://github.com/graphql-java/graphql-java/issues/978 since I am stuck here.
Using GraphQL from Java
see e.g.:
- https://platform.github.community/t/how-to-access-the-graphql-using-java/1280 (using curl - not recommended ...)
SDL/IDL
{
"data": "# Autogenerated input type of AcceptTopicSuggestion
input AcceptTopicSuggestionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The name of the suggested topic.
name: String!
# The Node ID of the repository.
repositoryId: ID!
}
# Autogenerated return type of AcceptTopicSuggestion
type AcceptTopicSuggestionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The accepted topic.
topic: Topic!
}
# Represents an object which can take actions on GitHub. Typically a User or Bot.
interface Actor {
# A URL pointing to the actor's public avatar.
avatarUrl(
# The size of the resulting square image.
size: Int
): URI!
# The username of the actor.
login: String!
# The HTTP path for this actor.
resourcePath: URI!
# The HTTP URL for this actor.
url: URI!
}
# Autogenerated input type of AddComment
input AddCommentInput {
# The contents of the comment.
body: String!
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the subject to modify.
subjectId: ID!
}
# 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: IssueTimelineItemEdge!
}
# Autogenerated input type of AddProjectCard
input AddProjectCardInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The content of the card. Must be a member of the ProjectCardItem union
contentId: ID
# The note on the card.
note: String
# The Node ID of the ProjectColumn.
projectColumnId: ID!
}
# 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 name of the column.
name: String!
# The Node ID of the project.
projectId: ID!
}
# 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 AddPullRequestReviewComment
input AddPullRequestReviewCommentInput {
# The text of the comment.
body: String!
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The SHA of the commit to comment on.
commitOID: GitObjectID
# The comment id to reply to.
inReplyTo: ID
# The relative path of the file to comment on.
path: String
# The line index in the diff to comment on.
position: Int
# The Node ID of the review to modify.
pullRequestReviewId: ID!
}
# Autogenerated return type of AddPullRequestReviewComment
type AddPullRequestReviewCommentPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The newly created comment.
comment: PullRequestReviewComment!
# The edge from the review's comment connection.
commentEdge: PullRequestReviewCommentEdge!
}
# Autogenerated input type of AddPullRequestReview
input AddPullRequestReviewInput {
# The contents of the review body comment.
body: String
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The review line comments.
comments: [DraftPullRequestReviewComment]
# The commit OID the review pertains to.
commitOID: GitObjectID
# The event to perform on the pull request review.
event: PullRequestReviewEvent
# The Node ID of the pull request to modify.
pullRequestId: ID!
}
# Autogenerated return type of AddPullRequestReview
type AddPullRequestReviewPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The newly created pull request review.
pullRequestReview: PullRequestReview!
# The edge from the pull request's review connection.
reviewEdge: PullRequestReviewEdge!
}
# Autogenerated input type of AddReaction
input AddReactionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The name of the emoji to react with.
content: ReactionContent!
# The Node ID of the subject to modify.
subjectId: ID!
}
# Autogenerated return type of AddReaction
type AddReactionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The reaction object.
reaction: Reaction!
# The reactable subject.
subject: Reactable!
}
# Autogenerated input type of AddStar
input AddStarInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Starrable ID to star.
starrableId: ID!
}
# Autogenerated return type of AddStar
type AddStarPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The starrable.
starrable: Starrable!
}
# Represents a 'added_to_project' event on a given issue or pull request.
type AddedToProjectEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# An object that can have users assigned to it.
interface Assignable {
# A list of Users assigned to this object.
assignees(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
}
# Represents an 'assigned' event on any assignable object.
type AssignedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the assignable associated with the event.
assignable: Assignable!
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the user who was assigned.
user: User
}
# Represents a 'base_ref_changed' event on a given issue or pull request.
type BaseRefChangedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# Represents a 'base_ref_force_pushed' event on a given pull request.
type BaseRefForcePushedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# 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 the date and time when the object was created.
createdAt: DateTime!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
# Identifies the fully qualified ref name for the 'base_ref_force_pushed' event.
ref: Ref
}
# Represents a Git blame.
type Blame {
# The list of ranges from a Git blame.
ranges: [BlameRange!]!
}
# Represents a range of information from a Git blame.
type BlameRange {
# Identifies the recency of the change, from 1 (new) to 10 (old). This is
# calculated as a 2-quantile and determines the length of distance between the
# median age of all the changes in the file and the recency of the current
# range's change.
age: Int!
# Identifies the line author
commit: Commit!
# The ending line for the range
endingLine: Int!
# The starting line for the range
startingLine: Int!
}
# Represents a Git blob.
type Blob implements GitObject, Node {
# An abbreviated version of the Git object ID
abbreviatedOid: String!
# Byte size of Blob object
byteSize: Int!
# The HTTP path for this Git object
commitResourcePath: URI!
# The HTTP URL for this Git object
commitUrl: URI!
id: ID!
# Indicates whether the Blob is binary or text
isBinary: Boolean!
# Indicates whether the contents is truncated
isTruncated: Boolean!
# The Git object ID
oid: GitObjectID!
# The Repository the Git object belongs to
repository: Repository!
# UTF8 text data or null if the Blob is binary
text: String
}
# A special type of user which takes actions on behalf of GitHub Apps.
type Bot implements Actor, Node, UniformResourceLocatable {
# A URL pointing to the GitHub App's public avatar.
avatarUrl(
# The size of the resulting square image.
size: Int
): URI!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# The username of the actor.
login: String!
# The HTTP path for this bot
resourcePath: URI!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this bot
url: URI!
}
# An object that can be closed
interface Closable {
# `true` if the object is closed (definition of closed may depend on type)
closed: Boolean!
# Identifies the date and time when the object was closed.
closedAt: DateTime
}
# Represents a 'closed' event on any `Closable`.
type ClosedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Object that was closed.
closable: Closable!
# Object which triggered the creation of this event.
closer: Closer
# Identifies the commit associated with the 'closed' event.
commit: Commit @deprecated(reason: \"`ClosedEvent` may be associated with other objects than a commit. Use ClosedEvent.closer instead. Removal on 2018-07-01 UTC.\")
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
}
# The object which triggered a `ClosedEvent`.
union Closer = Commit | PullRequest
# The Code of Conduct for a repository
type CodeOfConduct {
# The body of the CoC
body: String
# The key for the CoC
key: String!
# The formal name of the CoC
name: String!
# The path to the CoC
url: URI
}
# Collaborators affiliation level with a subject.
enum CollaboratorAffiliation {
# All collaborators the authenticated user can see.
ALL
# All collaborators with permissions to an organization-owned subject, regardless of organization membership status.
DIRECT
# All outside collaborators of an organization-owned subject.
OUTSIDE
}
# Types that can be inside Collection Items.
union CollectionItemContent = Organization | Repository | User
# Represents a comment.
interface Comment {
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# The comment body as Markdown.
body: String!
# The comment body rendered to HTML.
bodyHTML: HTML!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# The actor who edited the comment.
editor: Actor
id: ID!
# The moment the editor made the last edit
lastEditedAt: DateTime
# Identifies when the comment was published at.
publishedAt: DateTime
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
}
# A comment author association with repository.
enum CommentAuthorAssociation {
# Author has been invited to collaborate on the repository.
COLLABORATOR
# Author has previously committed to the repository.
CONTRIBUTOR
# Author has not previously committed to GitHub.
FIRST_TIMER
# Author has not previously committed to the repository.
FIRST_TIME_CONTRIBUTOR
# Author is a member of the organization that owns the repository.
MEMBER
# Author has no association with the repository.
NONE
# Author is the owner of the repository.
OWNER
}
# The possible errors that will prevent a user from updating a comment.
enum CommentCannotUpdateReason {
# You must be the author or have write access to this repository to update this comment.
INSUFFICIENT_ACCESS
# Unable to create comment because issue is locked.
LOCKED
# You must be logged in to update this comment.
LOGIN_REQUIRED
# Repository is under maintenance.
MAINTENANCE
# At least one email address must be verified to update this comment.
VERIFIED_EMAIL_REQUIRED
}
# Represents a 'comment_deleted' event on a given issue or pull request.
type CommentDeletedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# Represents a Git commit.
type Commit implements GitObject, Node, Subscribable {
# An abbreviated version of the Git object ID
abbreviatedOid: String!
# The number of additions in this commit.
additions: Int!
# Authorship details of the commit.
author: GitActor
# Check if the committer and the author match.
authoredByCommitter: Boolean!
# The datetime when this commit was authored.
authoredDate: DateTime!
# Fetches `git blame` information.
blame(
# The file whose Git blame information you want.
path: String!
): Blame!
# The number of changed files in this commit.
changedFiles: Int!
# Comments made on the commit.
comments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): CommitCommentConnection!
# The HTTP path for this Git object
commitResourcePath: URI!
# The HTTP URL for this Git object
commitUrl: URI!
# The datetime when this commit was committed.
committedDate: DateTime!
# Check if commited via GitHub web UI.
committedViaWeb: Boolean!
# Committership details of the commit.
committer: GitActor
# The number of deletions in this commit.
deletions: Int!
# The linear commit history starting from (and including) this commit, in the same order as `git log`.
history(
# Returns the elements in the list that come after the specified global ID.
after: String
# If non-null, filters history to only show commits with matching authorship.
author: CommitAuthor
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# If non-null, filters history to only show commits touching files under this path.
path: String
# 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 parents of a commit.
parents(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): CommitConnection!
# The datetime when this commit was pushed.
pushedDate: DateTime
# The Repository this commit belongs to
repository: Repository!
# The HTTP path for this commit
resourcePath: URI!
# Commit signing information, if present.
signature: GitSignature
# Status information for this commit
status: Status
# Returns a URL to download a tarball archive for a repository.
# Note: For private repositories, these links are temporary and expire after five minutes.
tarballUrl: URI!
# Commit's root Tree
tree: Tree!
# The HTTP path for the tree of this commit
treeResourcePath: URI!
# The HTTP URL for the tree of this commit
treeUrl: URI!
# The HTTP URL for this commit
url: URI!
# Check if the viewer is able to change their subscription status for the repository.
viewerCanSubscribe: Boolean!
# Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
viewerSubscription: SubscriptionState!
# Returns a URL to download a zipball archive for a repository.
# Note: For private repositories, these links are temporary and expire after five minutes.
zipballUrl: URI!
}
# Specifies an author for filtering Git commits.
input CommitAuthor {
# Email addresses to filter by. Commits authored by any of the specified email addresses will be returned.
emails: [String!]
# 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
}
# Represents a comment on a given Commit.
type CommitComment implements Comment, Deletable, Node, Reactable, RepositoryNode, Updatable, UpdatableComment {
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# Identifies the comment body.
body: String!
# Identifies the comment body rendered to HTML.
bodyHTML: HTML!
# Identifies the commit associated with the comment, if the commit exists.
commit: Commit
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The actor who edited the comment.
editor: Actor
id: ID!
# The moment the editor made the last edit
lastEditedAt: DateTime
# Identifies the file path associated with the comment.
path: String
# Identifies the line position associated with the comment.
position: Int
# Identifies when the comment was published at.
publishedAt: DateTime
# A list of reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The repository associated with this node.
repository: Repository!
# The HTTP path permalink for this commit comment.
resourcePath: URI!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL permalink for this commit comment.
url: URI!
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Check if the current viewer can delete this object.
viewerCanDelete: Boolean!
# Can user react to this subject
viewerCanReact: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
}
# The connection type for CommitComment.
type CommitCommentConnection {
# A list of edges.
edges: [CommitCommentEdge]
# A list of nodes.
nodes: [CommitComment]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type CommitCommentEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: CommitComment
}
# A thread of comments on a commit.
type CommitCommentThread implements Node, RepositoryNode {
# The comments that exist in this thread.
comments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): CommitCommentConnection!
# The commit the comments were made on.
commit: Commit!
id: ID!
# The file the comments were made on.
path: String
# The position in the diff for the commit that the comment was made on.
position: Int
# The repository associated with this node.
repository: Repository!
}
# The connection type for Commit.
type CommitConnection {
# A list of edges.
edges: [CommitEdge]
# A list of nodes.
nodes: [Commit]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type CommitEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Commit
}
# The connection type for Commit.
type CommitHistoryConnection {
edges: [CommitEdge]
# A list of nodes.
nodes: [Commit]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a 'converted_note_to_issue' event on a given issue or pull request.
type ConvertedNoteToIssueEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# Autogenerated input type of CreateProject
input CreateProjectInput {
# The description of project.
body: String
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The name of project.
name: String!
# The owner ID to create the project under.
ownerId: ID!
}
# Autogenerated return type of CreateProject
type CreateProjectPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The new project.
project: Project!
}
# Represents a mention made by one issue or pull request to another.
type CrossReferencedEvent implements Node, UniformResourceLocatable {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Reference originated in a different repository.
isCrossRepository: Boolean!
# Identifies when the reference was made.
referencedAt: DateTime!
# The HTTP path for this pull request.
resourcePath: URI!
# Issue or pull request that made the reference.
source: ReferencedSubject!
# Issue or pull request to which the reference was made.
target: ReferencedSubject!
# The HTTP URL for this pull request.
url: URI!
# Checks if the target will be closed when the source is merged.
willCloseTarget: Boolean!
}
# An ISO-8601 encoded date string.
scalar Date
# An ISO-8601 encoded UTC date string.
scalar DateTime
# Autogenerated input type of DeclineTopicSuggestion
input DeclineTopicSuggestionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The name of the suggested topic.
name: String!
# The reason why the suggested topic is declined.
reason: TopicSuggestionDeclineReason!
# The Node ID of the repository.
repositoryId: ID!
}
# Autogenerated return type of DeclineTopicSuggestion
type DeclineTopicSuggestionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The declined topic.
topic: Topic!
}
# The possible default permissions for repositories.
enum DefaultRepositoryPermissionField {
# Can read, write, and administrate repos by default
ADMIN
# No access
NONE
# Can read repos by default
READ
# Can read and write repos by default
WRITE
}
# Entities that can be deleted.
interface Deletable {
# Check if the current viewer can delete this object.
viewerCanDelete: Boolean!
}
# Autogenerated input type of DeleteProjectCard
input DeleteProjectCardInput {
# The id of the card to delete.
cardId: ID!
# A unique identifier for the client performing the mutation.
clientMutationId: String
}
# 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 or organization the project was removed from.
owner: ProjectOwner!
}
# Autogenerated input type of DeletePullRequestReview
input DeletePullRequestReviewInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the pull request review to delete.
pullRequestReviewId: ID!
}
# Autogenerated return type of DeletePullRequestReview
type DeletePullRequestReviewPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The deleted pull request review.
pullRequestReview: PullRequestReview!
}
# Represents a 'demilestoned' event on a given issue or pull request.
type DemilestonedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the milestone title associated with the 'demilestoned' event.
milestoneTitle: String!
# Object referenced by event.
subject: MilestoneItem!
}
# A repository deploy key.
type DeployKey implements Node {
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# The deploy key.
key: String!
# Whether or not the deploy key is read only.
readOnly: Boolean!
# The deploy key title.
title: String!
# Whether or not the deploy key has been verified.
verified: Boolean!
}
# The connection type for DeployKey.
type DeployKeyConnection {
# A list of edges.
edges: [DeployKeyEdge]
# A list of nodes.
nodes: [DeployKey]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type DeployKeyEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: DeployKey
}
# Represents a 'deployed' event on a given pull request.
type DeployedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The deployment associated with the 'deployed' event.
deployment: Deployment!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
# The ref associated with the 'deployed' event.
ref: Ref
}
# Represents triggered deployment instance.
type Deployment implements Node {
# Identifies the commit sha of the deployment.
commit: Commit
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the actor who triggered the deployment.
creator: Actor
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The environment to which this deployment was made.
environment: String
id: ID!
# The latest status of this deployment.
latestStatus: DeploymentStatus
# Extra information that a deployment system might need.
payload: String
# Identifies the repository associated with the deployment.
repository: Repository!
# The current state of the deployment.
state: DeploymentState
# A list of statuses associated with the deployment.
statuses(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): DeploymentStatusConnection
}
# The connection type for Deployment.
type DeploymentConnection {
# A list of edges.
edges: [DeploymentEdge]
# A list of nodes.
nodes: [Deployment]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type DeploymentEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Deployment
}
# The possible states in which a deployment can be.
enum DeploymentState {
# The pending deployment was not updated after 30 minutes.
ABANDONED
# The deployment is currently active.
ACTIVE
# An inactive transient deployment.
DESTROYED
# The deployment experienced an error.
ERROR
# The deployment has failed.
FAILURE
# The deployment is inactive.
INACTIVE
# The deployment is pending.
PENDING
}
# Describes the status of a given deployment attempt.
type DeploymentStatus implements Node {
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the actor who triggered the deployment.
creator: Actor
# Identifies the deployment associated with status.
deployment: Deployment!
# Identifies the description of the deployment.
description: String
# Identifies the environment URL of the deployment.
environmentUrl: URI
id: ID!
# Identifies the log URL of the deployment.
logUrl: URI
# Identifies the current state of the deployment.
state: DeploymentStatusState!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
}
# The connection type for DeploymentStatus.
type DeploymentStatusConnection {
# A list of edges.
edges: [DeploymentStatusEdge]
# A list of nodes.
nodes: [DeploymentStatus]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type DeploymentStatusEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: DeploymentStatus
}
# The possible states for a deployment status.
enum DeploymentStatusState {
# The deployment experienced an error.
ERROR
# The deployment has failed.
FAILURE
# The deployment is inactive.
INACTIVE
# The deployment is pending.
PENDING
# The deployment was successful.
SUCCESS
}
# Autogenerated input type of DismissPullRequestReview
input DismissPullRequestReviewInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The contents of the pull request review dismissal message.
message: String!
# The Node ID of the pull request review to modify.
pullRequestReviewId: ID!
}
# Autogenerated return type of DismissPullRequestReview
type DismissPullRequestReviewPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The dismissed pull request review.
pullRequestReview: PullRequestReview!
}
# Specifies a review comment to be left with a Pull Request Review.
input DraftPullRequestReviewComment {
# Body of the comment to leave.
body: String!
# Path to the file being commented on.
path: String!
# Position in the file to leave a comment on.
position: Int!
}
# An external identity provisioned by SAML SSO or SCIM.
type ExternalIdentity implements Node {
# The GUID for this identity
guid: String!
id: ID!
# Organization invitation for this SCIM-provisioned external identity
organizationInvitation: OrganizationInvitation
# SAML Identity attributes
samlIdentity: ExternalIdentitySamlAttributes
# SCIM Identity attributes
scimIdentity: ExternalIdentityScimAttributes
# User linked to this external identity
user: User
}
# The connection type for ExternalIdentity.
type ExternalIdentityConnection {
# A list of edges.
edges: [ExternalIdentityEdge]
# A list of nodes.
nodes: [ExternalIdentity]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ExternalIdentityEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: ExternalIdentity
}
# SAML attributes for the External Identity
type ExternalIdentitySamlAttributes {
# The NameID of the SAML identity
nameId: String
}
# SCIM attributes for the External Identity
type ExternalIdentityScimAttributes {
# The userName of the SCIM identity
username: String
}
# The connection type for User.
type FollowerConnection {
# A list of edges.
edges: [UserEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# The connection type for User.
type FollowingConnection {
# A list of edges.
edges: [UserEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# A Gist.
type Gist implements Node, Starrable {
# A list of comments associated with the gist
comments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): GistCommentConnection!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The gist description.
description: String
id: ID!
# Whether the gist is public or not.
isPublic: Boolean!
# The gist name.
name: String!
# The gist owner.
owner: RepositoryOwner
# Identifies when the gist was last pushed to.
pushedAt: DateTime
# A list of users who have starred this starrable.
stargazers(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: StarOrder
): StargazerConnection!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# Returns a boolean indicating whether the viewing user has starred this starrable.
viewerHasStarred: Boolean!
}
# Represents a comment on an Gist.
type GistComment implements Comment, Deletable, Node, Updatable, UpdatableComment {
# The actor who authored the comment.
author: Actor
# Author's association with the gist.
authorAssociation: CommentAuthorAssociation!
# Identifies the comment body.
body: String!
# The comment body rendered to HTML.
bodyHTML: HTML!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The actor who edited the comment.
editor: Actor
# The associated gist.
gist: Gist!
id: ID!
# The moment the editor made the last edit
lastEditedAt: DateTime
# Identifies when the comment was published at.
publishedAt: DateTime
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Check if the current viewer can delete this object.
viewerCanDelete: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
}
# The connection type for GistComment.
type GistCommentConnection {
# A list of edges.
edges: [GistCommentEdge]
# A list of nodes.
nodes: [GistComment]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type GistCommentEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: GistComment
}
# The connection type for Gist.
type GistConnection {
# A list of edges.
edges: [GistEdge]
# A list of nodes.
nodes: [Gist]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type GistEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Gist
}
# Ordering options for gist connections
input GistOrder {
# The ordering direction.
direction: OrderDirection!
# The field to order repositories by.
field: GistOrderField!
}
# Properties by which gist connections can be ordered.
enum GistOrderField {
# Order gists by creation time
CREATED_AT
# Order gists by push time
PUSHED_AT
# Order gists by update time
UPDATED_AT
}
# The privacy of a Gist
enum GistPrivacy {
# Gists that are public and secret
ALL
# Public
PUBLIC
# Secret
SECRET
}
# Represents an actor in a Git commit (ie. an author or committer).
type GitActor {
# A URL pointing to the author's public avatar.
avatarUrl(
# The size of the resulting square image.
size: Int
): URI!
# 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 information about the GitHub instance.
type GitHubMetadata {
# Returns a String that's a SHA of `github-services`
gitHubServicesSha: String!
# IP addresses that users connect to for git operations
gitIpAddresses: [String!]
# IP addresses that service hooks are sent from
hookIpAddresses: [String!]
# IP addresses that the importer connects from
importerIpAddresses: [String!]
# Whether or not users are verified
isPasswordAuthenticationVerifiable: Boolean!
# IP addresses for GitHub Pages' A records
pagesIpAddresses: [String!]
}
# Represents a Git object.
interface GitObject {
# An abbreviated version of the Git object ID
abbreviatedOid: String!
# The HTTP path for this Git object
commitResourcePath: URI!
# The HTTP URL for this Git object
commitUrl: URI!
id: ID!
# The Git object ID
oid: GitObjectID!
# The Repository the Git object belongs to
repository: Repository!
}
# A Git object ID.
scalar GitObjectID
# Git SSH string
scalar GitSSHRemote
# 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 {
# Invalid email used for signing.
BAD_EMAIL
# Signing key expired.
EXPIRED_KEY
# Internal error - the GPG verification service misbehaved.
GPGVERIFY_ERROR
# Internal error - the GPG verification service is unavailable at the moment.
GPGVERIFY_UNAVAILABLE
# Invalid signature.
INVALID
# Malformed signature.
MALFORMED_SIG
# The usage flags for the key that signed this don't allow signing.
NOT_SIGNING_KEY
# Email used for signing not known to GitHub.
NO_USER
# Valid siganture, though certificate revocation check failed
OCSP_ERROR
# Valid signature, pending certificate revocation checking
OCSP_PENDING
# One or more certificates in chain has been revoked
OCSP_REVOKED
# Key used for signing not known to GitHub.
UNKNOWN_KEY
# Unknown signature type.
UNKNOWN_SIG_TYPE
# Unsigned.
UNSIGNED
# Email used for signing unverified on GitHub.
UNVERIFIED_EMAIL
# Valid signature and verified by GitHub.
VALID
}
# 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!
}
# A string containing HTML code.
scalar HTML
# Represents a 'head_ref_deleted' event on a given pull request.
type HeadRefDeletedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the Ref associated with the `head_ref_deleted` event.
headRef: Ref
# Identifies the name of the Ref associated with the `head_ref_deleted` event.
headRefName: String!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
}
# Represents a 'head_ref_force_pushed' event on a given pull request.
type HeadRefForcePushedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# 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 the date and time when the object was created.
createdAt: DateTime!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
# Identifies the fully qualified ref name for the 'head_ref_force_pushed' event.
ref: Ref
}
# Represents a 'head_ref_restored' event on a given pull request.
type HeadRefRestoredEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
}
# An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project.
type Issue implements Assignable, Closable, Comment, Labelable, Lockable, Node, Reactable, RepositoryNode, Subscribable, UniformResourceLocatable, Updatable, UpdatableComment {
# Reason that the conversation was locked.
activeLockReason: LockReason
# A list of Users assigned to this object.
assignees(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# Identifies the body of the issue.
body: String!
# Identifies the body of the issue rendered to HTML.
bodyHTML: HTML!
# Identifies the body of the issue rendered to text.
bodyText: String!
# `true` if the object is closed (definition of closed may depend on type)
closed: Boolean!
# Identifies the date and time when the object was closed.
closedAt: DateTime
# A list of comments associated with the Issue.
comments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): IssueCommentConnection!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The actor who edited the comment.
editor: Actor
id: ID!
# A list of labels associated with the object.
labels(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): LabelConnection
# The moment the editor made the last edit
lastEditedAt: DateTime
# `true` if the object is locked
locked: 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 conversation.
participants(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# List of project cards associated with this issue.
projectCards(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ProjectCardConnection!
# Identifies when the comment was published at.
publishedAt: DateTime
# A list of reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The repository associated with this node.
repository: Repository!
# The HTTP path for this issue
resourcePath: URI!
# Identifies the state of the issue.
state: IssueState!
# A list of events, comments, commits, etc. associated with the issue.
timeline(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows filtering timeline events by a `since` timestamp.
since: DateTime
): IssueTimelineConnection!
# Identifies the issue title.
title: String!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this issue
url: URI!
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Can user react to this subject
viewerCanReact: Boolean!
# Check if the viewer is able to change their subscription status for the repository.
viewerCanSubscribe: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
# Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
viewerSubscription: SubscriptionState!
}
# Represents a comment on an Issue.
type IssueComment implements Comment, Deletable, Node, Reactable, RepositoryNode, Updatable, UpdatableComment {
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# Identifies the comment body.
body: String!
# The comment body rendered to HTML.
bodyHTML: HTML!
# Identifies the body of the issue rendered to text.
bodyText: String!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The actor who edited the comment.
editor: Actor
id: ID!
# Identifies the issue associated with the comment.
issue: Issue!
# The moment the editor made the last edit
lastEditedAt: DateTime
# Identifies when the comment was published at.
publishedAt: DateTime
# Returns the pull request associated with the comment, if this comment was made on a
# pull request.
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 elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The repository associated with this node.
repository: Repository!
# The HTTP path for this issue comment
resourcePath: URI!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this issue comment
url: URI!
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Check if the current viewer can delete this object.
viewerCanDelete: Boolean!
# Can user react to this subject
viewerCanReact: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
}
# The connection type for IssueComment.
type IssueCommentConnection {
# A list of edges.
edges: [IssueCommentEdge]
# A list of nodes.
nodes: [IssueComment]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type IssueCommentEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: IssueComment
}
# The connection type for Issue.
type IssueConnection {
# A list of edges.
edges: [IssueEdge]
# A list of nodes.
nodes: [Issue]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type IssueEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Issue
}
# Used for return value of Repository.issueOrPullRequest.
union IssueOrPullRequest = Issue | PullRequest
# Ways in which lists of issues can be ordered upon return.
input IssueOrder {
# The direction in which to order issues by the specified field.
direction: OrderDirection!
# The field in which to order issues by.
field: IssueOrderField!
}
# Properties by which issue connections can be ordered.
enum IssueOrderField {
# Order issues by comment count
COMMENTS
# Order issues by creation time
CREATED_AT
# Order issues by update time
UPDATED_AT
}
# The possible PubSub channels for an issue.
enum IssuePubSubTopic {
# The channel ID for marking an issue as read.
MARKASREAD
# The channel ID for observing issue updates.
UPDATED
}
# The possible states of an issue.
enum IssueState {
# An issue that has been closed
CLOSED
# An issue that is still open
OPEN
}
# The connection type for IssueTimelineItem.
type IssueTimelineConnection {
# A list of edges.
edges: [IssueTimelineItemEdge]
# A list of nodes.
nodes: [IssueTimelineItem]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An item in an issue timeline
union IssueTimelineItem = AssignedEvent | ClosedEvent | Commit | CrossReferencedEvent | DemilestonedEvent | IssueComment | LabeledEvent | LockedEvent | MilestonedEvent | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent
# An edge in a connection.
type IssueTimelineItemEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: IssueTimelineItem
}
# A label for categorizing Issues or Milestones with a given Repository.
type Label implements Node {
# Identifies the label color.
color: String!
# A brief description of this label.
description: String
id: ID!
# Indicates whether or not this is a default label.
isDefault: Boolean!
# A list of issues associated with this label.
issues(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for issues returned from the connection.
orderBy: IssueOrder
# A list of states to filter the issues by.
states: [IssueState!]
): IssueConnection!
# Identifies the label name.
name: String!
# A list of pull requests associated with this label.
pullRequests(
# Returns the elements in the list that come after the specified global ID.
after: String
# The base ref name to filter the pull requests by.
baseRefName: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# The head ref name to filter the pull requests by.
headRefName: String
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for pull requests returned from the connection.
orderBy: IssueOrder
# A list of states to filter the pull requests by.
states: [PullRequestState!]
): PullRequestConnection!
# The repository associated with this label.
repository: Repository!
}
# The connection type for Label.
type LabelConnection {
# A list of edges.
edges: [LabelEdge]
# A list of nodes.
nodes: [Label]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type LabelEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Label
}
# An object that can have labels assigned to it.
interface Labelable {
# A list of labels associated with the object.
labels(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): LabelConnection
}
# Represents a 'labeled' event on a given issue or pull request.
type LabeledEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the label associated with the 'labeled' event.
label: Label!
# Identifies the `Labelable` associated with the event.
labelable: Labelable!
}
# Represents a given language found in repositories.
type Language implements Node {
# The color defined for the current language.
color: String
id: ID!
# The name of the current language.
name: String!
}
# A list of languages associated with the parent.
type LanguageConnection {
# A list of edges.
edges: [LanguageEdge]
# A list of nodes.
nodes: [Language]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
# The total size in bytes of files written in that language.
totalSize: Int!
}
# Represents the language of a repository.
type LanguageEdge {
cursor: String!
node: Language!
# The number of bytes of code written in the language.
size: Int!
}
# Ordering options for language connections.
input LanguageOrder {
# The ordering direction.
direction: OrderDirection!
# The field to order languages by.
field: LanguageOrderField!
}
# Properties by which language connections can be ordered.
enum LanguageOrderField {
# Order languages by the size of all files containing the language
SIZE
}
# A respository's open source license
type License {
# The full text of the license
body: String!
# The conditions set by the license
conditions: [LicenseRule]!
# A human-readable description of the license
description: String
# Whether the license should be featured
featured: Boolean!
# Whether the license should be displayed in license pickers
hidden: Boolean!
id: ID!
# Instructions on how to implement the license
implementation: String
# The lowercased SPDX ID of the license
key: String!
# The limitations set by the license
limitations: [LicenseRule]!
# The license full name specified by <https://spdx.org/licenses>
name: String!
# Customary short name if applicable (e.g, GPLv3)
nickname: String
# The permissions set by the license
permissions: [LicenseRule]!
# Short identifier specified by <https://spdx.org/licenses>
spdxId: String
# URL to the license on <https://choosealicense.com>
url: URI
}
# Describes a License's conditions, permissions, and limitations
type LicenseRule {
# A description of the rule
description: String!
# The machine-readable rule key
key: String!
# The human-readable rule label
label: String!
}
# Autogenerated input type of LockLockable
input LockLockableInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# A reason for why the issue or pull request will be locked.
lockReason: LockReason
# ID of the issue or pull request to be locked.
lockableId: ID!
}
# Autogenerated return type of LockLockable
type LockLockablePayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The item that was locked.
lockedRecord: Lockable
}
# The possible reasons that an issue or pull request was locked.
enum LockReason {
# The issue or pull request was locked because the conversation was off-topic.
OFF_TOPIC
# The issue or pull request was locked because the conversation was resolved.
RESOLVED
# The issue or pull request was locked because the conversation was spam.
SPAM
# The issue or pull request was locked because the conversation was too heated.
TOO_HEATED
}
# An object that can be locked.
interface Lockable {
# Reason that the conversation was locked.
activeLockReason: LockReason
# `true` if the object is locked
locked: Boolean!
}
# Represents a 'locked' event on a given issue or pull request.
type LockedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Object that was locked.
lockable: Lockable!
}
# A public description of a Marketplace category.
type MarketplaceCategory {
# The category's description.
description: String
# The technical description of how apps listed in this category work with GitHub.
howItWorks: String
# The category's name.
name: String!
# How many Marketplace listings have this as their primary category.
primaryListingCount: Int!
# The HTTP path for this Marketplace category.
resourcePath: URI!
# How many Marketplace listings have this as their secondary category.
secondaryListingCount: Int!
# The short name of the category used in its URL.
slug: String!
# The HTTP URL for this Marketplace category.
url: URI!
}
# A listing in the GitHub integration marketplace.
type MarketplaceListing implements Node {
# URL to the listing owner's company site.
companyUrl: URI
# The HTTP path for configuring access to the listing's integration or OAuth app
configurationResourcePath: URI!
# The HTTP URL for configuring access to the listing's integration or OAuth app
configurationUrl: URI!
# URL to the listing's documentation.
documentationUrl: URI
# The listing's detailed description.
extendedDescription: String
# The listing's detailed description rendered to HTML.
extendedDescriptionHTML: HTML!
# The listing's introductory description.
fullDescription: String!
# The listing's introductory description rendered to HTML.
fullDescriptionHTML: HTML!
# Whether this listing has been submitted for review from GitHub for approval to be displayed in the Marketplace.
hasApprovalBeenRequested: Boolean!
# Does this listing have any plans with a free trial?
hasPublishedFreeTrialPlans: Boolean!
# Does this listing have a terms of service link?
hasTermsOfService: Boolean!
# A technical description of how this app works with GitHub.
howItWorks: String
# The listing's technical description rendered to HTML.
howItWorksHTML: HTML!
id: ID!
# URL to install the product to the viewer's account or organization.
installationUrl: URI
# Whether this listing's app has been installed for the current viewer
installedForViewer: Boolean!
# Whether this listing has been approved for display in the Marketplace.
isApproved: Boolean!
# Whether this listing has been removed from the Marketplace.
isDelisted: Boolean!
# Whether this listing is still an editable draft that has not been submitted
# for review and is not publicly visible in the Marketplace.
isDraft: Boolean!
# Whether the product this listing represents is available as part of a paid plan.
isPaid: Boolean!
# Whether this listing has been rejected by GitHub for display in the Marketplace.
isRejected: Boolean!
# The hex color code, without the leading '#', for the logo background.
logoBackgroundColor: String!
# URL for the listing's logo image.
logoUrl(
# The size in pixels of the resulting square image.
size: Int = 400
): URI
# The listing's full name.
name: String!
# The listing's very short description without a trailing period or ampersands.
normalizedShortDescription: String!
# URL to the listing's detailed pricing.
pricingUrl: URI
# The category that best describes the listing.
primaryCategory: MarketplaceCategory!
# URL to the listing's privacy policy.
privacyPolicyUrl: URI!
# The HTTP path for the Marketplace listing.
resourcePath: URI!
# The URLs for the listing's screenshots.
screenshotUrls: [String]!
# An alternate category that describes the listing.
secondaryCategory: MarketplaceCategory
# The listing's very short description.
shortDescription: String!
# The short name of the listing used in its URL.
slug: String!
# URL to the listing's status page.
statusUrl: URI
# An email address for support for this listing's app.
supportEmail: String
# Either a URL or an email address for support for this listing's app.
supportUrl: URI!
# URL to the listing's terms of service.
termsOfServiceUrl: URI
# The HTTP URL for the Marketplace listing.
url: URI!
# Can the current viewer add plans for this Marketplace listing.
viewerCanAddPlans: Boolean!
# Can the current viewer approve this Marketplace listing.
viewerCanApprove: Boolean!
# Can the current viewer delist this Marketplace listing.
viewerCanDelist: Boolean!
# Can the current viewer edit this Marketplace listing.
viewerCanEdit: Boolean!
# Can the current viewer edit the primary and secondary category of this
# Marketplace listing.
viewerCanEditCategories: Boolean!
# Can the current viewer edit the plans for this Marketplace listing.
viewerCanEditPlans: Boolean!
# Can the current viewer return this Marketplace listing to draft state
# so it becomes editable again.
viewerCanRedraft: Boolean!
# Can the current viewer reject this Marketplace listing by returning it to
# an editable draft state or rejecting it entirely.
viewerCanReject: Boolean!
# Can the current viewer request this listing be reviewed for display in
# the Marketplace.
viewerCanRequestApproval: Boolean!
# Indicates whether the current user has an active subscription to this Marketplace listing.
viewerHasPurchased: Boolean!
# Indicates if the current user has purchased a subscription to this Marketplace listing
# for all of the organizations the user owns.
viewerHasPurchasedForAllOrganizations: Boolean!
# Does the current viewer role allow them to administer this Marketplace listing.
viewerIsListingAdmin: Boolean!
}
# Look up Marketplace Listings
type MarketplaceListingConnection {
# A list of edges.
edges: [MarketplaceListingEdge]
# A list of nodes.
nodes: [MarketplaceListing]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type MarketplaceListingEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: MarketplaceListing
}
# Represents a 'mentioned' event on a given issue or pull request.
type MentionedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# Whether or not a PullRequest can be merged.
enum MergeableState {
# The pull request cannot be merged due to merge conflicts.
CONFLICTING
# The pull request can be merged.
MERGEABLE
# The mergeability of the pull request is still being calculated.
UNKNOWN
}
# Represents a 'merged' event on a given pull request.
type MergedEvent implements Node, UniformResourceLocatable {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the commit associated with the `merge` event.
commit: Commit
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the Ref associated with the `merge` event.
mergeRef: Ref
# Identifies the name of the Ref associated with the `merge` event.
mergeRefName: String!
# PullRequest referenced by event.
pullRequest: PullRequest!
# The HTTP path for this merged event.
resourcePath: URI!
# The HTTP URL for this merged event.
url: URI!
}
# Represents a Milestone object on a given repository.
type Milestone implements Closable, Node, UniformResourceLocatable {
# `true` if the object is closed (definition of closed may depend on type)
closed: Boolean!
# Identifies the date and time when the object was closed.
closedAt: DateTime
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the actor who created the milestone.
creator: Actor
# Identifies the description of the milestone.
description: String
# Identifies the due date of the milestone.
dueOn: DateTime
id: ID!
# A list of issues associated with the milestone.
issues(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for issues returned from the connection.
orderBy: IssueOrder
# A list of states to filter the issues by.
states: [IssueState!]
): IssueConnection!
# Identifies the number of the milestone.
number: Int!
# A list of pull requests associated with the milestone.
pullRequests(
# Returns the elements in the list that come after the specified global ID.
after: String
# The base ref name to filter the pull requests by.
baseRefName: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# The head ref name to filter the pull requests by.
headRefName: String
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for pull requests returned from the connection.
orderBy: IssueOrder
# A list of states to filter the pull requests by.
states: [PullRequestState!]
): PullRequestConnection!
# The repository associated with this milestone.
repository: Repository!
# The HTTP path for this milestone
resourcePath: URI!
# Identifies the state of the milestone.
state: MilestoneState!
# Identifies the title of the milestone.
title: String!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this milestone
url: URI!
}
# The connection type for Milestone.
type MilestoneConnection {
# A list of edges.
edges: [MilestoneEdge]
# A list of nodes.
nodes: [Milestone]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type MilestoneEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Milestone
}
# Types that can be inside a Milestone.
union MilestoneItem = Issue | PullRequest
# Ordering options for milestone connections.
input MilestoneOrder {
# The ordering direction.
direction: OrderDirection!
# The field to order milestones by.
field: MilestoneOrderField!
}
# Properties by which milestone connections can be ordered.
enum MilestoneOrderField {
# Order milestones by when they were created.
CREATED_AT
# Order milestones by when they are due.
DUE_DATE
# Order milestones by their number.
NUMBER
# Order milestones by when they were last updated.
UPDATED_AT
}
# The possible states of a milestone.
enum MilestoneState {
# A milestone that has been closed.
CLOSED
# A milestone that is still open.
OPEN
}
# Represents a 'milestoned' event on a given issue or pull request.
type MilestonedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the milestone title associated with the 'milestoned' event.
milestoneTitle: String!
# Object referenced by event.
subject: MilestoneItem!
}
# Autogenerated input type of MoveProjectCard
input MoveProjectCardInput {
# Place the new card after the card with this id. Pass null to place it at the top.
afterCardId: ID
# The id of the card to move.
cardId: ID!
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The id of the column to move it into.
columnId: 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 {
# Place the new column after the column with this id. Pass null to place it at the front.
afterColumnId: ID
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The id of the column to move.
columnId: 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!
}
# Represents a 'moved_columns_in_project' event on a given issue or pull request.
type MovedColumnsInProjectEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# The root query for implementing GraphQL mutations.
type Mutation {
# Applies a suggested topic to the repository.
acceptTopicSuggestion(input: AcceptTopicSuggestionInput!): AcceptTopicSuggestionPayload
# 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 review to a Pull Request.
addPullRequestReview(input: AddPullRequestReviewInput!): AddPullRequestReviewPayload
# Adds a comment to a review.
addPullRequestReviewComment(input: AddPullRequestReviewCommentInput!): AddPullRequestReviewCommentPayload
# Adds a reaction to a subject.
addReaction(input: AddReactionInput!): AddReactionPayload
# Adds a star to a Starrable.
addStar(input: AddStarInput!): AddStarPayload
# Creates a new project.
createProject(input: CreateProjectInput!): CreateProjectPayload
# Rejects a suggested topic for the repository.
declineTopicSuggestion(input: DeclineTopicSuggestionInput!): DeclineTopicSuggestionPayload
# Deletes a project.
deleteProject(input: DeleteProjectInput!): DeleteProjectPayload
# Deletes a project card.
deleteProjectCard(input: DeleteProjectCardInput!): DeleteProjectCardPayload
# Deletes a project column.
deleteProjectColumn(input: DeleteProjectColumnInput!): DeleteProjectColumnPayload
# Deletes a pull request review.
deletePullRequestReview(input: DeletePullRequestReviewInput!): DeletePullRequestReviewPayload
# Dismisses an approved or rejected pull request review.
dismissPullRequestReview(input: DismissPullRequestReviewInput!): DismissPullRequestReviewPayload
# Lock a lockable object
lockLockable(input: LockLockableInput!): LockLockablePayload
# Moves a project card to another place.
moveProjectCard(input: MoveProjectCardInput!): MoveProjectCardPayload
# Moves a project column to another place.
moveProjectColumn(input: MoveProjectColumnInput!): MoveProjectColumnPayload
# Removes outside collaborator from all repositories in an organization.
removeOutsideCollaborator(input: RemoveOutsideCollaboratorInput!): RemoveOutsideCollaboratorPayload
# Removes a reaction from a subject.
removeReaction(input: RemoveReactionInput!): RemoveReactionPayload
# Removes a star from a Starrable.
removeStar(input: RemoveStarInput!): RemoveStarPayload
# Set review requests on a pull request.
requestReviews(input: RequestReviewsInput!): RequestReviewsPayload
# Submits a pending pull request review.
submitPullRequestReview(input: SubmitPullRequestReviewInput!): SubmitPullRequestReviewPayload
# 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 the body of a pull request review.
updatePullRequestReview(input: UpdatePullRequestReviewInput!): UpdatePullRequestReviewPayload
# Updates a pull request review comment.
updatePullRequestReviewComment(input: UpdatePullRequestReviewCommentInput!): UpdatePullRequestReviewCommentPayload
# Updates viewers repository subscription state.
updateSubscription(input: UpdateSubscriptionInput!): UpdateSubscriptionPayload
# Replaces the repository's topics with the given topics.
updateTopics(input: UpdateTopicsInput!): UpdateTopicsPayload
}
# An object with an ID.
interface Node {
# ID of the object.
id: ID!
}
# 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 Actor, Node, ProjectOwner, RepositoryOwner, UniformResourceLocatable {
# A URL pointing to the organization's public avatar.
avatarUrl(
# The size of the resulting square image.
size: Int
): URI!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The organization's public profile description.
description: String
# The organization's public email.
email: String
id: ID!
# The organization's public profile location.
location: String
# The organization's login name.
login: String!
# A list of users who are members of this organization.
members(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# The organization's public profile name.
name: String
# The HTTP path creating a new team
newTeamResourcePath: URI!
# The HTTP URL creating a new team
newTeamUrl: URI!
# The billing email for the organization.
organizationBillingEmail: String
# A list of repositories this user has pinned to their profile
pinnedRepositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# Find project by number.
project(
# The project number to find.
number: Int!
): Project
# A list of projects under the owner.
projects(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for projects returned from the connection
orderBy: ProjectOrder
# Query to search projects by, currently only searching by name.
search: String
# A list of states to filter the projects by.
states: [ProjectState!]
): ProjectConnection!
# The HTTP path listing organization's projects
projectsResourcePath: URI!
# The HTTP URL listing organization's projects
projectsUrl: URI!
# A list of repositories that the user owns.
repositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they are forks of another repository
isFork: Boolean
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# Find Repository.
repository(
# Name of Repository to find.
name: String!
): Repository
# The HTTP path for this user
resourcePath: URI!
# The Organization's SAML Identity Providers
samlIdentityProvider: OrganizationIdentityProvider
# Find an organization's team by its slug.
team(
# The name or slug of the team to find.
slug: String!
): Team
# A list of teams in this organization.
teams(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# If true, filters teams that are mapped to an LDAP Group (Enterprise only)
ldapMapped: Boolean
# Ordering options for teams returned from the connection
orderBy: TeamOrder
# If non-null, filters teams according to privacy
privacy: TeamPrivacy
# If non-null, filters teams with query on team name and team slug
query: String
# If non-null, filters teams according to whether the viewer is an admin or member on team
role: TeamRole
# If true, restrict to only root teams
rootTeamsOnly: Boolean = false
# User logins to filter by
userLogins: [String!]
): TeamConnection!
# The HTTP path listing organization's teams
teamsResourcePath: URI!
# The HTTP URL listing organization's teams
teamsUrl: URI!
# The HTTP URL for this user
url: URI!
# Organization is adminable by the viewer.
viewerCanAdminister: Boolean!
# Can the current viewer create new projects on this owner.
viewerCanCreateProjects: Boolean!
# Viewer can create repositories on this organization
viewerCanCreateRepositories: Boolean!
# Viewer can create teams on this organization.
viewerCanCreateTeams: Boolean!
# Viewer is an active member of this organization.
viewerIsAMember: Boolean!
# The organization's public profile URL.
websiteUrl: URI
}
# The connection type for Organization.
type OrganizationConnection {
# A list of edges.
edges: [OrganizationEdge]
# A list of nodes.
nodes: [Organization]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type OrganizationEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Organization
}
# An Identity Provider configured to provision SAML and SCIM identities for Organizations
type OrganizationIdentityProvider implements Node {
# The digest algorithm used to sign SAML requests for the Identity Provider.
digestMethod: URI
# External Identities provisioned by this Identity Provider
externalIdentities(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ExternalIdentityConnection!
id: ID!
# The x509 certificate used by the Identity Provder to sign assertions and responses.
idpCertificate: X509Certificate
# The Issuer Entity ID for the SAML Identity Provider
issuer: String
# Organization this Identity Provider belongs to
organization: Organization
# The signature algorithm used to sign SAML requests for the Identity Provider.
signatureMethod: URI
# The URL endpoint for the Identity Provider's SAML SSO.
ssoUrl: URI
}
# An Invitation for a user to an organization.
type OrganizationInvitation implements Node {
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The email address of the user invited to the organization.
email: String
id: ID!
# The type of invitation that was sent (e.g. email, user).
invitationType: OrganizationInvitationType!
# The user who was invited to the organization.
invitee: User
# The user who created the invitation.
inviter: User!
# The organization the invite is for
organization: Organization!
# The user's pending role in the organization (e.g. member, owner).
role: OrganizationInvitationRole!
}
# The connection type for OrganizationInvitation.
type OrganizationInvitationConnection {
# A list of edges.
edges: [OrganizationInvitationEdge]
# A list of nodes.
nodes: [OrganizationInvitation]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type OrganizationInvitationEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: OrganizationInvitation
}
# The possible organization invitation roles.
enum OrganizationInvitationRole {
# The user is invited to be an admin of the organization.
ADMIN
# The user is invited to be a billing manager of the organization.
BILLING_MANAGER
# The user is invited to be a direct member of the organization.
DIRECT_MEMBER
# The user's previous role will be reinstated.
REINSTATE
}
# The possible organization invitation types.
enum OrganizationInvitationType {
# The invitation was to an email address.
EMAIL
# The invitation was to an existing user.
USER
}
# Information about pagination in a connection.
type PageInfo {
# When paginating forwards, the cursor to continue.
endCursor: String
# 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
}
# Projects manage issues, pull requests and notes within a project owner.
type Project implements Closable, Node, Updatable {
# The project's description body.
body: String
# The projects description body rendered to HTML.
bodyHTML: HTML!
# `true` if the object is closed (definition of closed may depend on type)
closed: Boolean!
# Identifies the date and time when the object was closed.
closedAt: DateTime
# List of columns in the project
columns(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ProjectColumnConnection!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The actor who originally created the project.
creator: Actor
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# The project's name.
name: String!
# The project's number.
number: Int!
# The project's owner. Currently limited to repositories and organizations.
owner: ProjectOwner!
# List of pending cards in this project
pendingCards(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ProjectCardConnection!
# The HTTP path for this project
resourcePath: URI!
# Whether the project is open or closed.
state: ProjectState!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this project
url: URI!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
}
# A card in a project.
type ProjectCard implements Node {
# The project column this card is associated under. A card may only belong to one
# project column at a time. The column field will be null if the card is created
# in a pending state and has yet to be associated with a column. Once cards are
# associated with a column, they will not become pending in the future.
column: ProjectColumn
# The card content item
content: ProjectCardItem
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The actor who created this card
creator: Actor
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# The card note
note: String
# The project that contains this card.
project: Project!
# The column that contains this card.
projectColumn: ProjectColumn! @deprecated(reason: \"The associated column may be null if the card is in a pending state. Use `ProjectCard.column` instead. Removal on 2018-07-01 UTC.\")
# The HTTP path for this card
resourcePath: URI!
# The state of ProjectCard
state: ProjectCardState
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this card
url: URI!
}
# The connection type for ProjectCard.
type ProjectCardConnection {
# A list of edges.
edges: [ProjectCardEdge]
# A list of nodes.
nodes: [ProjectCard]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ProjectCardEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
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 elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ProjectCardConnection!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# The project column's name.
name: String!
# The project that contains this column.
project: Project!
# The HTTP path for this project column
resourcePath: URI!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this project column
url: URI!
}
# The connection type for ProjectColumn.
type ProjectColumnConnection {
# A list of edges.
edges: [ProjectColumnEdge]
# A list of nodes.
nodes: [ProjectColumn]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ProjectColumnEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: ProjectColumn
}
# A list of projects associated with the owner.
type ProjectConnection {
# A list of edges.
edges: [ProjectEdge]
# A list of nodes.
nodes: [Project]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ProjectEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Project
}
# Ways in which lists of projects can be ordered upon return.
input ProjectOrder {
# The direction in which to order projects by the specified field.
direction: OrderDirection!
# The field in which to order projects by.
field: ProjectOrderField!
}
# Properties by which project connections can be ordered.
enum ProjectOrderField {
# Order projects by creation time
CREATED_AT
# Order projects by name
NAME
# Order projects by update time
UPDATED_AT
}
# 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 elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for projects returned from the connection
orderBy: ProjectOrder
# Query to search projects by, currently only searching by name.
search: String
# A list of states to filter the projects by.
states: [ProjectState!]
): ProjectConnection!
# The HTTP path listing owners projects
projectsResourcePath: URI!
# The HTTP URL listing owners projects
projectsUrl: URI!
# Can the current viewer create new projects on this owner.
viewerCanCreateProjects: Boolean!
}
# State of the project; either 'open' or 'closed'
enum ProjectState {
# The project is closed.
CLOSED
# The project is open.
OPEN
}
# A repository protected branch.
type ProtectedBranch implements Node {
# The actor who created this protected branch.
creator: Actor
# Will new commits pushed to this branch dismiss pull request review approvals.
hasDismissableStaleReviews: Boolean!
# Are reviews required to update this branch.
hasRequiredReviews: Boolean!
# Are status checks required to update this branch.
hasRequiredStatusChecks: Boolean!
# Is pushing to this branch restricted.
hasRestrictedPushes: Boolean!
# Is dismissal of pull request reviews restricted.
hasRestrictedReviewDismissals: Boolean!
# Are branches required to be up to date before merging.
hasStrictRequiredStatusChecks: Boolean!
id: ID!
# Can admins overwrite branch protection.
isAdminEnforced: Boolean!
# Identifies the name of the protected branch.
name: String!
# A list push allowances for this protected branch.
pushAllowances(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): PushAllowanceConnection!
# The repository associated with this protected branch.
repository: Repository!
# List of required status check contexts that must pass for commits to be accepted to this branch.
requiredStatusCheckContexts: [String]
# A list review dismissal allowances for this protected branch.
reviewDismissalAllowances(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ReviewDismissalAllowanceConnection!
}
# The connection type for ProtectedBranch.
type ProtectedBranchConnection {
# A list of edges.
edges: [ProtectedBranchEdge]
# A list of nodes.
nodes: [ProtectedBranch]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ProtectedBranchEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: ProtectedBranch
}
# A user's public key.
type PublicKey implements Node {
id: ID!
# The public key string
key: String!
}
# The connection type for PublicKey.
type PublicKeyConnection {
# A list of edges.
edges: [PublicKeyEdge]
# A list of nodes.
nodes: [PublicKey]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type PublicKeyEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PublicKey
}
# A repository pull request.
type PullRequest implements Assignable, Closable, Comment, Labelable, Lockable, Node, Reactable, RepositoryNode, Subscribable, UniformResourceLocatable, Updatable, UpdatableComment {
# Reason that the conversation was locked.
activeLockReason: LockReason
# The number of additions in this pull request.
additions: Int!
# A list of Users assigned to this object.
assignees(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# Identifies the base Ref associated with the pull request.
baseRef: Ref
# Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted.
baseRefName: String!
# Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted.
baseRefOid: GitObjectID!
# Identifies the body of the pull request.
body: String!
# Identifies the body of the pull request rendered to HTML.
bodyHTML: HTML!
# Identifies the body of the pull request rendered to text.
bodyText: String!
# The number of changed files in this pull request.
changedFiles: Int!
# `true` if the pull request is closed
closed: Boolean!
# Identifies the date and time when the object was closed.
closedAt: DateTime
# A list of comments associated with the pull request.
comments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): IssueCommentConnection!
# A list of commits present in this pull request's head branch not present in the base branch.
commits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): PullRequestCommitConnection!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The number of deletions in this pull request.
deletions: Int!
# The actor who edited this pull request's body.
editor: Actor
# Identifies the head Ref associated with the pull request.
headRef: Ref
# Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted.
headRefName: String!
# Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted.
headRefOid: GitObjectID!
# The repository associated with this pull request's head Ref.
headRepository: Repository
# The owner of the repository associated with this pull request's head Ref.
headRepositoryOwner: RepositoryOwner
id: ID!
# The head and base repositories are different.
isCrossRepository: Boolean!
# A list of labels associated with the object.
labels(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): LabelConnection
# The moment the editor made the last edit
lastEditedAt: DateTime
# `true` if the pull request is locked
locked: Boolean!
# The commit that was created when this pull request was merged.
mergeCommit: Commit
# Whether or not the pull request can be merged based on the existence of merge conflicts.
mergeable: MergeableState!
# Whether or not the pull request was merged.
merged: Boolean!
# The date and time that the pull request was merged.
mergedAt: DateTime
# Identifies the milestone associated with the pull request.
milestone: Milestone
# Identifies the pull request number.
number: Int!
# A list of Users that are participating in the Pull Request conversation.
participants(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# The commit that GitHub automatically generated to test if this pull request
# could be merged. This field will not return a value if the pull request is
# merged, or if the test merge commit is still being generated. See the
# `mergeable` field for more details on the mergeability of the pull request.
potentialMergeCommit: Commit
# List of project cards associated with this pull request.
projectCards(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ProjectCardConnection!
# Identifies when the comment was published at.
publishedAt: DateTime
# A list of reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The repository associated with this node.
repository: Repository!
# The HTTP path for this pull request.
resourcePath: URI!
# The HTTP path for reverting this pull request.
revertResourcePath: URI!
# The HTTP URL for reverting this pull request.
revertUrl: URI!
# A list of review requests associated with the pull request.
reviewRequests(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ReviewRequestConnection
# A list of reviews associated with the pull request.
reviews(
# Returns the elements in the list that come after the specified global ID.
after: String
# Filter by author of the review.
author: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# A list of states to filter the reviews.
states: [PullRequestReviewState!]
): PullRequestReviewConnection
# Identifies the state of the pull request.
state: PullRequestState!
# A list of reviewer suggestions based on commit history and past review comments.
suggestedReviewers: [SuggestedReviewer]!
# A list of events, comments, commits, etc. associated with the pull request.
timeline(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows filtering timeline events by a `since` timestamp.
since: DateTime
): PullRequestTimelineConnection!
# Identifies the pull request title.
title: String!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this pull request.
url: URI!
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Can user react to this subject
viewerCanReact: Boolean!
# Check if the viewer is able to change their subscription status for the repository.
viewerCanSubscribe: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
# Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
viewerSubscription: SubscriptionState!
}
# Represents a Git commit part of a pull request.
type PullRequestCommit implements Node, UniformResourceLocatable {
# The Git commit object
commit: Commit!
id: ID!
# The pull request this commit belongs to
pullRequest: PullRequest!
# The HTTP path for this pull request commit
resourcePath: URI!
# The HTTP URL for this pull request commit
url: URI!
}
# The connection type for PullRequestCommit.
type PullRequestCommitConnection {
# A list of edges.
edges: [PullRequestCommitEdge]
# A list of nodes.
nodes: [PullRequestCommit]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type PullRequestCommitEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PullRequestCommit
}
# The connection type for PullRequest.
type PullRequestConnection {
# A list of edges.
edges: [PullRequestEdge]
# A list of nodes.
nodes: [PullRequest]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type PullRequestEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PullRequest
}
# The possible PubSub channels for a pull request.
enum PullRequestPubSubTopic {
# The channel ID for observing head ref updates.
HEAD_REF
# The channel ID for marking an pull request as read.
MARKASREAD
# The channel ID for observing pull request updates.
UPDATED
}
# A review object for a given pull request.
type PullRequestReview implements Comment, Deletable, Node, RepositoryNode, Updatable, UpdatableComment {
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# Identifies the pull request review body.
body: String!
# The body of this review rendered to HTML.
bodyHTML: HTML!
# The body of this review rendered as plain text.
bodyText: String!
# A list of review comments for the current pull request review.
comments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): PullRequestReviewCommentConnection!
# Identifies the commit associated with this pull request review.
commit: Commit
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The actor who edited the comment.
editor: Actor
id: ID!
# The moment the editor made the last edit
lastEditedAt: DateTime
# Identifies when the comment was published at.
publishedAt: DateTime
# Identifies the pull request associated with this pull request review.
pullRequest: PullRequest!
# The repository associated with this node.
repository: Repository!
# The HTTP path permalink for this PullRequestReview.
resourcePath: URI!
# Identifies the current state of the pull request review.
state: PullRequestReviewState!
# Identifies when the Pull Request Review was submitted
submittedAt: DateTime
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL permalink for this PullRequestReview.
url: URI!
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Check if the current viewer can delete this object.
viewerCanDelete: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
}
# A review comment associated with a given repository pull request.
type PullRequestReviewComment implements Comment, Deletable, Node, Reactable, RepositoryNode, Updatable, UpdatableComment {
# The actor who authored the comment.
author: Actor
# Author's association with the subject of the comment.
authorAssociation: CommentAuthorAssociation!
# The comment body of this review comment.
body: String!
# The comment body of this review comment rendered to HTML.
bodyHTML: HTML!
# The comment body of this review comment rendered as plain text.
bodyText: String!
# Identifies the commit associated with the comment.
commit: Commit!
# Identifies when the comment was created.
createdAt: DateTime!
# Check if this comment was created via an email reply.
createdViaEmail: Boolean!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The diff hunk to which the comment applies.
diffHunk: String!
# Identifies when the comment was created in a draft state.
draftedAt: DateTime!
# The actor who edited the comment.
editor: Actor
id: ID!
# The moment the editor made the last edit
lastEditedAt: DateTime
# Identifies the original commit associated with the comment.
originalCommit: Commit
# The original line index in the diff to which the comment applies.
originalPosition: Int!
# The path to which the comment applies.
path: String!
# The line index in the diff to which the comment applies.
position: Int
# Identifies when the comment was published at.
publishedAt: DateTime
# The pull request associated with this review comment.
pullRequest: PullRequest!
# The pull request review associated with this review comment.
pullRequestReview: PullRequestReview
# A list of reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# The comment this is a reply to.
replyTo: PullRequestReviewComment
# The repository associated with this node.
repository: Repository!
# The HTTP path permalink for this review comment.
resourcePath: URI!
# Identifies when the comment was last updated.
updatedAt: DateTime!
# The HTTP URL permalink for this review comment.
url: URI!
# A list of edits to this content.
userContentEdits(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserContentEditConnection
# Check if the current viewer can delete this object.
viewerCanDelete: Boolean!
# Can user react to this subject
viewerCanReact: Boolean!
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
# Did the viewer author this comment.
viewerDidAuthor: Boolean!
}
# The connection type for PullRequestReviewComment.
type PullRequestReviewCommentConnection {
# A list of edges.
edges: [PullRequestReviewCommentEdge]
# A list of nodes.
nodes: [PullRequestReviewComment]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type PullRequestReviewCommentEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PullRequestReviewComment
}
# The connection type for PullRequestReview.
type PullRequestReviewConnection {
# A list of edges.
edges: [PullRequestReviewEdge]
# A list of nodes.
nodes: [PullRequestReview]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type PullRequestReviewEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PullRequestReview
}
# The possible events to perform on a pull request review.
enum PullRequestReviewEvent {
# Submit feedback and approve merging these changes.
APPROVE
# Submit general feedback without explicit approval.
COMMENT
# Dismiss review so it now longer effects merging.
DISMISS
# Submit feedback that must be addressed before merging.
REQUEST_CHANGES
}
# The possible states of a pull request review.
enum PullRequestReviewState {
# A review allowing the pull request to merge.
APPROVED
# A review blocking the pull request from merging.
CHANGES_REQUESTED
# An informational review.
COMMENTED
# A review that has been dismissed.
DISMISSED
# A review that has not yet been submitted.
PENDING
}
# 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 elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): PullRequestReviewCommentConnection!
id: ID!
# Identifies the pull request associated with this thread.
pullRequest: PullRequest!
# Identifies the repository associated with this thread.
repository: Repository!
}
# The possible states of a pull request.
enum PullRequestState {
# A pull request that has been closed without being merged.
CLOSED
# A pull request that has been closed by being merged.
MERGED
# A pull request that is still open.
OPEN
}
# The connection type for PullRequestTimelineItem.
type PullRequestTimelineConnection {
# A list of edges.
edges: [PullRequestTimelineItemEdge]
# A list of nodes.
nodes: [PullRequestTimelineItem]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An item in an pull request timeline
union PullRequestTimelineItem = AssignedEvent | BaseRefForcePushedEvent | ClosedEvent | Commit | CommitCommentThread | CrossReferencedEvent | DemilestonedEvent | DeployedEvent | HeadRefDeletedEvent | HeadRefForcePushedEvent | HeadRefRestoredEvent | IssueComment | LabeledEvent | LockedEvent | MergedEvent | MilestonedEvent | PullRequestReview | PullRequestReviewComment | PullRequestReviewThread | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | ReviewDismissedEvent | ReviewRequestRemovedEvent | ReviewRequestedEvent | SubscribedEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent
# An edge in a connection.
type PullRequestTimelineItemEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PullRequestTimelineItem
}
# A team or user who has the ability to push to a protected branch.
type PushAllowance implements Node {
# The actor that can push.
actor: PushAllowanceActor
id: ID!
# Identifies the protected branch associated with the allowed user or team.
protectedBranch: ProtectedBranch!
}
# Types that can be an actor.
union PushAllowanceActor = Team | User
# The connection type for PushAllowance.
type PushAllowanceConnection {
# A list of edges.
edges: [PushAllowanceEdge]
# A list of nodes.
nodes: [PushAllowance]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type PushAllowanceEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: PushAllowance
}
# The query root of GitHub's GraphQL interface.
type Query {
# Look up a code of conduct by its key
codeOfConduct(
# The code of conduct's key
key: String!
): CodeOfConduct
# Look up a code of conduct by its key
codesOfConduct: [CodeOfConduct]
# Look up an open source license by its key
license(
# The license's downcased SPDX ID
key: String!
): License
# Return a list of known open source licenses
licenses: [License]!
# Get alphabetically sorted list of Marketplace categories
marketplaceCategories(
# Exclude categories with no listings.
excludeEmpty: Boolean
): [MarketplaceCategory!]!
# Look up a Marketplace category by its slug.
marketplaceCategory(
# The URL slug of the category.
slug: String!
): MarketplaceCategory
# Look up a single Marketplace listing
marketplaceListing(
# Select the listing that matches this slug. It's the short name of the listing used in its URL.
slug: String!
): MarketplaceListing
# Look up Marketplace listings
marketplaceListings(
# Select listings that can be administered by the specified user.
adminId: ID
# Returns the elements in the list that come after the specified global ID.
after: String
# Select listings visible to the viewer even if they are not approved. If omitted or
# false, only approved listings will be returned.
allStates: Boolean
# Returns the elements in the list that come before the specified global ID.
before: String
# Select only listings with the given category.
categorySlug: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Select listings for products owned by the specified organization.
organizationId: ID
# Select only listings where the primary category matches the given category slug.
primaryCategoryOnly: Boolean = false
# Select the listings with these slugs, if they are visible to the viewer.
slugs: [String]
# Select listings to which user has admin access. If omitted, listings visible to the
# viewer are returned.
viewerCanAdmin: Boolean
# Select only listings that offer a free trial.
withFreeTrialsOnly: Boolean = false
): MarketplaceListingConnection!
# Return information about the GitHub instance
meta: GitHubMetadata!
# Fetches an object given its ID.
node(
# ID of the object.
id: ID!
): Node
# Lookup nodes by a list of IDs.
nodes(
# The list of node IDs.
ids: [ID!]!
): [Node]!
# Lookup a organization by login.
organization(
# The organization's login.
login: String!
): Organization
# The client's rate limit information.
rateLimit(
# If true, calculate the cost for the query without evaluating it
dryRun: Boolean = false
): RateLimit
# Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object
relay: Query!
# Lookup a given repository by the owner and repository name.
repository(
# The name of the repository
name: String!
# The login field of a user or organization
owner: String!
): Repository
# Lookup a repository owner (ie. either a User or an Organization) by login.
repositoryOwner(
# The username to lookup the owner by.
login: String!
): RepositoryOwner
# Lookup resource by a URL.
resource(
# The URL.
url: URI!
): UniformResourceLocatable
# Perform a search across resources.
search(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# The search string to look for.
query: String!
# The types of search items to search within.
type: SearchType!
): SearchResultItemConnection!
# Look up a topic by name.
topic(
# The topic's name.
name: String!
): Topic
# Lookup a user by login.
user(
# The user's login.
login: String!
): User
# The currently authenticated user.
viewer: User!
}
# Represents the client's rate limit.
type RateLimit {
# The point cost for the current query counting against the rate limit.
cost: Int!
# The maximum number of points the client is permitted to consume in a 60 minute window.
limit: Int!
# The maximum number of nodes this query may return
nodeCount: Int!
# The number of points remaining in the current rate limit window.
remaining: Int!
# The time at which the current rate limit window resets in UTC epoch seconds.
resetAt: DateTime!
}
# Represents a subject that can be reacted on.
interface Reactable {
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# A list of reactions grouped by content left on the subject.
reactionGroups: [ReactionGroup!]
# A list of Reactions left on the Issue.
reactions(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Allows filtering Reactions by emoji.
content: ReactionContent
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Allows specifying the order in which reactions are returned.
orderBy: ReactionOrder
): ReactionConnection!
# Can user react to this subject
viewerCanReact: Boolean!
}
# The connection type for User.
type ReactingUserConnection {
# A list of edges.
edges: [ReactingUserEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a user that's made a reaction.
type ReactingUserEdge {
cursor: String!
node: User!
# The moment when the user made the reaction.
reactedAt: DateTime!
}
# An emoji reaction to a particular piece of content.
type Reaction implements Node {
# Identifies the emoji reaction.
content: ReactionContent!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# The reactable piece of content
reactable: Reactable!
# Identifies the user who created this reaction.
user: User
}
# A list of reactions that have been left on the subject.
type ReactionConnection {
# A list of edges.
edges: [ReactionEdge]
# A list of nodes.
nodes: [Reaction]
# Information to aid in pagination.
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.
CONFUSED
# Represents the â¤ï¸ emoji.
HEART
# Represents the ð emoji.
HOORAY
# Represents the ð emoji.
LAUGH
# Represents the ð emoji.
THUMBS_DOWN
# Represents the ð emoji.
THUMBS_UP
}
# An edge in a connection.
type ReactionEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Reaction
}
# A group of emoji reactions to a particular piece of content.
type ReactionGroup {
# Identifies the emoji reaction.
content: ReactionContent!
# Identifies when the reaction was created.
createdAt: DateTime
# The subject that was reacted to.
subject: Reactable!
# Users who have reacted to the reaction subject with the emotion represented by this reaction group
users(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ReactingUserConnection!
# 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 direction in which to order reactions by the specified field.
direction: OrderDirection!
# The field in which to order reactions by.
field: ReactionOrderField!
}
# 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 {
# A list of pull requests with this ref as the head ref.
associatedPullRequests(
# Returns the elements in the list that come after the specified global ID.
after: String
# The base ref name to filter the pull requests by.
baseRefName: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# The head ref name to filter the pull requests by.
headRefName: String
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for pull requests returned from the connection.
orderBy: IssueOrder
# A list of states to filter the pull requests by.
states: [PullRequestState!]
): PullRequestConnection!
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!
}
# The connection type for Ref.
type RefConnection {
# A list of edges.
edges: [RefEdge]
# A list of nodes.
nodes: [Ref]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type RefEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Ref
}
# Ways in which lists of git refs can be ordered upon return.
input RefOrder {
# The direction in which to order refs by the specified field.
direction: OrderDirection!
# The field in which to order refs by.
field: RefOrderField!
}
# Properties by which ref connections can be ordered.
enum RefOrderField {
# Order refs by their alphanumeric name
ALPHABETICAL
# Order refs by underlying commit date if the ref prefix is refs/tags/
TAG_COMMIT_DATE
}
# Represents a 'referenced' event on a given `ReferencedSubject`.
type ReferencedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the commit associated with the 'referenced' event.
commit: Commit
# Identifies the repository associated with the 'referenced' event.
commitRepository: Repository!
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Reference originated in a different repository.
isCrossReference: Boolean! @deprecated(reason: \"`isCrossReference` will be renamed. Use `ReferencedEvent.isCrossRepository` instead. Removal on 2018-07-01 UTC.\")
# Reference originated in a different repository.
isCrossRepository: Boolean!
# Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference.
isDirectReference: Boolean!
# Object referenced by event.
subject: ReferencedSubject!
}
# Any referencable object
union ReferencedSubject = Issue | PullRequest
# A release contains the content for a release.
type Release implements Node, UniformResourceLocatable {
# The author of the release
author: User
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the description of the release.
description: String
id: ID!
# Whether or not the release is a draft
isDraft: Boolean!
# Whether or not the release is a prerelease
isPrerelease: Boolean!
# Identifies the title of the release.
name: String
# Identifies the date and time when the release was created.
publishedAt: DateTime
# List of releases assets which are dependent on this release.
releaseAssets(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# A list of names to filter the assets by.
name: String
): ReleaseAssetConnection!
# The HTTP path for this issue
resourcePath: URI!
# The Git tag the release points to
tag: Ref
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this issue
url: URI!
}
# A release asset contains the content for a release asset.
type ReleaseAsset implements Node {
# The asset's content-type
contentType: String!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The number of times this asset was downloaded
downloadCount: Int!
# Identifies the URL where you can download the release asset via the browser.
downloadUrl: URI!
id: ID!
# Identifies the title of the release asset.
name: String!
# Release that the asset is associated with
release: Release
# The size (in bytes) of the asset
size: Int!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The user that performed the upload
uploadedBy: User!
# Identifies the URL of the release asset.
url: URI!
}
# The connection type for ReleaseAsset.
type ReleaseAssetConnection {
# A list of edges.
edges: [ReleaseAssetEdge]
# A list of nodes.
nodes: [ReleaseAsset]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ReleaseAssetEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: ReleaseAsset
}
# The connection type for Release.
type ReleaseConnection {
# A list of edges.
edges: [ReleaseEdge]
# A list of nodes.
nodes: [Release]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ReleaseEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Release
}
# Ways in which lists of releases can be ordered upon return.
input ReleaseOrder {
# The direction in which to order releases by the specified field.
direction: OrderDirection!
# The field in which to order releases by.
field: ReleaseOrderField!
}
# Properties by which release connections can be ordered.
enum ReleaseOrderField {
# Order releases by creation time
CREATED_AT
# Order releases alphabetically by name
NAME
}
# Autogenerated input type of RemoveOutsideCollaborator
input RemoveOutsideCollaboratorInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The ID of the organization to remove the outside collaborator from.
organizationId: ID!
# The ID of the outside collaborator to remove.
userId: ID!
}
# Autogenerated return type of RemoveOutsideCollaborator
type RemoveOutsideCollaboratorPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The user that was removed as an outside collaborator.
removedUser: User!
}
# Autogenerated input type of RemoveReaction
input RemoveReactionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The name of the emoji to react with.
content: ReactionContent!
# The Node ID of the subject to modify.
subjectId: ID!
}
# Autogenerated return type of RemoveReaction
type RemoveReactionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The reaction object.
reaction: Reaction!
# The reactable subject.
subject: Reactable!
}
# Autogenerated input type of RemoveStar
input RemoveStarInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Starrable ID to unstar.
starrableId: ID!
}
# Autogenerated return type of RemoveStar
type RemoveStarPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The starrable.
starrable: Starrable!
}
# Represents a 'removed_from_project' event on a given issue or pull request.
type RemovedFromProjectEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
}
# Represents a 'renamed' event on a given issue or pull request
type RenamedTitleEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the current title of the issue or pull request.
currentTitle: String!
id: ID!
# Identifies the previous title of the issue or pull request.
previousTitle: String!
# Subject that was renamed.
subject: RenamedTitleSubject!
}
# An object which has a renamable title
union RenamedTitleSubject = Issue | PullRequest
# Represents a 'reopened' event on any `Closable`.
type ReopenedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Object that was reopened.
closable: Closable!
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
}
# A repository contains the content for a project.
type Repository implements Node, ProjectOwner, RepositoryInfo, Starrable, Subscribable, UniformResourceLocatable {
# A list of users that can be assigned to issues in this repository.
assignableUsers(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# Returns the code of conduct for this repository
codeOfConduct: CodeOfConduct
# A list of collaborators associated with the repository.
collaborators(
# Collaborators affiliation level with a repository.
affiliation: CollaboratorAffiliation
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): RepositoryCollaboratorConnection
# A list of commit comments associated with the repository.
commitComments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): CommitCommentConnection!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The Ref associated with the repository's default branch.
defaultBranchRef: Ref
# A list of deploy keys that are on this repository.
deployKeys(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): DeployKeyConnection!
# Deployments associated with the repository
deployments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Environments to list deployments for
environments: [String!]
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): DeploymentConnection!
# The description of the repository.
description: String
# The description of the repository rendered to HTML.
descriptionHTML: HTML!
# The number of kilobytes this repository occupies on disk.
diskUsage: Int
# Returns how many forks there are of this repository in the whole network.
forkCount: Int!
# A list of direct forked repositories.
forks(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): 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: URI
id: ID!
# Indicates if the repository is unmaintained.
isArchived: Boolean!
# 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!
# Returns a single issue from the current repository by number.
issue(
# The number for the issue to be returned.
number: Int!
): Issue
# Returns a single issue-like object from the current repository by number.
issueOrPullRequest(
# The number for the issue to be returned.
number: Int!
): IssueOrPullRequest
# A list of issues that have been opened in the repository.
issues(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for issues returned from the connection.
orderBy: IssueOrder
# A list of states to filter the issues by.
states: [IssueState!]
): IssueConnection!
# Returns a single label by name
label(
# Label name
name: String!
): Label
# A list of labels associated with the repository.
labels(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# If provided, searches labels by name and description.
query: String
): LabelConnection
# A list containing a breakdown of the language composition of the repository.
languages(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: LanguageOrder
): LanguageConnection
# The license associated with the repository
license: String @deprecated(reason: \"Field `license` will be replaced by a more detailed license object. Use `Repository.licenseInfo` instead. Removal on 2018-07-01 UTC.\")
# The license associated with the repository
licenseInfo: License
# 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 elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
# Whether or not PRs are merged with a merge commit on this repository.
mergeCommitAllowed: Boolean!
# Returns a single milestone from the current repository by number.
milestone(
# The number for the milestone to be returned.
number: Int!
): Milestone
# A list of milestones associated with the repository.
milestones(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for milestones.
orderBy: MilestoneOrder
# Filter by the state of the milestones.
states: [MilestoneState!]
): MilestoneConnection
# The repository's original mirror URL.
mirrorUrl: URI
# The name of the repository.
name: String!
# The repository's name with owner.
nameWithOwner: String!
# A Git object in the repository
object(
# A Git revision expression suitable for rev-parse
expression: String
# The Git object ID
oid: GitObjectID
): GitObject
# The User owner of the repository.
owner: RepositoryOwner!
# The repository parent, if this is a fork.
parent: Repository
# The primary language of the repository's code.
primaryLanguage: Language
# Find project by number.
project(
# The project number to find.
number: Int!
): Project
# A list of projects under the owner.
projects(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for projects returned from the connection
orderBy: ProjectOrder
# Query to search projects by, currently only searching by name.
search: String
# A list of states to filter the projects by.
states: [ProjectState!]
): ProjectConnection!
# The HTTP path listing repository's projects
projectsResourcePath: URI!
# The HTTP URL listing repository's projects
projectsUrl: URI!
# A list of protected branches that are on this repository.
protectedBranches(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): ProtectedBranchConnection!
# Returns a single pull request from the current repository by number.
pullRequest(
# The number for the pull request to be returned.
number: Int!
): PullRequest
# A list of pull requests that have been opened in the repository.
pullRequests(
# Returns the elements in the list that come after the specified global ID.
after: String
# The base ref name to filter the pull requests by.
baseRefName: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# The head ref name to filter the pull requests by.
headRefName: String
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for pull requests returned from the connection.
orderBy: IssueOrder
# A list of states to filter the pull requests by.
states: [PullRequestState!]
): PullRequestConnection!
# Identifies when the repository was last pushed to.
pushedAt: DateTime
# Whether or not rebase-merging is enabled on this repository.
rebaseMergeAllowed: Boolean!
# Fetch a given ref from the repository
ref(
# The ref to retrieve. Fully qualified matches are checked in order
# (`refs/heads/master`) before falling back onto checks for short name matches (`master`).
qualifiedName: String!
): Ref
# Fetch a list of refs from the repository
refs(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# DEPRECATED: use orderBy. The ordering direction.
direction: OrderDirection
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for refs returned from the connection.
orderBy: RefOrder
# A ref name prefix like `refs/heads/`, `refs/tags/`, etc.
refPrefix: String!
): RefConnection
# Lookup a single release given various criteria.
release(
# The name of the Tag the Release was created from
tagName: String!
): Release
# List of releases which are dependent on this repository.
releases(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: ReleaseOrder
): ReleaseConnection!
# A list of applied repository-topic associations for this repository.
repositoryTopics(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): RepositoryTopicConnection!
# The HTTP path for this repository
resourcePath: URI!
# A description of the repository, rendered to HTML without any links in it.
shortDescriptionHTML(
# How many characters to return.
limit: Int = 200
): HTML!
# Whether or not squash-merging is enabled on this repository.
squashMergeAllowed: Boolean!
# The SSH URL to clone this repository
sshUrl: GitSSHRemote!
# A list of users who have starred this starrable.
stargazers(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: StarOrder
): StargazerConnection!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this repository
url: URI!
# Indicates whether the viewer has admin permissions on this repository.
viewerCanAdminister: Boolean!
# Can the current viewer create new projects on this owner.
viewerCanCreateProjects: Boolean!
# Check if the viewer is able to change their subscription status for the repository.
viewerCanSubscribe: Boolean!
# Indicates whether the viewer can update the topics of this repository.
viewerCanUpdateTopics: Boolean!
# Returns a boolean indicating whether the viewing user has starred this starrable.
viewerHasStarred: Boolean!
# The users permission level on the repository. Will return null if authenticated as an GitHub App.
viewerPermission: RepositoryPermission
# Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
viewerSubscription: SubscriptionState!
# A list of users watching the repository.
watchers(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): UserConnection!
}
# The affiliation of a user to a repository
enum RepositoryAffiliation {
# Repositories that the user has been added to as a collaborator.
COLLABORATOR
# Repositories that the user has access to through being a member of an
# organization. This includes every repository on every team that the user is on.
ORGANIZATION_MEMBER
# Repositories that are owned by the authenticated user.
OWNER
}
# The affiliation type between collaborator and repository.
enum RepositoryCollaboratorAffiliation {
# All collaborators of the repository.
ALL
# All outside collaborators of an organization-owned repository.
OUTSIDE
}
# The connection type for User.
type RepositoryCollaboratorConnection {
# A list of edges.
edges: [RepositoryCollaboratorEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a user who is a collaborator of a repository.
type RepositoryCollaboratorEdge {
cursor: String!
node: User!
# The permission the user has on the repository.
permission: RepositoryPermission!
}
# A list of repositories owned by the subject.
type RepositoryConnection {
# A list of edges.
edges: [RepositoryEdge]
# A list of nodes.
nodes: [Repository]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
# The total size in kilobytes of all repositories in the connection.
totalDiskUsage: Int!
}
# The reason a repository is listed as 'contributed'.
enum RepositoryContributionType {
# Created a commit
COMMIT
# Created an issue
ISSUE
# Created a pull request
PULL_REQUEST
# Reviewed a pull request
PULL_REQUEST_REVIEW
# Created the repository
REPOSITORY
}
# An edge in a connection.
type RepositoryEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Repository
}
# A subset of repository info.
interface RepositoryInfo {
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The description of the repository.
description: String
# The description of the repository rendered to HTML.
descriptionHTML: HTML!
# Returns how many forks there are of this repository in the whole network.
forkCount: Int!
# 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: URI
# Indicates if the repository is unmaintained.
isArchived: Boolean!
# 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 license associated with the repository
license: String @deprecated(reason: \"Field `license` will be replaced by a more detailed license object. Use `Repository.licenseInfo` instead. Removal on 2018-07-01 UTC.\")
# The license associated with the repository
licenseInfo: License
# The reason the repository has been locked.
lockReason: RepositoryLockReason
# The repository's original mirror URL.
mirrorUrl: URI
# The name of the repository.
name: String!
# The repository's name with owner.
nameWithOwner: String!
# The User owner of the repository.
owner: RepositoryOwner!
# Identifies when the repository was last pushed to.
pushedAt: DateTime
# The HTTP path for this repository
resourcePath: URI!
# A description of the repository, rendered to HTML without any links in it.
shortDescriptionHTML(
# How many characters to return.
limit: Int = 200
): HTML!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this repository
url: URI!
}
# 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 permission granted on this repository by this invitation.
permission: RepositoryPermission!
# The Repository the user is invited to.
repository: RepositoryInfo
}
# The possible reasons a given repository could be in a locked state.
enum RepositoryLockReason {
# The repository is locked due to a billing related reason.
BILLING
# The repository is locked due to a migration.
MIGRATING
# The repository is locked due to a move.
MOVING
# The repository is locked due to a rename.
RENAME
}
# Represents a object that belongs to a repository.
interface RepositoryNode {
# The repository associated with this node.
repository: Repository!
}
# Ordering options for repository connections
input RepositoryOrder {
# The ordering direction.
direction: OrderDirection!
# The field to order repositories by.
field: RepositoryOrderField!
}
# Properties by which repository connections can be ordered.
enum RepositoryOrderField {
# Order repositories by creation time
CREATED_AT
# Order repositories by name
NAME
# Order repositories by push time
PUSHED_AT
# Order repositories by number of stargazers
STARGAZERS
# Order repositories by update time
UPDATED_AT
}
# Represents an owner of a Repository.
interface RepositoryOwner {
# A URL pointing to the owner's public avatar.
avatarUrl(
# The size of the resulting square image.
size: Int
): URI!
id: ID!
# The username used to login.
login: String!
# A list of repositories this user has pinned to their profile
pinnedRepositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# A list of repositories that the user owns.
repositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they are forks of another repository
isFork: Boolean
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# Find Repository.
repository(
# Name of Repository to find.
name: String!
): Repository
# The HTTP URL for the owner.
resourcePath: URI!
# The HTTP URL for the owner.
url: URI!
}
# The access level to a repository
enum RepositoryPermission {
# Can read, clone, push, and add collaborators
ADMIN
# Can read and clone
READ
# Can read, clone and push
WRITE
}
# The privacy of a repository
enum RepositoryPrivacy {
# Private
PRIVATE
# Public
PUBLIC
}
# A repository-topic connects a repository to a topic.
type RepositoryTopic implements Node, UniformResourceLocatable {
id: ID!
# The HTTP path for this repository-topic.
resourcePath: URI!
# The topic.
topic: Topic!
# The HTTP URL for this repository-topic.
url: URI!
}
# The connection type for RepositoryTopic.
type RepositoryTopicConnection {
# A list of edges.
edges: [RepositoryTopicEdge]
# A list of nodes.
nodes: [RepositoryTopic]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type RepositoryTopicEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: RepositoryTopic
}
# Autogenerated input type of RequestReviews
input RequestReviewsInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the pull request to modify.
pullRequestId: ID!
# The Node IDs of the team to request.
teamIds: [ID!]
# Add users to the set rather than replace.
union: Boolean
# The Node IDs of the user to request.
userIds: [ID!]
}
# Autogenerated return type of RequestReviews
type RequestReviewsPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The pull request that is getting requests.
pullRequest: PullRequest!
# The edge from the pull request to the requested reviewers.
requestedReviewersEdge: UserEdge!
}
# Types that can be requested reviewers.
union RequestedReviewer = Team | User
# A team or user who has the ability to dismiss a review on a protected branch.
type ReviewDismissalAllowance implements Node {
# The actor that can dismiss.
actor: ReviewDismissalAllowanceActor
id: ID!
# Identifies the protected branch associated with the allowed user or team.
protectedBranch: ProtectedBranch!
}
# Types that can be an actor.
union ReviewDismissalAllowanceActor = Team | User
# The connection type for ReviewDismissalAllowance.
type ReviewDismissalAllowanceConnection {
# A list of edges.
edges: [ReviewDismissalAllowanceEdge]
# A list of nodes.
nodes: [ReviewDismissalAllowance]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ReviewDismissalAllowanceEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: ReviewDismissalAllowance
}
# Represents a 'review_dismissed' event on a given issue or pull request.
type ReviewDismissedEvent implements Node, UniformResourceLocatable {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# Identifies the message associated with the 'review_dismissed' event.
message: String!
# The message associated with the event, rendered to HTML.
messageHtml: HTML!
# Identifies the previous state of the review with the 'review_dismissed' event.
previousReviewState: PullRequestReviewState!
# PullRequest referenced by event.
pullRequest: PullRequest!
# Identifies the commit which caused the review to become stale.
pullRequestCommit: PullRequestCommit
# The HTTP path for this review dismissed event.
resourcePath: URI!
# Identifies the review associated with the 'review_dismissed' event.
review: PullRequestReview
# The HTTP URL for this review dismissed event.
url: URI!
}
# A request for a user to review a pull request.
type ReviewRequest implements Node {
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
id: ID!
# Identifies the pull request associated with this review request.
pullRequest: PullRequest!
# The reviewer that is requested.
requestedReviewer: RequestedReviewer
# Identifies the author associated with this review request.
reviewer: User @deprecated(reason: \"Field `reviewer` will be changed in favor of returning a union type. Use `ReviewRequest.requestedReviewer` instead. Removal on 2018-07-01 UTC.\")
}
# The connection type for ReviewRequest.
type ReviewRequestConnection {
# A list of edges.
edges: [ReviewRequestEdge]
# A list of nodes.
nodes: [ReviewRequest]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type ReviewRequestEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: ReviewRequest
}
# Represents an 'review_request_removed' event on a given pull request.
type ReviewRequestRemovedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
# Identifies the reviewer whose review request was removed.
requestedReviewer: RequestedReviewer
# Identifies the user whose review request was removed.
subject: User @deprecated(reason: \"`subject` will be renamed. Use `ReviewRequestRemovedEvent.requestedReviewer` instead. Removal on 2018-07-01 UTC.\")
}
# Represents an 'review_requested' event on a given pull request.
type ReviewRequestedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# PullRequest referenced by event.
pullRequest: PullRequest!
# Identifies the reviewer whose review was requested.
requestedReviewer: RequestedReviewer
# Identifies the user whose review was requested.
subject: User @deprecated(reason: \"`subject` will be renamed. Use `ReviewRequestedEvent.requestedReviewer` instead. Removal on 2018-07-01 UTC.\")
}
# The results of a search.
union SearchResultItem = Issue | MarketplaceListing | Organization | PullRequest | Repository | User
# 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!
# A list of edges.
edges: [SearchResultItemEdge]
# The number of issues that matched the search query.
issueCount: Int!
# A list of nodes.
nodes: [SearchResultItem]
# Information to aid in pagination.
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!
}
# An edge in a connection.
type SearchResultItemEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: SearchResultItem
# Text matches on the result found.
textMatches: [TextMatch]
}
# 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 and organizations on GitHub.
USER
}
# Represents an S/MIME signature on a Commit or Tag.
type SmimeSignature 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!
}
# Ways in which star connections can be ordered.
input StarOrder {
# The direction in which to order nodes.
direction: OrderDirection!
# The field in which to order nodes by.
field: StarOrderField!
}
# Properties by which star connections can be ordered.
enum StarOrderField {
# Allows ordering a list of stars by when they were created.
STARRED_AT
}
# The connection type for User.
type StargazerConnection {
# A list of edges.
edges: [StargazerEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a user that's starred a repository.
type StargazerEdge {
cursor: String!
node: User!
# Identifies when the item was starred.
starredAt: DateTime!
}
# Things that can be starred.
interface Starrable {
id: ID!
# A list of users who have starred this starrable.
stargazers(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: StarOrder
): StargazerConnection!
# Returns a boolean indicating whether the viewing user has starred this starrable.
viewerHasStarred: Boolean!
}
# The connection type for Repository.
type StarredRepositoryConnection {
# A list of edges.
edges: [StarredRepositoryEdge]
# A list of nodes.
nodes: [Repository]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a starred repository.
type StarredRepositoryEdge {
cursor: String!
node: Repository!
# Identifies when the item was starred.
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 {
# This commit this status context is attached to.
commit: Commit
# The name of this status context.
context: String!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The actor who created this status context.
creator: Actor
# 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: URI
}
# The possible commit status states.
enum StatusState {
# Status is errored.
ERROR
# Status is expected.
EXPECTED
# Status is failing.
FAILURE
# Status is pending.
PENDING
# Status is successful.
SUCCESS
}
# Autogenerated input type of SubmitPullRequestReview
input SubmitPullRequestReviewInput {
# The text field to set on the Pull Request Review.
body: String
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The event to send to the Pull Request Review.
event: PullRequestReviewEvent!
# The Pull Request Review ID to submit.
pullRequestReviewId: ID!
}
# Autogenerated return type of SubmitPullRequestReview
type SubmitPullRequestReviewPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The submitted pull request review.
pullRequestReview: PullRequestReview!
}
# Entities that can be subscribed to for web and email notifications.
interface Subscribable {
id: ID!
# Check if the viewer is able to change their subscription status for the repository.
viewerCanSubscribe: Boolean!
# Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
viewerSubscription: SubscriptionState!
}
# Represents a 'subscribed' event on a given `Subscribable`.
type SubscribedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Object referenced by event.
subscribable: Subscribable!
}
# The possible states of a subscription.
enum SubscriptionState {
# The User is never notified.
IGNORED
# The User is notified of all conversations.
SUBSCRIBED
# Subscriptions are currently unavailable
UNAVAILABLE
# The User is only notified when particpating or @mentioned.
UNSUBSCRIBED
}
# A suggestion to review a pull request based on a user's commit history and review comments.
type SuggestedReviewer {
# Is this suggestion based on past commits?
isAuthor: Boolean!
# Is this suggestion based on past review comments?
isCommenter: Boolean!
# Identifies the user suggested to review the pull request.
reviewer: User!
}
# Represents a Git tag.
type Tag implements GitObject, Node {
# An abbreviated version of the Git object ID
abbreviatedOid: String!
# The HTTP path for this Git object
commitResourcePath: URI!
# The HTTP URL for this Git object
commitUrl: URI!
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!
# Details about the tag author.
tagger: GitActor
# The Git object the tag points to.
target: GitObject!
}
# A team of users in an organization.
type Team implements Node, Subscribable {
# A list of teams that are ancestors of this team.
ancestors(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): TeamConnection!
# A URL pointing to the team's avatar.
avatarUrl(
# The size in pixels of the resulting square image.
size: Int = 400
): URI
# List of child teams belonging to this team
childTeams(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Whether to list immediate child teams or all descendant child teams.
immediateOnly: Boolean = true
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: TeamOrder
# User logins to filter by
userLogins: [String!]
): TeamConnection!
# The slug corresponding to the organization and team.
combinedSlug: String!
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The description of the team.
description: String
# The HTTP path for editing this team
editTeamResourcePath: URI!
# The HTTP URL for editing this team
editTeamUrl: URI!
id: ID!
# A list of pending invitations for users to this team
invitations(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): OrganizationInvitationConnection
# A list of users who are members of this team.
members(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Filter by membership type
membership: TeamMembershipType = ALL
# The search string to look for.
query: String
# Filter by team member role
role: TeamMemberRole
): TeamMemberConnection!
# The HTTP path for the team' members
membersResourcePath: URI!
# The HTTP URL for the team' members
membersUrl: URI!
# The name of the team.
name: String!
# The HTTP path creating a new team
newTeamResourcePath: URI!
# The HTTP URL creating a new team
newTeamUrl: URI!
# The organization that owns this team.
organization: Organization!
# The parent team of the team.
parentTeam: Team
# The level of privacy the team has.
privacy: TeamPrivacy!
# A list of repositories this team has access to.
repositories(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for the connection.
orderBy: TeamRepositoryOrder
# The search string to look for.
query: String
): TeamRepositoryConnection!
# The HTTP path for this team's repositories
repositoriesResourcePath: URI!
# The HTTP URL for this team's repositories
repositoriesUrl: URI!
# The HTTP path for this team
resourcePath: URI!
# The slug corresponding to the team.
slug: String!
# The HTTP path for this team's teams
teamsResourcePath: URI!
# The HTTP URL for this team's teams
teamsUrl: URI!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this team
url: URI!
# Team is adminable by the viewer.
viewerCanAdminister: Boolean!
# Check if the viewer is able to change their subscription status for the repository.
viewerCanSubscribe: Boolean!
# Identifies if the viewer is watching, not watching, or ignoring the subscribable entity.
viewerSubscription: SubscriptionState!
}
# The connection type for Team.
type TeamConnection {
# A list of edges.
edges: [TeamEdge]
# A list of nodes.
nodes: [Team]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type TeamEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Team
}
# The connection type for User.
type TeamMemberConnection {
# A list of edges.
edges: [TeamMemberEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a user who is a member of a team.
type TeamMemberEdge {
cursor: String!
# The HTTP path to the organization's member access page.
memberAccessResourcePath: URI!
# The HTTP URL to the organization's member access page.
memberAccessUrl: URI!
node: User!
# The role the member has on the team.
role: TeamMemberRole!
}
# The possible team member roles; either 'maintainer' or 'member'.
enum TeamMemberRole {
# A team maintainer has permission to add and remove team members.
MAINTAINER
# A team member has no administrative permissions on the team.
MEMBER
}
# Defines which types of team members are included in the returned list. Can be one of IMMEDIATE, CHILD_TEAM or ALL.
enum TeamMembershipType {
# Includes immediate and child team members for the team.
ALL
# Includes only child team members for the team.
CHILD_TEAM
# Includes only immediate members of the team.
IMMEDIATE
}
# Ways in which team connections can be ordered.
input TeamOrder {
# The direction in which to order nodes.
direction: OrderDirection!
# The field in which to order nodes by.
field: TeamOrderField!
}
# Properties by which team connections can be ordered.
enum TeamOrderField {
# Allows ordering a list of teams by name.
NAME
}
# The possible team privacy values.
enum TeamPrivacy {
# A secret team can only be seen by its members.
SECRET
# A visible team can be seen and @mentioned by every member of the organization.
VISIBLE
}
# The connection type for Repository.
type TeamRepositoryConnection {
# A list of edges.
edges: [TeamRepositoryEdge]
# A list of nodes.
nodes: [Repository]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# Represents a team repository.
type TeamRepositoryEdge {
cursor: String!
node: Repository!
# The permission level the team has on the repository
permission: RepositoryPermission!
}
# Ordering options for team repository connections
input TeamRepositoryOrder {
# The ordering direction.
direction: OrderDirection!
# The field to order repositories by.
field: TeamRepositoryOrderField!
}
# Properties by which team repository connections can be ordered.
enum TeamRepositoryOrderField {
# Order repositories by creation time
CREATED_AT
# Order repositories by name
NAME
# Order repositories by permission
PERMISSION
# Order repositories by push time
PUSHED_AT
# Order repositories by number of stargazers
STARGAZERS
# Order repositories by update time
UPDATED_AT
}
# The role of a user on a team.
enum TeamRole {
# User has admin rights on the team.
ADMIN
# User is a member of the team.
MEMBER
}
# A text match within a search result.
type TextMatch {
# The specific text fragment within the property matched on.
fragment: String!
# Highlights within the matched fragment.
highlights: [TextMatchHighlight]!
# The property matched on.
property: String!
}
# Represents a single highlight in a search result match.
type TextMatchHighlight {
# The indice in the fragment where the matched text begins.
beginIndice: Int!
# The indice in the fragment where the matched text ends.
endIndice: Int!
# The text matched.
text: String!
}
# A topic aggregates entities that are related to a subject.
type Topic implements Node {
id: ID!
# The topic's name.
name: String!
# A list of related topics, including aliases of this topic, sorted with the most relevant
# first.
relatedTopics: [Topic!]!
}
# The connection type for Topic.
type TopicConnection {
# A list of edges.
edges: [TopicEdge]
# A list of nodes.
nodes: [Topic]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type TopicEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: Topic
}
# Reason that the suggested topic is declined.
enum TopicSuggestionDeclineReason {
# The suggested topic is not relevant to the repository.
NOT_RELEVANT
# The viewer does not like the suggested topic.
PERSONAL_PREFERENCE
# The suggested topic is too general for the repository.
TOO_GENERAL
# The suggested topic is too specific for the repository (e.g. #ruby-on-rails-version-4-2-1).
TOO_SPECIFIC
}
# Represents a Git tree.
type Tree implements GitObject, Node {
# An abbreviated version of the Git object ID
abbreviatedOid: String!
# The HTTP path for this Git object
commitResourcePath: URI!
# The HTTP URL for this Git object
commitUrl: URI!
# 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!
}
# An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string.
scalar URI
# Represents an 'unassigned' event on any assignable object.
type UnassignedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the assignable associated with the event.
assignable: Assignable!
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the subject (user) who was unassigned.
user: User
}
# Represents a type that can be retrieved by a URL.
interface UniformResourceLocatable {
# The HTML path to this resource.
resourcePath: URI!
# The URL to this resource.
url: URI!
}
# 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 an 'unlabeled' event on a given issue or pull request.
type UnlabeledEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Identifies the label associated with the 'unlabeled' event.
label: Label!
# Identifies the `Labelable` associated with the event.
labelable: Labelable!
}
# Represents an 'unlocked' event on a given issue or pull request.
type UnlockedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Object that was unlocked.
lockable: Lockable!
}
# Represents an 'unsubscribed' event on a given `Subscribable`.
type UnsubscribedEvent implements Node {
# Identifies the actor who performed the event.
actor: Actor
# Identifies the date and time when the object was created.
createdAt: DateTime!
id: ID!
# Object referenced by event.
subscribable: Subscribable!
}
# Entities that can be updated.
interface Updatable {
# Check if the current viewer can update this object.
viewerCanUpdate: Boolean!
}
# Comments that can be updated.
interface UpdatableComment {
# Reasons why the current viewer can not update this comment.
viewerCannotUpdateReasons: [CommentCannotUpdateReason!]!
}
# Autogenerated input type of UpdateProjectCard
input UpdateProjectCardInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The note of ProjectCard.
note: String!
# The ProjectCard ID to update.
projectCardId: ID!
}
# 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 name of project column.
name: String!
# The ProjectColumn ID to update.
projectColumnId: ID!
}
# 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 {
# The description of project.
body: String
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The name of project.
name: String
# The Project ID to update.
projectId: ID!
# Whether the project is public or not.
public: Boolean
# Whether the project is open or closed.
state: ProjectState
}
# 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 UpdatePullRequestReviewComment
input UpdatePullRequestReviewCommentInput {
# The text of the comment.
body: String!
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the comment to modify.
pullRequestReviewCommentId: ID!
}
# Autogenerated return type of UpdatePullRequestReviewComment
type UpdatePullRequestReviewCommentPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The updated comment.
pullRequestReviewComment: PullRequestReviewComment!
}
# Autogenerated input type of UpdatePullRequestReview
input UpdatePullRequestReviewInput {
# The contents of the pull request review body.
body: String!
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the pull request review to modify.
pullRequestReviewId: ID!
}
# Autogenerated return type of UpdatePullRequestReview
type UpdatePullRequestReviewPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The updated pull request review.
pullRequestReview: PullRequestReview!
}
# Autogenerated input type of UpdateSubscription
input UpdateSubscriptionInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The new state of the subscription.
state: SubscriptionState!
# The Node ID of the subscribable object to modify.
subscribableId: ID!
}
# Autogenerated return type of UpdateSubscription
type UpdateSubscriptionPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The input subscribable entity.
subscribable: Subscribable!
}
# Autogenerated input type of UpdateTopics
input UpdateTopicsInput {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# The Node ID of the repository.
repositoryId: ID!
# An array of topic names.
topicNames: [String!]!
}
# Autogenerated return type of UpdateTopics
type UpdateTopicsPayload {
# A unique identifier for the client performing the mutation.
clientMutationId: String
# Names of the provided topics that are not valid.
invalidTopicNames: [String!]
# The updated repository.
repository: Repository!
}
# A user is an individual's account on GitHub that owns repositories and can make new content.
type User implements Actor, Node, RepositoryOwner, UniformResourceLocatable {
# A URL pointing to the user's public avatar.
avatarUrl(
# The size of the resulting square image.
size: Int
): URI!
# The user's public profile bio.
bio: String
# The user's public profile bio as HTML.
bioHTML: HTML!
# A list of commit comments made by this user.
commitComments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): CommitCommentConnection!
# The user's public profile company.
company: String
# The user's public profile company as HTML.
companyHTML: HTML!
# A list of repositories that the user recently contributed to.
contributedRepositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection! @deprecated(reason: \"Arguments for connection `contributedRepositories` are getting redesigned. Use `User.repositoriesContributedTo` instead. Removal on 2018-07-01 UTC.\")
# Identifies the date and time when the object was created.
createdAt: DateTime!
# Identifies the primary key from the database.
databaseId: Int @deprecated(reason: \"Exposed database IDs will eventually be removed in favor of global Relay IDs. Use `Node.id` instead. Removal on 2018-07-01 UTC.\")
# The user's publicly visible profile email.
email: String!
# A list of users the given user is followed by.
followers(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): FollowerConnection!
# A list of users the given user is following.
following(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): FollowingConnection!
# Find gist by repo name.
gist(
# The gist name to find.
name: String!
): Gist
# A list of gist comments made by this user.
gistComments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): GistCommentConnection!
# A list of the Gists the user has created.
gists(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for gists returned from the connection
orderBy: GistOrder
# Filters Gists according to privacy.
privacy: GistPrivacy
): GistConnection!
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 participant in the GitHub Campus Experts Program.
isCampusExpert: 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 the user has marked themselves as for hire.
isHireable: Boolean!
# Whether or not this user is a site administrator.
isSiteAdmin: Boolean!
# Whether or not this user is the viewing user.
isViewer: Boolean!
# A list of issue comments made by this user.
issueComments(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): IssueCommentConnection!
# A list of issues assocated with this user.
issues(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for issues returned from the connection.
orderBy: IssueOrder
# A list of states to filter the issues by.
states: [IssueState!]
): IssueConnection!
# The user's public profile location.
location: String
# The username used to login.
login: String!
# The user's public profile name.
name: String
# Find an organization by its login that the user belongs to.
organization(
# The login of the organization to find.
login: String!
): Organization
# A list of organizations the user belongs to.
organizations(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): OrganizationConnection!
# A list of repositories this user has pinned to their profile
pinnedRepositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# A list of public keys associated with this user.
publicKeys(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
): PublicKeyConnection!
# A list of pull requests assocated with this user.
pullRequests(
# Returns the elements in the list that come after the specified global ID.
after: String
# The base ref name to filter the pull requests by.
baseRefName: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# The head ref name to filter the pull requests by.
headRefName: String
# A list of label names to filter the pull requests by.
labels: [String!]
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for pull requests returned from the connection.
orderBy: IssueOrder
# A list of states to filter the pull requests by.
states: [PullRequestState!]
): PullRequestConnection!
# A list of repositories that the user owns.
repositories(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they are forks of another repository
isFork: Boolean
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# A list of repositories that the user recently contributed to.
repositoriesContributedTo(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# If non-null, include only the specified types of contributions. The
# GitHub.com UI uses [COMMIT, ISSUE, PULL_REQUEST, REPOSITORY]
contributionTypes: [RepositoryContributionType]
# Returns the first _n_ elements from the list.
first: Int
# If true, include user repositories
includeUserRepositories: Boolean
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# Find Repository.
repository(
# Name of Repository to find.
name: String!
): Repository
# The HTTP path for this user
resourcePath: URI!
# Repositories the user has starred.
starredRepositories(
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# Returns the last _n_ elements from the list.
last: Int
# Order for connection
orderBy: StarOrder
# Filters starred repositories to only return repositories owned by the viewer.
ownedByViewer: Boolean
): StarredRepositoryConnection!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
# The HTTP URL for this user
url: URI!
# 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(
# Affiliation options for repositories returned from the connection
affiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR]
# Returns the elements in the list that come after the specified global ID.
after: String
# Returns the elements in the list that come before the specified global ID.
before: String
# Returns the first _n_ elements from the list.
first: Int
# If non-null, filters repositories according to whether they have been locked
isLocked: Boolean
# Returns the last _n_ elements from the list.
last: Int
# Ordering options for repositories returned from the connection
orderBy: RepositoryOrder
# If non-null, filters repositories according to privacy
privacy: RepositoryPrivacy
): RepositoryConnection!
# A URL pointing to the user's public website/blog.
websiteUrl: URI
}
# The connection type for User.
type UserConnection {
# A list of edges.
edges: [UserEdge]
# A list of nodes.
nodes: [User]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edit on user content
type UserContentEdit implements Node {
# Identifies the date and time when the object was created.
createdAt: DateTime!
# The actor who edited this content,
editor: Actor
id: ID!
# Identifies the date and time when the object was last updated.
updatedAt: DateTime! @deprecated(reason: \"General type updated timestamps will eventually be replaced by other field specific timestamps. Removal on 2018-07-01 UTC.\")
}
# A list of edits to content.
type UserContentEditConnection {
# A list of edges.
edges: [UserContentEditEdge]
# A list of nodes.
nodes: [UserContentEdit]
# Information to aid in pagination.
pageInfo: PageInfo!
# Identifies the total count of items in the connection.
totalCount: Int!
}
# An edge in a connection.
type UserContentEditEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: UserContentEdit
}
# An edge in a connection.
type UserEdge {
# A cursor for use in pagination.
cursor: String!
# The item at the end of the edge.
node: User
}
# A valid x509 certificate string
scalar X509Certificate"
}