From 76bb3bd87d0300b478d6abcdeaf1bbdfa9f8f036 Mon Sep 17 00:00:00 2001 From: Thomas Heyenbrock Date: Sat, 29 Jan 2022 17:53:49 +0100 Subject: [PATCH] feat: add example app for `sendGraphQLRequest` --- examples/github-explorer/.env.example | 1 + examples/github-explorer/.gitignore | 6 + examples/github-explorer/README.md | 10 + examples/github-explorer/app/entry.client.tsx | 4 + examples/github-explorer/app/entry.server.tsx | 21 + .../app/graphql/endpoint.server.ts | 1 + .../github-explorer/app/graphql/helpers.ts | 1 + examples/github-explorer/app/graphql/types.ts | 22461 ++++++++++++++++ examples/github-explorer/app/root.tsx | 131 + .../github-explorer/app/routes/$username.tsx | 76 + examples/github-explorer/codegen.yml | 13 + examples/github-explorer/package.json | 35 + examples/github-explorer/public/favicon.ico | Bin 0 -> 16958 bytes examples/github-explorer/remix.config.js | 11 + examples/github-explorer/tsconfig.json | 20 + examples/github-explorer/yarn.lock | 6052 +++++ 16 files changed, 28843 insertions(+) create mode 100644 examples/github-explorer/.env.example create mode 100644 examples/github-explorer/.gitignore create mode 100644 examples/github-explorer/README.md create mode 100644 examples/github-explorer/app/entry.client.tsx create mode 100644 examples/github-explorer/app/entry.server.tsx create mode 100644 examples/github-explorer/app/graphql/endpoint.server.ts create mode 100644 examples/github-explorer/app/graphql/helpers.ts create mode 100644 examples/github-explorer/app/graphql/types.ts create mode 100644 examples/github-explorer/app/root.tsx create mode 100644 examples/github-explorer/app/routes/$username.tsx create mode 100644 examples/github-explorer/codegen.yml create mode 100644 examples/github-explorer/package.json create mode 100644 examples/github-explorer/public/favicon.ico create mode 100644 examples/github-explorer/remix.config.js create mode 100644 examples/github-explorer/tsconfig.json create mode 100644 examples/github-explorer/yarn.lock diff --git a/examples/github-explorer/.env.example b/examples/github-explorer/.env.example new file mode 100644 index 0000000..41c1e77 --- /dev/null +++ b/examples/github-explorer/.env.example @@ -0,0 +1 @@ +GITHUB_TOKEN='ghp_ABC...' diff --git a/examples/github-explorer/.gitignore b/examples/github-explorer/.gitignore new file mode 100644 index 0000000..3f7bf98 --- /dev/null +++ b/examples/github-explorer/.gitignore @@ -0,0 +1,6 @@ +node_modules + +/.cache +/build +/public/build +.env diff --git a/examples/github-explorer/README.md b/examples/github-explorer/README.md new file mode 100644 index 0000000..3acf49c --- /dev/null +++ b/examples/github-explorer/README.md @@ -0,0 +1,10 @@ +# github-explorer + +This exmple shows how to use `remix-graphql` to execute GraphQL operations +against a remote GraphQL API in your loaders and actions. It uses the +`sendGraphQLRequest` function. + +In the example app you can search GitHub users by name and look up their ten +most starred public repositories. The search query runs in an action function +that handles a form submission with the string to search by. The query for +a user and the repos runs in a loader function. diff --git a/examples/github-explorer/app/entry.client.tsx b/examples/github-explorer/app/entry.client.tsx new file mode 100644 index 0000000..a19979b --- /dev/null +++ b/examples/github-explorer/app/entry.client.tsx @@ -0,0 +1,4 @@ +import { hydrate } from "react-dom"; +import { RemixBrowser } from "remix"; + +hydrate(, document); diff --git a/examples/github-explorer/app/entry.server.tsx b/examples/github-explorer/app/entry.server.tsx new file mode 100644 index 0000000..9749895 --- /dev/null +++ b/examples/github-explorer/app/entry.server.tsx @@ -0,0 +1,21 @@ +import { renderToString } from "react-dom/server"; +import { RemixServer } from "remix"; +import type { EntryContext } from "remix"; + +export default function handleRequest( + request: Request, + responseStatusCode: number, + responseHeaders: Headers, + remixContext: EntryContext +) { + const markup = renderToString( + + ); + + responseHeaders.set("Content-Type", "text/html"); + + return new Response("" + markup, { + status: responseStatusCode, + headers: responseHeaders + }); +} diff --git a/examples/github-explorer/app/graphql/endpoint.server.ts b/examples/github-explorer/app/graphql/endpoint.server.ts new file mode 100644 index 0000000..726e07f --- /dev/null +++ b/examples/github-explorer/app/graphql/endpoint.server.ts @@ -0,0 +1 @@ +export const endpoint = "https://api.github.com/graphql"; diff --git a/examples/github-explorer/app/graphql/helpers.ts b/examples/github-explorer/app/graphql/helpers.ts new file mode 100644 index 0000000..33ed7cb --- /dev/null +++ b/examples/github-explorer/app/graphql/helpers.ts @@ -0,0 +1 @@ +export type ArrayItem = T extends Array ? S : never; diff --git a/examples/github-explorer/app/graphql/types.ts b/examples/github-explorer/app/graphql/types.ts new file mode 100644 index 0000000..415fa7c --- /dev/null +++ b/examples/github-explorer/app/graphql/types.ts @@ -0,0 +1,22461 @@ +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; + /** A (potentially binary) string encoded using base64. */ + Base64String: any; + /** An ISO-8601 encoded date string. */ + Date: any; + /** An ISO-8601 encoded UTC date string. */ + DateTime: any; + /** A Git object ID. */ + GitObjectID: any; + /** Git SSH string */ + GitSSHRemote: any; + /** An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC. */ + GitTimestamp: any; + /** A string containing HTML code. */ + HTML: any; + /** An ISO-8601 encoded UTC date string with millisecond precision. */ + PreciseDateTime: any; + /** An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string. */ + URI: any; + /** A valid x509 certificate string */ + X509Certificate: any; +}; + +/** Autogenerated input type of AbortQueuedMigrations */ +export type AbortQueuedMigrationsInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the organization that is running the migrations. */ + ownerId: Scalars['ID']; +}; + +/** Autogenerated return type of AbortQueuedMigrations */ +export type AbortQueuedMigrationsPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Did the operation succeed? */ + success?: Maybe; +}; + +/** Autogenerated input type of AcceptEnterpriseAdministratorInvitation */ +export type AcceptEnterpriseAdministratorInvitationInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The id of the invitation being accepted */ + invitationId: Scalars['ID']; +}; + +/** Autogenerated return type of AcceptEnterpriseAdministratorInvitation */ +export type AcceptEnterpriseAdministratorInvitationPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The invitation that was accepted. */ + invitation?: Maybe; + /** A message confirming the result of accepting an administrator invitation. */ + message?: Maybe; +}; + +/** Autogenerated input type of AcceptTopicSuggestion */ +export type AcceptTopicSuggestionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of the suggested topic. */ + name: Scalars['String']; + /** The Node ID of the repository. */ + repositoryId: Scalars['ID']; +}; + +/** Autogenerated return type of AcceptTopicSuggestion */ +export type AcceptTopicSuggestionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The accepted topic. */ + topic?: Maybe; +}; + +/** Represents an object which can take actions on GitHub. Typically a User or Bot. */ +export type Actor = { + /** A URL pointing to the actor's public avatar. */ + avatarUrl: Scalars['URI']; + /** The username of the actor. */ + login: Scalars['String']; + /** The HTTP path for this actor. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this actor. */ + url: Scalars['URI']; +}; + + +/** Represents an object which can take actions on GitHub. Typically a User or Bot. */ +export type ActorAvatarUrlArgs = { + size?: InputMaybe; +}; + +/** Location information for an actor */ +export type ActorLocation = { + /** City */ + city?: Maybe; + /** Country name */ + country?: Maybe; + /** Country code */ + countryCode?: Maybe; + /** Region name */ + region?: Maybe; + /** Region or state code */ + regionCode?: Maybe; +}; + +/** The actor's type. */ +export enum ActorType { + /** Indicates a team actor. */ + Team = 'TEAM', + /** Indicates a user actor. */ + User = 'USER' +} + +/** Autogenerated input type of AddAssigneesToAssignable */ +export type AddAssigneesToAssignableInput = { + /** The id of the assignable object to add assignees to. */ + assignableId: Scalars['ID']; + /** The id of users to add as assignees. */ + assigneeIds: Array; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; +}; + +/** Autogenerated return type of AddAssigneesToAssignable */ +export type AddAssigneesToAssignablePayload = { + /** The item that was assigned. */ + assignable?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of AddComment */ +export type AddCommentInput = { + /** The contents of the comment. */ + body: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the subject to modify. */ + subjectId: Scalars['ID']; +}; + +/** Autogenerated return type of AddComment */ +export type AddCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The edge from the subject's comment connection. */ + commentEdge?: Maybe; + /** The subject */ + subject?: Maybe; + /** The edge from the subject's timeline connection. */ + timelineEdge?: Maybe; +}; + +/** Autogenerated input type of AddDiscussionComment */ +export type AddDiscussionCommentInput = { + /** The contents of the comment. */ + body: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the discussion to comment on. */ + discussionId: Scalars['ID']; + /** The Node ID of the discussion comment within this discussion to reply to. */ + replyToId?: InputMaybe; +}; + +/** Autogenerated return type of AddDiscussionComment */ +export type AddDiscussionCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The newly created discussion comment. */ + comment?: Maybe; +}; + +/** Autogenerated input type of AddEnterpriseSupportEntitlement */ +export type AddEnterpriseSupportEntitlementInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the Enterprise which the admin belongs to. */ + enterpriseId: Scalars['ID']; + /** The login of a member who will receive the support entitlement. */ + login: Scalars['String']; +}; + +/** Autogenerated return type of AddEnterpriseSupportEntitlement */ +export type AddEnterpriseSupportEntitlementPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** A message confirming the result of adding the support entitlement. */ + message?: Maybe; +}; + +/** Autogenerated input type of AddLabelsToLabelable */ +export type AddLabelsToLabelableInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ids of the labels to add. */ + labelIds: Array; + /** The id of the labelable object to add labels to. */ + labelableId: Scalars['ID']; +}; + +/** Autogenerated return type of AddLabelsToLabelable */ +export type AddLabelsToLabelablePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The item that was labeled. */ + labelable?: Maybe; +}; + +/** Autogenerated input type of AddProjectCard */ +export type AddProjectCardInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The content of the card. Must be a member of the ProjectCardItem union */ + contentId?: InputMaybe; + /** The note on the card. */ + note?: InputMaybe; + /** The Node ID of the ProjectColumn. */ + projectColumnId: Scalars['ID']; +}; + +/** Autogenerated return type of AddProjectCard */ +export type AddProjectCardPayload = { + /** The edge from the ProjectColumn's card connection. */ + cardEdge?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The ProjectColumn */ + projectColumn?: Maybe; +}; + +/** Autogenerated input type of AddProjectColumn */ +export type AddProjectColumnInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of the column. */ + name: Scalars['String']; + /** The Node ID of the project. */ + projectId: Scalars['ID']; +}; + +/** Autogenerated return type of AddProjectColumn */ +export type AddProjectColumnPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The edge from the project's column connection. */ + columnEdge?: Maybe; + /** The project */ + project?: Maybe; +}; + +/** Autogenerated input type of AddProjectNextItem */ +export type AddProjectNextItemInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The content id of the item (Issue or PullRequest). */ + contentId: Scalars['ID']; + /** The ID of the Project to add the item to. */ + projectId: Scalars['ID']; +}; + +/** Autogenerated return type of AddProjectNextItem */ +export type AddProjectNextItemPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The item added to the project. */ + projectNextItem?: Maybe; +}; + +/** Autogenerated input type of AddPullRequestReviewComment */ +export type AddPullRequestReviewCommentInput = { + /** The text of the comment. */ + body: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The SHA of the commit to comment on. */ + commitOID?: InputMaybe; + /** The comment id to reply to. */ + inReplyTo?: InputMaybe; + /** The relative path of the file to comment on. */ + path?: InputMaybe; + /** The line index in the diff to comment on. */ + position?: InputMaybe; + /** The node ID of the pull request reviewing */ + pullRequestId?: InputMaybe; + /** The Node ID of the review to modify. */ + pullRequestReviewId?: InputMaybe; +}; + +/** Autogenerated return type of AddPullRequestReviewComment */ +export type AddPullRequestReviewCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The newly created comment. */ + comment?: Maybe; + /** The edge from the review's comment connection. */ + commentEdge?: Maybe; +}; + +/** Autogenerated input type of AddPullRequestReview */ +export type AddPullRequestReviewInput = { + /** The contents of the review body comment. */ + body?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The review line comments. */ + comments?: InputMaybe>>; + /** The commit OID the review pertains to. */ + commitOID?: InputMaybe; + /** The event to perform on the pull request review. */ + event?: InputMaybe; + /** The Node ID of the pull request to modify. */ + pullRequestId: Scalars['ID']; + /** The review line comment threads. */ + threads?: InputMaybe>>; +}; + +/** Autogenerated return type of AddPullRequestReview */ +export type AddPullRequestReviewPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The newly created pull request review. */ + pullRequestReview?: Maybe; + /** The edge from the pull request's review connection. */ + reviewEdge?: Maybe; +}; + +/** Autogenerated input type of AddPullRequestReviewThread */ +export type AddPullRequestReviewThreadInput = { + /** Body of the thread's first comment. */ + body: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The line of the blob to which the thread refers. The end of the line range for multi-line comments. */ + line: Scalars['Int']; + /** Path to the file being commented on. */ + path: Scalars['String']; + /** The node ID of the pull request reviewing */ + pullRequestId?: InputMaybe; + /** The Node ID of the review to modify. */ + pullRequestReviewId?: InputMaybe; + /** The side of the diff on which the line resides. For multi-line comments, this is the side for the end of the line range. */ + side?: InputMaybe; + /** The first line of the range to which the comment refers. */ + startLine?: InputMaybe; + /** The side of the diff on which the start line resides. */ + startSide?: InputMaybe; +}; + +/** Autogenerated return type of AddPullRequestReviewThread */ +export type AddPullRequestReviewThreadPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The newly created thread. */ + thread?: Maybe; +}; + +/** Autogenerated input type of AddReaction */ +export type AddReactionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of the emoji to react with. */ + content: ReactionContent; + /** The Node ID of the subject to modify. */ + subjectId: Scalars['ID']; +}; + +/** Autogenerated return type of AddReaction */ +export type AddReactionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The reaction object. */ + reaction?: Maybe; + /** The reactable subject. */ + subject?: Maybe; +}; + +/** Autogenerated input type of AddStar */ +export type AddStarInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Starrable ID to star. */ + starrableId: Scalars['ID']; +}; + +/** Autogenerated return type of AddStar */ +export type AddStarPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The starrable. */ + starrable?: Maybe; +}; + +/** Autogenerated input type of AddUpvote */ +export type AddUpvoteInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the discussion or comment to upvote. */ + subjectId: Scalars['ID']; +}; + +/** Autogenerated return type of AddUpvote */ +export type AddUpvotePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The votable subject. */ + subject?: Maybe; +}; + +/** Autogenerated input type of AddVerifiableDomain */ +export type AddVerifiableDomainInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The URL of the domain */ + domain: Scalars['URI']; + /** The ID of the owner to add the domain to */ + ownerId: Scalars['ID']; +}; + +/** Autogenerated return type of AddVerifiableDomain */ +export type AddVerifiableDomainPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The verifiable domain that was added. */ + domain?: Maybe; +}; + +/** Represents a 'added_to_project' event on a given issue or pull request. */ +export type AddedToProjectEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + id: Scalars['ID']; +}; + +/** A GitHub App. */ +export type App = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The description of the app. */ + description?: Maybe; + id: Scalars['ID']; + /** The IP addresses of the app. */ + ipAllowListEntries: IpAllowListEntryConnection; + /** The hex color code, without the leading '#', for the logo background. */ + logoBackgroundColor: Scalars['String']; + /** A URL pointing to the app's logo. */ + logoUrl: Scalars['URI']; + /** The name of the app. */ + name: Scalars['String']; + /** A slug based on the name of the app for use in URLs. */ + slug: Scalars['String']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The URL to the app's homepage. */ + url: Scalars['URI']; +}; + + +/** A GitHub App. */ +export type AppIpAllowListEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A GitHub App. */ +export type AppLogoUrlArgs = { + size?: InputMaybe; +}; + +/** Autogenerated input type of ApproveDeployments */ +export type ApproveDeploymentsInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Optional comment for approving deployments */ + comment?: InputMaybe; + /** The ids of environments to reject deployments */ + environmentIds: Array; + /** The node ID of the workflow run containing the pending deployments. */ + workflowRunId: Scalars['ID']; +}; + +/** Autogenerated return type of ApproveDeployments */ +export type ApproveDeploymentsPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The affected deployments. */ + deployments?: Maybe>; +}; + +/** Autogenerated input type of ApproveVerifiableDomain */ +export type ApproveVerifiableDomainInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the verifiable domain to approve. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of ApproveVerifiableDomain */ +export type ApproveVerifiableDomainPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The verifiable domain that was approved. */ + domain?: Maybe; +}; + +/** Autogenerated input type of ArchiveRepository */ +export type ArchiveRepositoryInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the repository to mark as archived. */ + repositoryId: Scalars['ID']; +}; + +/** Autogenerated return type of ArchiveRepository */ +export type ArchiveRepositoryPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The repository that was marked as archived. */ + repository?: Maybe; +}; + +/** An object that can have users assigned to it. */ +export type Assignable = { + /** A list of Users assigned to this object. */ + assignees: UserConnection; +}; + + +/** An object that can have users assigned to it. */ +export type AssignableAssigneesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** Represents an 'assigned' event on any assignable object. */ +export type AssignedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the assignable associated with the event. */ + assignable: Assignable; + /** Identifies the user or mannequin that was assigned. */ + assignee?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** + * Identifies the user who was assigned. + * @deprecated Assignees can now be mannequins. Use the `assignee` field instead. Removal on 2020-01-01 UTC. + */ + user?: Maybe; +}; + +/** Types that can be assigned to issues. */ +export type Assignee = Bot | Mannequin | Organization | User; + +/** An entry in the audit log. */ +export type AuditEntry = { + /** The action name */ + action: Scalars['String']; + /** The user who initiated the action */ + actor?: Maybe; + /** The IP address of the actor */ + actorIp?: Maybe; + /** A readable representation of the actor's location */ + actorLocation?: Maybe; + /** The username of the user who initiated the action */ + actorLogin?: Maybe; + /** The HTTP path for the actor. */ + actorResourcePath?: Maybe; + /** The HTTP URL for the actor. */ + actorUrl?: Maybe; + /** The time the action was initiated */ + createdAt: Scalars['PreciseDateTime']; + /** The corresponding operation type for the action */ + operationType?: Maybe; + /** The user affected by the action */ + user?: Maybe; + /** For actions involving two users, the actor is the initiator and the user is the affected user. */ + userLogin?: Maybe; + /** The HTTP path for the user. */ + userResourcePath?: Maybe; + /** The HTTP URL for the user. */ + userUrl?: Maybe; +}; + +/** Types that can initiate an audit log event. */ +export type AuditEntryActor = Bot | Organization | User; + +/** Ordering options for Audit Log connections. */ +export type AuditLogOrder = { + /** The ordering direction. */ + direction?: InputMaybe; + /** The field to order Audit Logs by. */ + field?: InputMaybe; +}; + +/** Properties by which Audit Log connections can be ordered. */ +export enum AuditLogOrderField { + /** Order audit log entries by timestamp */ + CreatedAt = 'CREATED_AT' +} + +/** Represents a 'auto_merge_disabled' event on a given pull request. */ +export type AutoMergeDisabledEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The user who disabled auto-merge for this Pull Request */ + disabler?: Maybe; + id: Scalars['ID']; + /** PullRequest referenced by event */ + pullRequest?: Maybe; + /** The reason auto-merge was disabled */ + reason?: Maybe; + /** The reason_code relating to why auto-merge was disabled */ + reasonCode?: Maybe; +}; + +/** Represents a 'auto_merge_enabled' event on a given pull request. */ +export type AutoMergeEnabledEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The user who enabled auto-merge for this Pull Request */ + enabler?: Maybe; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest?: Maybe; +}; + +/** Represents an auto-merge request for a pull request */ +export type AutoMergeRequest = { + /** The email address of the author of this auto-merge request. */ + authorEmail?: Maybe; + /** The commit message of the auto-merge request. */ + commitBody?: Maybe; + /** The commit title of the auto-merge request. */ + commitHeadline?: Maybe; + /** When was this auto-merge request was enabled. */ + enabledAt?: Maybe; + /** The actor who created the auto-merge request. */ + enabledBy?: Maybe; + /** The merge method of the auto-merge request. */ + mergeMethod: PullRequestMergeMethod; + /** The pull request that this auto-merge request is set against. */ + pullRequest: PullRequest; +}; + +/** Represents a 'auto_rebase_enabled' event on a given pull request. */ +export type AutoRebaseEnabledEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The user who enabled auto-merge (rebase) for this Pull Request */ + enabler?: Maybe; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest?: Maybe; +}; + +/** Represents a 'auto_squash_enabled' event on a given pull request. */ +export type AutoSquashEnabledEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The user who enabled auto-merge (squash) for this Pull Request */ + enabler?: Maybe; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest?: Maybe; +}; + +/** Represents a 'automatic_base_change_failed' event on a given pull request. */ +export type AutomaticBaseChangeFailedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** The new base for this PR */ + newBase: Scalars['String']; + /** The old base for this PR */ + oldBase: Scalars['String']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; +}; + +/** Represents a 'automatic_base_change_succeeded' event on a given pull request. */ +export type AutomaticBaseChangeSucceededEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** The new base for this PR */ + newBase: Scalars['String']; + /** The old base for this PR */ + oldBase: Scalars['String']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; +}; + +/** Represents a 'base_ref_changed' event on a given issue or pull request. */ +export type BaseRefChangedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the name of the base ref for the pull request after it was changed. */ + currentRefName: Scalars['String']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + id: Scalars['ID']; + /** Identifies the name of the base ref for the pull request before it was changed. */ + previousRefName: Scalars['String']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; +}; + +/** Represents a 'base_ref_deleted' event on a given pull request. */ +export type BaseRefDeletedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the name of the Ref associated with the `base_ref_deleted` event. */ + baseRefName?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest?: Maybe; +}; + +/** Represents a 'base_ref_force_pushed' event on a given pull request. */ +export type BaseRefForcePushedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the after commit SHA for the 'base_ref_force_pushed' event. */ + afterCommit?: Maybe; + /** Identifies the before commit SHA for the 'base_ref_force_pushed' event. */ + beforeCommit?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; + /** Identifies the fully qualified ref name for the 'base_ref_force_pushed' event. */ + ref?: Maybe; +}; + +/** Represents a Git blame. */ +export type Blame = { + /** The list of ranges from a Git blame. */ + ranges: Array; +}; + +/** Represents a range of information from a Git blame. */ +export 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: Scalars['Int']; + /** Identifies the line author */ + commit: Commit; + /** The ending line for the range */ + endingLine: Scalars['Int']; + /** The starting line for the range */ + startingLine: Scalars['Int']; +}; + +/** Represents a Git blob. */ +export type Blob = GitObject & Node & { + /** An abbreviated version of the Git object ID */ + abbreviatedOid: Scalars['String']; + /** Byte size of Blob object */ + byteSize: Scalars['Int']; + /** The HTTP path for this Git object */ + commitResourcePath: Scalars['URI']; + /** The HTTP URL for this Git object */ + commitUrl: Scalars['URI']; + id: Scalars['ID']; + /** Indicates whether the Blob is binary or text. Returns null if unable to determine the encoding. */ + isBinary?: Maybe; + /** Indicates whether the contents is truncated */ + isTruncated: Scalars['Boolean']; + /** The Git object ID */ + oid: Scalars['GitObjectID']; + /** The Repository the Git object belongs to */ + repository: Repository; + /** UTF8 text data or null if the Blob is binary */ + text?: Maybe; +}; + +/** A special type of user which takes actions on behalf of GitHub Apps. */ +export type Bot = Actor & Node & UniformResourceLocatable & { + /** A URL pointing to the GitHub App's public avatar. */ + avatarUrl: Scalars['URI']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + id: Scalars['ID']; + /** The username of the actor. */ + login: Scalars['String']; + /** The HTTP path for this bot */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL for this bot */ + url: Scalars['URI']; +}; + + +/** A special type of user which takes actions on behalf of GitHub Apps. */ +export type BotAvatarUrlArgs = { + size?: InputMaybe; +}; + +/** Types which can be actors for `BranchActorAllowance` objects. */ +export type BranchActorAllowanceActor = Team | User; + +/** A branch protection rule. */ +export type BranchProtectionRule = Node & { + /** Can this branch be deleted. */ + allowsDeletions: Scalars['Boolean']; + /** Are force pushes allowed on this branch. */ + allowsForcePushes: Scalars['Boolean']; + /** A list of conflicts matching branches protection rule and other branch protection rules */ + branchProtectionRuleConflicts: BranchProtectionRuleConflictConnection; + /** A list of actors able to force push for this branch protection rule. */ + bypassForcePushAllowances: BypassForcePushAllowanceConnection; + /** A list of actors able to bypass PRs for this branch protection rule. */ + bypassPullRequestAllowances: BypassPullRequestAllowanceConnection; + /** The actor who created this branch protection rule. */ + creator?: Maybe; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** Will new commits pushed to matching branches dismiss pull request review approvals. */ + dismissesStaleReviews: Scalars['Boolean']; + id: Scalars['ID']; + /** Can admins overwrite branch protection. */ + isAdminEnforced: Scalars['Boolean']; + /** Repository refs that are protected by this rule */ + matchingRefs: RefConnection; + /** Identifies the protection rule pattern. */ + pattern: Scalars['String']; + /** A list push allowances for this branch protection rule. */ + pushAllowances: PushAllowanceConnection; + /** The repository associated with this branch protection rule. */ + repository?: Maybe; + /** Number of approving reviews required to update matching branches. */ + requiredApprovingReviewCount?: Maybe; + /** List of required status check contexts that must pass for commits to be accepted to matching branches. */ + requiredStatusCheckContexts?: Maybe>>; + /** List of required status checks that must pass for commits to be accepted to matching branches. */ + requiredStatusChecks?: Maybe>; + /** Are approving reviews required to update matching branches. */ + requiresApprovingReviews: Scalars['Boolean']; + /** Are reviews from code owners required to update matching branches. */ + requiresCodeOwnerReviews: Scalars['Boolean']; + /** Are commits required to be signed. */ + requiresCommitSignatures: Scalars['Boolean']; + /** Are conversations required to be resolved before merging. */ + requiresConversationResolution: Scalars['Boolean']; + /** Are merge commits prohibited from being pushed to this branch. */ + requiresLinearHistory: Scalars['Boolean']; + /** Are status checks required to update matching branches. */ + requiresStatusChecks: Scalars['Boolean']; + /** Are branches required to be up to date before merging. */ + requiresStrictStatusChecks: Scalars['Boolean']; + /** Is pushing to matching branches restricted. */ + restrictsPushes: Scalars['Boolean']; + /** Is dismissal of pull request reviews restricted. */ + restrictsReviewDismissals: Scalars['Boolean']; + /** A list review dismissal allowances for this branch protection rule. */ + reviewDismissalAllowances: ReviewDismissalAllowanceConnection; +}; + + +/** A branch protection rule. */ +export type BranchProtectionRuleBranchProtectionRuleConflictsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A branch protection rule. */ +export type BranchProtectionRuleBypassForcePushAllowancesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A branch protection rule. */ +export type BranchProtectionRuleBypassPullRequestAllowancesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A branch protection rule. */ +export type BranchProtectionRuleMatchingRefsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; +}; + + +/** A branch protection rule. */ +export type BranchProtectionRulePushAllowancesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A branch protection rule. */ +export type BranchProtectionRuleReviewDismissalAllowancesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A conflict between two branch protection rules. */ +export type BranchProtectionRuleConflict = { + /** Identifies the branch protection rule. */ + branchProtectionRule?: Maybe; + /** Identifies the conflicting branch protection rule. */ + conflictingBranchProtectionRule?: Maybe; + /** Identifies the branch ref that has conflicting rules */ + ref?: Maybe; +}; + +/** The connection type for BranchProtectionRuleConflict. */ +export type BranchProtectionRuleConflictConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type BranchProtectionRuleConflictEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The connection type for BranchProtectionRule. */ +export type BranchProtectionRuleConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type BranchProtectionRuleEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A team or user who has the ability to bypass a force push requirement on a protected branch. */ +export type BypassForcePushAllowance = Node & { + /** The actor that can dismiss. */ + actor?: Maybe; + /** Identifies the branch protection rule associated with the allowed user or team. */ + branchProtectionRule?: Maybe; + id: Scalars['ID']; +}; + +/** The connection type for BypassForcePushAllowance. */ +export type BypassForcePushAllowanceConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type BypassForcePushAllowanceEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A team or user who has the ability to bypass a pull request requirement on a protected branch. */ +export type BypassPullRequestAllowance = Node & { + /** The actor that can dismiss. */ + actor?: Maybe; + /** Identifies the branch protection rule associated with the allowed user or team. */ + branchProtectionRule?: Maybe; + id: Scalars['ID']; +}; + +/** The connection type for BypassPullRequestAllowance. */ +export type BypassPullRequestAllowanceConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type BypassPullRequestAllowanceEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The Common Vulnerability Scoring System */ +export type Cvss = { + /** The CVSS score associated with this advisory */ + score: Scalars['Float']; + /** The CVSS vector string associated with this advisory */ + vectorString?: Maybe; +}; + +/** A common weakness enumeration */ +export type Cwe = Node & { + /** The id of the CWE */ + cweId: Scalars['String']; + /** A detailed description of this CWE */ + description: Scalars['String']; + id: Scalars['ID']; + /** The name of this CWE */ + name: Scalars['String']; +}; + +/** The connection type for CWE. */ +export type CweConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CweEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Autogenerated input type of CancelEnterpriseAdminInvitation */ +export type CancelEnterpriseAdminInvitationInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the pending enterprise administrator invitation. */ + invitationId: Scalars['ID']; +}; + +/** Autogenerated return type of CancelEnterpriseAdminInvitation */ +export type CancelEnterpriseAdminInvitationPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The invitation that was canceled. */ + invitation?: Maybe; + /** A message confirming the result of canceling an administrator invitation. */ + message?: Maybe; +}; + +/** Autogenerated input type of CancelSponsorship */ +export type CancelSponsorshipInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorLogin is not given. */ + sponsorId?: InputMaybe; + /** The username of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorId is not given. */ + sponsorLogin?: InputMaybe; + /** The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. */ + sponsorableId?: InputMaybe; + /** The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. */ + sponsorableLogin?: InputMaybe; +}; + +/** Autogenerated return type of CancelSponsorship */ +export type CancelSponsorshipPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The tier that was being used at the time of cancellation. */ + sponsorsTier?: Maybe; +}; + +/** Autogenerated input type of ChangeUserStatus */ +export type ChangeUserStatusInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The emoji to represent your status. Can either be a native Unicode emoji or an emoji name with colons, e.g., :grinning:. */ + emoji?: InputMaybe; + /** If set, the user status will not be shown after this date. */ + expiresAt?: InputMaybe; + /** Whether this status should indicate you are not fully available on GitHub, e.g., you are away. */ + limitedAvailability?: InputMaybe; + /** A short description of your current status. */ + message?: InputMaybe; + /** The ID of the organization whose members will be allowed to see the status. If omitted, the status will be publicly visible. */ + organizationId?: InputMaybe; +}; + +/** Autogenerated return type of ChangeUserStatus */ +export type ChangeUserStatusPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Your updated status. */ + status?: Maybe; +}; + +/** A single check annotation. */ +export type CheckAnnotation = { + /** The annotation's severity level. */ + annotationLevel?: Maybe; + /** The path to the file that this annotation was made on. */ + blobUrl: Scalars['URI']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The position of this annotation. */ + location: CheckAnnotationSpan; + /** The annotation's message. */ + message: Scalars['String']; + /** The path that this annotation was made on. */ + path: Scalars['String']; + /** Additional information about the annotation. */ + rawDetails?: Maybe; + /** The annotation's title */ + title?: Maybe; +}; + +/** The connection type for CheckAnnotation. */ +export type CheckAnnotationConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** Information from a check run analysis to specific lines of code. */ +export type CheckAnnotationData = { + /** Represents an annotation's information level */ + annotationLevel: CheckAnnotationLevel; + /** The location of the annotation */ + location: CheckAnnotationRange; + /** A short description of the feedback for these lines of code. */ + message: Scalars['String']; + /** The path of the file to add an annotation to. */ + path: Scalars['String']; + /** Details about this annotation. */ + rawDetails?: InputMaybe; + /** The title that represents the annotation. */ + title?: InputMaybe; +}; + +/** An edge in a connection. */ +export type CheckAnnotationEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents an annotation's information level. */ +export enum CheckAnnotationLevel { + /** An annotation indicating an inescapable error. */ + Failure = 'FAILURE', + /** An annotation indicating some information. */ + Notice = 'NOTICE', + /** An annotation indicating an ignorable error. */ + Warning = 'WARNING' +} + +/** A character position in a check annotation. */ +export type CheckAnnotationPosition = { + /** Column number (1 indexed). */ + column?: Maybe; + /** Line number (1 indexed). */ + line: Scalars['Int']; +}; + +/** Information from a check run analysis to specific lines of code. */ +export type CheckAnnotationRange = { + /** The ending column of the range. */ + endColumn?: InputMaybe; + /** The ending line of the range. */ + endLine: Scalars['Int']; + /** The starting column of the range. */ + startColumn?: InputMaybe; + /** The starting line of the range. */ + startLine: Scalars['Int']; +}; + +/** An inclusive pair of positions for a check annotation. */ +export type CheckAnnotationSpan = { + /** End position (inclusive). */ + end: CheckAnnotationPosition; + /** Start position (inclusive). */ + start: CheckAnnotationPosition; +}; + +/** The possible states for a check suite or run conclusion. */ +export enum CheckConclusionState { + /** The check suite or run requires action. */ + ActionRequired = 'ACTION_REQUIRED', + /** The check suite or run has been cancelled. */ + Cancelled = 'CANCELLED', + /** The check suite or run has failed. */ + Failure = 'FAILURE', + /** The check suite or run was neutral. */ + Neutral = 'NEUTRAL', + /** The check suite or run was skipped. */ + Skipped = 'SKIPPED', + /** The check suite or run was marked stale by GitHub. Only GitHub can use this conclusion. */ + Stale = 'STALE', + /** The check suite or run has failed at startup. */ + StartupFailure = 'STARTUP_FAILURE', + /** The check suite or run has succeeded. */ + Success = 'SUCCESS', + /** The check suite or run has timed out. */ + TimedOut = 'TIMED_OUT' +} + +/** A check run. */ +export type CheckRun = Node & RequirableByPullRequest & UniformResourceLocatable & { + /** The check run's annotations */ + annotations?: Maybe; + /** The check suite that this run is a part of. */ + checkSuite: CheckSuite; + /** Identifies the date and time when the check run was completed. */ + completedAt?: Maybe; + /** The conclusion of the check run. */ + conclusion?: Maybe; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The corresponding deployment for this job, if any */ + deployment?: Maybe; + /** The URL from which to find full details of the check run on the integrator's site. */ + detailsUrl?: Maybe; + /** A reference for the check run on the integrator's system. */ + externalId?: Maybe; + id: Scalars['ID']; + /** Whether this is required to pass before merging for a specific pull request. */ + isRequired: Scalars['Boolean']; + /** The name of the check for this check run. */ + name: Scalars['String']; + /** Information about a pending deployment, if any, in this check run */ + pendingDeploymentRequest?: Maybe; + /** The permalink to the check run summary. */ + permalink: Scalars['URI']; + /** The repository associated with this check run. */ + repository: Repository; + /** The HTTP path for this check run. */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the check run was started. */ + startedAt?: Maybe; + /** The current status of the check run. */ + status: CheckStatusState; + /** The check run's steps */ + steps?: Maybe; + /** A string representing the check run's summary */ + summary?: Maybe; + /** A string representing the check run's text */ + text?: Maybe; + /** A string representing the check run */ + title?: Maybe; + /** The HTTP URL for this check run. */ + url: Scalars['URI']; +}; + + +/** A check run. */ +export type CheckRunAnnotationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A check run. */ +export type CheckRunIsRequiredArgs = { + pullRequestId?: InputMaybe; + pullRequestNumber?: InputMaybe; +}; + + +/** A check run. */ +export type CheckRunStepsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + number?: InputMaybe; +}; + +/** Possible further actions the integrator can perform. */ +export type CheckRunAction = { + /** A short explanation of what this action would do. */ + description: Scalars['String']; + /** A reference for the action on the integrator's system. */ + identifier: Scalars['String']; + /** The text to be displayed on a button in the web UI. */ + label: Scalars['String']; +}; + +/** The connection type for CheckRun. */ +export type CheckRunConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CheckRunEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The filters that are available when fetching check runs. */ +export type CheckRunFilter = { + /** Filters the check runs created by this application ID. */ + appId?: InputMaybe; + /** Filters the check runs by this name. */ + checkName?: InputMaybe; + /** Filters the check runs by this type. */ + checkType?: InputMaybe; + /** Filters the check runs by this status. */ + status?: InputMaybe; +}; + +/** Descriptive details about the check run. */ +export type CheckRunOutput = { + /** The annotations that are made as part of the check run. */ + annotations?: InputMaybe>; + /** Images attached to the check run output displayed in the GitHub pull request UI. */ + images?: InputMaybe>; + /** The summary of the check run (supports Commonmark). */ + summary: Scalars['String']; + /** The details of the check run (supports Commonmark). */ + text?: InputMaybe; + /** A title to provide for this check run. */ + title: Scalars['String']; +}; + +/** Images attached to the check run output displayed in the GitHub pull request UI. */ +export type CheckRunOutputImage = { + /** The alternative text for the image. */ + alt: Scalars['String']; + /** A short image description. */ + caption?: InputMaybe; + /** The full URL of the image. */ + imageUrl: Scalars['URI']; +}; + +/** The possible types of check runs. */ +export enum CheckRunType { + /** Every check run available. */ + All = 'ALL', + /** The latest check run. */ + Latest = 'LATEST' +} + +/** The possible states for a check suite or run status. */ +export enum CheckStatusState { + /** The check suite or run has been completed. */ + Completed = 'COMPLETED', + /** The check suite or run is in progress. */ + InProgress = 'IN_PROGRESS', + /** The check suite or run is in pending state. */ + Pending = 'PENDING', + /** The check suite or run has been queued. */ + Queued = 'QUEUED', + /** The check suite or run has been requested. */ + Requested = 'REQUESTED', + /** The check suite or run is in waiting state. */ + Waiting = 'WAITING' +} + +/** A single check step. */ +export type CheckStep = { + /** Identifies the date and time when the check step was completed. */ + completedAt?: Maybe; + /** The conclusion of the check step. */ + conclusion?: Maybe; + /** A reference for the check step on the integrator's system. */ + externalId?: Maybe; + /** The step's name. */ + name: Scalars['String']; + /** The index of the step in the list of steps of the parent check run. */ + number: Scalars['Int']; + /** Number of seconds to completion. */ + secondsToCompletion?: Maybe; + /** Identifies the date and time when the check step was started. */ + startedAt?: Maybe; + /** The current status of the check step. */ + status: CheckStatusState; +}; + +/** The connection type for CheckStep. */ +export type CheckStepConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CheckStepEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A check suite. */ +export type CheckSuite = Node & { + /** The GitHub App which created this check suite. */ + app?: Maybe; + /** The name of the branch for this check suite. */ + branch?: Maybe; + /** The check runs associated with a check suite. */ + checkRuns?: Maybe; + /** The commit for this check suite */ + commit: Commit; + /** The conclusion of this check suite. */ + conclusion?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The user who triggered the check suite. */ + creator?: Maybe; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + id: Scalars['ID']; + /** A list of open pull requests matching the check suite. */ + matchingPullRequests?: Maybe; + /** The push that triggered this check suite. */ + push?: Maybe; + /** The repository associated with this check suite. */ + repository: Repository; + /** The HTTP path for this check suite */ + resourcePath: Scalars['URI']; + /** The status of this check suite. */ + status: CheckStatusState; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL for this check suite */ + url: Scalars['URI']; + /** The workflow run associated with this check suite. */ + workflowRun?: Maybe; +}; + + +/** A check suite. */ +export type CheckSuiteCheckRunsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filterBy?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A check suite. */ +export type CheckSuiteMatchingPullRequestsArgs = { + after?: InputMaybe; + baseRefName?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + headRefName?: InputMaybe; + labels?: InputMaybe>; + last?: InputMaybe; + orderBy?: InputMaybe; + states?: InputMaybe>; +}; + +/** The auto-trigger preferences that are available for check suites. */ +export type CheckSuiteAutoTriggerPreference = { + /** The node ID of the application that owns the check suite. */ + appId: Scalars['ID']; + /** Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository. */ + setting: Scalars['Boolean']; +}; + +/** The connection type for CheckSuite. */ +export type CheckSuiteConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CheckSuiteEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The filters that are available when fetching check suites. */ +export type CheckSuiteFilter = { + /** Filters the check suites created by this application ID. */ + appId?: InputMaybe; + /** Filters the check suites by this name. */ + checkName?: InputMaybe; +}; + +/** Autogenerated input type of ClearLabelsFromLabelable */ +export type ClearLabelsFromLabelableInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The id of the labelable object to clear the labels from. */ + labelableId: Scalars['ID']; +}; + +/** Autogenerated return type of ClearLabelsFromLabelable */ +export type ClearLabelsFromLabelablePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The item that was unlabeled. */ + labelable?: Maybe; +}; + +/** Autogenerated input type of CloneProject */ +export type CloneProjectInput = { + /** The description of the project. */ + body?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Whether or not to clone the source project's workflows. */ + includeWorkflows: Scalars['Boolean']; + /** The name of the project. */ + name: Scalars['String']; + /** The visibility of the project, defaults to false (private). */ + public?: InputMaybe; + /** The source project to clone. */ + sourceId: Scalars['ID']; + /** The owner ID to create the project under. */ + targetOwnerId: Scalars['ID']; +}; + +/** Autogenerated return type of CloneProject */ +export type CloneProjectPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The id of the JobStatus for populating cloned fields. */ + jobStatusId?: Maybe; + /** The new cloned project. */ + project?: Maybe; +}; + +/** Autogenerated input type of CloneTemplateRepository */ +export type CloneTemplateRepositoryInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** A short description of the new repository. */ + description?: InputMaybe; + /** Whether to copy all branches from the template to the new repository. Defaults to copying only the default branch of the template. */ + includeAllBranches?: InputMaybe; + /** The name of the new repository. */ + name: Scalars['String']; + /** The ID of the owner for the new repository. */ + ownerId: Scalars['ID']; + /** The Node ID of the template repository. */ + repositoryId: Scalars['ID']; + /** Indicates the repository's visibility level. */ + visibility: RepositoryVisibility; +}; + +/** Autogenerated return type of CloneTemplateRepository */ +export type CloneTemplateRepositoryPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new repository. */ + repository?: Maybe; +}; + +/** An object that can be closed */ +export type Closable = { + /** `true` if the object is closed (definition of closed may depend on type) */ + closed: Scalars['Boolean']; + /** Identifies the date and time when the object was closed. */ + closedAt?: Maybe; +}; + +/** Autogenerated input type of CloseIssue */ +export type CloseIssueInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** ID of the issue to be closed. */ + issueId: Scalars['ID']; +}; + +/** Autogenerated return type of CloseIssue */ +export type CloseIssuePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The issue that was closed. */ + issue?: Maybe; +}; + +/** Autogenerated input type of ClosePullRequest */ +export type ClosePullRequestInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** ID of the pull request to be closed. */ + pullRequestId: Scalars['ID']; +}; + +/** Autogenerated return type of ClosePullRequest */ +export type ClosePullRequestPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The pull request that was closed. */ + pullRequest?: Maybe; +}; + +/** Represents a 'closed' event on any `Closable`. */ +export type ClosedEvent = Node & UniformResourceLocatable & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Object that was closed. */ + closable: Closable; + /** Object which triggered the creation of this event. */ + closer?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** The HTTP path for this closed event. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this closed event. */ + url: Scalars['URI']; +}; + +/** The object which triggered a `ClosedEvent`. */ +export type Closer = Commit | PullRequest; + +/** The Code of Conduct for a repository */ +export type CodeOfConduct = Node & { + /** The body of the Code of Conduct */ + body?: Maybe; + id: Scalars['ID']; + /** The key for the Code of Conduct */ + key: Scalars['String']; + /** The formal name of the Code of Conduct */ + name: Scalars['String']; + /** The HTTP path for this Code of Conduct */ + resourcePath?: Maybe; + /** The HTTP URL for this Code of Conduct */ + url?: Maybe; +}; + +/** Collaborators affiliation level with a subject. */ +export enum CollaboratorAffiliation { + /** All collaborators the authenticated user can see. */ + All = 'ALL', + /** All collaborators with permissions to an organization-owned subject, regardless of organization membership status. */ + Direct = 'DIRECT', + /** All outside collaborators of an organization-owned subject. */ + Outside = 'OUTSIDE' +} + +/** Represents a comment. */ +export type Comment = { + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the subject of the comment. */ + authorAssociation: CommentAuthorAssociation; + /** The body as Markdown. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The body rendered to text. */ + bodyText: Scalars['String']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** The actor who edited the comment. */ + editor?: Maybe; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; +}; + + +/** Represents a comment. */ +export type CommentUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A comment author association with repository. */ +export enum CommentAuthorAssociation { + /** Author has been invited to collaborate on the repository. */ + Collaborator = 'COLLABORATOR', + /** Author has previously committed to the repository. */ + Contributor = 'CONTRIBUTOR', + /** Author has not previously committed to GitHub. */ + FirstTimer = 'FIRST_TIMER', + /** Author has not previously committed to the repository. */ + FirstTimeContributor = 'FIRST_TIME_CONTRIBUTOR', + /** Author is a placeholder for an unclaimed user. */ + Mannequin = 'MANNEQUIN', + /** Author is a member of the organization that owns the repository. */ + Member = 'MEMBER', + /** Author has no association with the repository. */ + None = 'NONE', + /** Author is the owner of the repository. */ + Owner = 'OWNER' +} + +/** The possible errors that will prevent a user from updating a comment. */ +export enum CommentCannotUpdateReason { + /** Unable to create comment because repository is archived. */ + Archived = 'ARCHIVED', + /** You cannot update this comment */ + Denied = 'DENIED', + /** You must be the author or have write access to this repository to update this comment. */ + InsufficientAccess = 'INSUFFICIENT_ACCESS', + /** Unable to create comment because issue is locked. */ + Locked = 'LOCKED', + /** You must be logged in to update this comment. */ + LoginRequired = 'LOGIN_REQUIRED', + /** Repository is under maintenance. */ + Maintenance = 'MAINTENANCE', + /** At least one email address must be verified to update this comment. */ + VerifiedEmailRequired = 'VERIFIED_EMAIL_REQUIRED' +} + +/** Represents a 'comment_deleted' event on a given issue or pull request. */ +export type CommentDeletedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The user who authored the deleted comment. */ + deletedCommentAuthor?: Maybe; + id: Scalars['ID']; +}; + +/** Represents a Git commit. */ +export type Commit = GitObject & Node & Subscribable & UniformResourceLocatable & { + /** An abbreviated version of the Git object ID */ + abbreviatedOid: Scalars['String']; + /** The number of additions in this commit. */ + additions: Scalars['Int']; + /** The merged Pull Request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open Pull Requests associated with the commit */ + associatedPullRequests?: Maybe; + /** Authorship details of the commit. */ + author?: Maybe; + /** Check if the committer and the author match. */ + authoredByCommitter: Scalars['Boolean']; + /** The datetime when this commit was authored. */ + authoredDate: Scalars['DateTime']; + /** + * The list of authors for this commit based on the git author and the Co-authored-by + * message trailer. The git author will always be first. + * + */ + authors: GitActorConnection; + /** Fetches `git blame` information. */ + blame: Blame; + /** The number of changed files in this commit. */ + changedFiles: Scalars['Int']; + /** The check suites associated with a commit. */ + checkSuites?: Maybe; + /** Comments made on the commit. */ + comments: CommitCommentConnection; + /** The HTTP path for this Git object */ + commitResourcePath: Scalars['URI']; + /** The HTTP URL for this Git object */ + commitUrl: Scalars['URI']; + /** The datetime when this commit was committed. */ + committedDate: Scalars['DateTime']; + /** Check if committed via GitHub web UI. */ + committedViaWeb: Scalars['Boolean']; + /** Committer details of the commit. */ + committer?: Maybe; + /** The number of deletions in this commit. */ + deletions: Scalars['Int']; + /** The deployments associated with a commit. */ + deployments?: Maybe; + /** The tree entry representing the file located at the given path. */ + file?: Maybe; + /** The linear commit history starting from (and including) this commit, in the same order as `git log`. */ + history: CommitHistoryConnection; + id: Scalars['ID']; + /** The Git commit message */ + message: Scalars['String']; + /** The Git commit message body */ + messageBody: Scalars['String']; + /** The commit message body rendered to HTML. */ + messageBodyHTML: Scalars['HTML']; + /** The Git commit message headline */ + messageHeadline: Scalars['String']; + /** The commit message headline rendered to HTML. */ + messageHeadlineHTML: Scalars['HTML']; + /** The Git object ID */ + oid: Scalars['GitObjectID']; + /** The organization this commit was made on behalf of. */ + onBehalfOf?: Maybe; + /** The parents of a commit. */ + parents: CommitConnection; + /** The datetime when this commit was pushed. */ + pushedDate?: Maybe; + /** The Repository this commit belongs to */ + repository: Repository; + /** The HTTP path for this commit */ + resourcePath: Scalars['URI']; + /** Commit signing information, if present. */ + signature?: Maybe; + /** Status information for this commit */ + status?: Maybe; + /** Check and Status rollup information for this commit. */ + statusCheckRollup?: Maybe; + /** Returns a list of all submodules in this repository as of this Commit parsed from the .gitmodules file. */ + submodules: SubmoduleConnection; + /** + * 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: Scalars['URI']; + /** Commit's root Tree */ + tree: Tree; + /** The HTTP path for the tree of this commit */ + treeResourcePath: Scalars['URI']; + /** The HTTP URL for the tree of this commit */ + treeUrl: Scalars['URI']; + /** The HTTP URL for this commit */ + url: Scalars['URI']; + /** Check if the viewer is able to change their subscription status for the repository. */ + viewerCanSubscribe: Scalars['Boolean']; + /** Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. */ + viewerSubscription?: Maybe; + /** + * 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: Scalars['URI']; +}; + + +/** Represents a Git commit. */ +export type CommitAssociatedPullRequestsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitAuthorsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitBlameArgs = { + path: Scalars['String']; +}; + + +/** Represents a Git commit. */ +export type CommitCheckSuitesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filterBy?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitDeploymentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + environments?: InputMaybe>; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitFileArgs = { + path: Scalars['String']; +}; + + +/** Represents a Git commit. */ +export type CommitHistoryArgs = { + after?: InputMaybe; + author?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + path?: InputMaybe; + since?: InputMaybe; + until?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitParentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Represents a Git commit. */ +export type CommitSubmodulesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** Specifies an author for filtering Git commits. */ +export type CommitAuthor = { + /** Email addresses to filter by. Commits authored by any of the specified email addresses will be returned. */ + emails?: InputMaybe>; + /** 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?: InputMaybe; +}; + +/** Represents a comment on a given Commit. */ +export type CommitComment = Comment & Deletable & Minimizable & Node & Reactable & RepositoryNode & Updatable & UpdatableComment & { + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the subject of the comment. */ + authorAssociation: CommentAuthorAssociation; + /** Identifies the comment body. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The body rendered to text. */ + bodyText: Scalars['String']; + /** Identifies the commit associated with the comment, if the commit exists. */ + commit?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The actor who edited the comment. */ + editor?: Maybe; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** Returns whether or not a comment has been minimized. */ + isMinimized: Scalars['Boolean']; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** Returns why the comment was minimized. */ + minimizedReason?: Maybe; + /** Identifies the file path associated with the comment. */ + path?: Maybe; + /** Identifies the line position associated with the comment. */ + position?: Maybe; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** A list of reactions grouped by content left on the subject. */ + reactionGroups?: Maybe>; + /** A list of Reactions left on the Issue. */ + reactions: ReactionConnection; + /** The repository associated with this node. */ + repository: Repository; + /** The HTTP path permalink for this commit comment. */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL permalink for this commit comment. */ + url: Scalars['URI']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Check if the current viewer can delete this object. */ + viewerCanDelete: Scalars['Boolean']; + /** Check if the current viewer can minimize this object. */ + viewerCanMinimize: Scalars['Boolean']; + /** Can user react to this subject */ + viewerCanReact: Scalars['Boolean']; + /** Check if the current viewer can update this object. */ + viewerCanUpdate: Scalars['Boolean']; + /** Reasons why the current viewer can not update this comment. */ + viewerCannotUpdateReasons: Array; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; +}; + + +/** Represents a comment on a given Commit. */ +export type CommitCommentReactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + content?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Represents a comment on a given Commit. */ +export type CommitCommentUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for CommitComment. */ +export type CommitCommentConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CommitCommentEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A thread of comments on a commit. */ +export type CommitCommentThread = Node & RepositoryNode & { + /** The comments that exist in this thread. */ + comments: CommitCommentConnection; + /** The commit the comments were made on. */ + commit?: Maybe; + id: Scalars['ID']; + /** The file the comments were made on. */ + path?: Maybe; + /** The position in the diff for the commit that the comment was made on. */ + position?: Maybe; + /** The repository associated with this node. */ + repository: Repository; +}; + + +/** A thread of comments on a commit. */ +export type CommitCommentThreadCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for Commit. */ +export type CommitConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** Ordering options for commit contribution connections. */ +export type CommitContributionOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field by which to order commit contributions. */ + field: CommitContributionOrderField; +}; + +/** Properties by which commit contribution connections can be ordered. */ +export enum CommitContributionOrderField { + /** Order commit contributions by how many commits they represent. */ + CommitCount = 'COMMIT_COUNT', + /** Order commit contributions by when they were made. */ + OccurredAt = 'OCCURRED_AT' +} + +/** This aggregates commits made by a user within one repository. */ +export type CommitContributionsByRepository = { + /** The commit contributions, each representing a day. */ + contributions: CreatedCommitContributionConnection; + /** The repository in which the commits were made. */ + repository: Repository; + /** The HTTP path for the user's commits to the repository in this time range. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for the user's commits to the repository in this time range. */ + url: Scalars['URI']; +}; + + +/** This aggregates commits made by a user within one repository. */ +export type CommitContributionsByRepositoryContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** An edge in a connection. */ +export type CommitEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The connection type for Commit. */ +export type CommitHistoryConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** A message to include with a new commit */ +export type CommitMessage = { + /** The body of the message. */ + body?: InputMaybe; + /** The headline of the message. */ + headline: Scalars['String']; +}; + +/** + * A git ref for a commit to be appended to. + * + * The ref must be a branch, i.e. its fully qualified name must start + * with `refs/heads/` (although the input is not required to be fully + * qualified). + * + * The Ref may be specified by its global node ID or by the + * repository nameWithOwner and branch name. + * + * ### Examples + * + * Specify a branch using a global node ID: + * + * { "id": "MDM6UmVmMTpyZWZzL2hlYWRzL21haW4=" } + * + * Specify a branch using nameWithOwner and branch name: + * + * { + * "nameWithOwner": "github/graphql-client", + * "branchName": "main" + * } + * + * + */ +export type CommittableBranch = { + /** The unqualified name of the branch to append the commit to. */ + branchName?: InputMaybe; + /** The Node ID of the Ref to be updated. */ + id?: InputMaybe; + /** The nameWithOwner of the repository to commit to. */ + repositoryNameWithOwner?: InputMaybe; +}; + +/** Represents a 'connected' event on a given issue or pull request. */ +export type ConnectedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** Reference originated in a different repository. */ + isCrossRepository: Scalars['Boolean']; + /** Issue or pull request that made the reference. */ + source: ReferencedSubject; + /** Issue or pull request which was connected. */ + subject: ReferencedSubject; +}; + +/** Represents a contribution a user made on GitHub, such as opening an issue. */ +export type Contribution = { + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** A calendar of contributions made on GitHub by a user. */ +export type ContributionCalendar = { + /** A list of hex color codes used in this calendar. The darker the color, the more contributions it represents. */ + colors: Array; + /** Determine if the color set was chosen because it's currently Halloween. */ + isHalloween: Scalars['Boolean']; + /** A list of the months of contributions in this calendar. */ + months: Array; + /** The count of total contributions in the calendar. */ + totalContributions: Scalars['Int']; + /** A list of the weeks of contributions in this calendar. */ + weeks: Array; +}; + +/** Represents a single day of contributions on GitHub by a user. */ +export type ContributionCalendarDay = { + /** The hex color code that represents how many contributions were made on this day compared to others in the calendar. */ + color: Scalars['String']; + /** How many contributions were made by the user on this day. */ + contributionCount: Scalars['Int']; + /** Indication of contributions, relative to other days. Can be used to indicate which color to represent this day on a calendar. */ + contributionLevel: ContributionLevel; + /** The day this square represents. */ + date: Scalars['Date']; + /** A number representing which day of the week this square represents, e.g., 1 is Monday. */ + weekday: Scalars['Int']; +}; + +/** A month of contributions in a user's contribution graph. */ +export type ContributionCalendarMonth = { + /** The date of the first day of this month. */ + firstDay: Scalars['Date']; + /** The name of the month. */ + name: Scalars['String']; + /** How many weeks started in this month. */ + totalWeeks: Scalars['Int']; + /** The year the month occurred in. */ + year: Scalars['Int']; +}; + +/** A week of contributions in a user's contribution graph. */ +export type ContributionCalendarWeek = { + /** The days of contributions in this week. */ + contributionDays: Array; + /** The date of the earliest square in this week. */ + firstDay: Scalars['Date']; +}; + +/** Varying levels of contributions from none to many. */ +export enum ContributionLevel { + /** Lowest 25% of days of contributions. */ + FirstQuartile = 'FIRST_QUARTILE', + /** Highest 25% of days of contributions. More contributions than the third quartile. */ + FourthQuartile = 'FOURTH_QUARTILE', + /** No contributions occurred. */ + None = 'NONE', + /** Second lowest 25% of days of contributions. More contributions than the first quartile. */ + SecondQuartile = 'SECOND_QUARTILE', + /** Second highest 25% of days of contributions. More contributions than second quartile, less than the fourth quartile. */ + ThirdQuartile = 'THIRD_QUARTILE' +} + +/** Ordering options for contribution connections. */ +export type ContributionOrder = { + /** The ordering direction. */ + direction: OrderDirection; +}; + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollection = { + /** Commit contributions made by the user, grouped by repository. */ + commitContributionsByRepository: Array; + /** A calendar of this user's contributions on GitHub. */ + contributionCalendar: ContributionCalendar; + /** The years the user has been making contributions with the most recent year first. */ + contributionYears: Array; + /** + * Determine if this collection's time span ends in the current month. + * + */ + doesEndInCurrentMonth: Scalars['Boolean']; + /** The date of the first restricted contribution the user made in this time period. Can only be non-null when the user has enabled private contribution counts. */ + earliestRestrictedContributionDate?: Maybe; + /** The ending date and time of this collection. */ + endedAt: Scalars['DateTime']; + /** The first issue the user opened on GitHub. This will be null if that issue was opened outside the collection's time range and ignoreTimeRange is false. If the issue is not visible but the user has opted to show private contributions, a RestrictedContribution will be returned. */ + firstIssueContribution?: Maybe; + /** The first pull request the user opened on GitHub. This will be null if that pull request was opened outside the collection's time range and ignoreTimeRange is not true. If the pull request is not visible but the user has opted to show private contributions, a RestrictedContribution will be returned. */ + firstPullRequestContribution?: Maybe; + /** The first repository the user created on GitHub. This will be null if that first repository was created outside the collection's time range and ignoreTimeRange is false. If the repository is not visible, then a RestrictedContribution is returned. */ + firstRepositoryContribution?: Maybe; + /** Does the user have any more activity in the timeline that occurred prior to the collection's time range? */ + hasActivityInThePast: Scalars['Boolean']; + /** Determine if there are any contributions in this collection. */ + hasAnyContributions: Scalars['Boolean']; + /** Determine if the user made any contributions in this time frame whose details are not visible because they were made in a private repository. Can only be true if the user enabled private contribution counts. */ + hasAnyRestrictedContributions: Scalars['Boolean']; + /** Whether or not the collector's time span is all within the same day. */ + isSingleDay: Scalars['Boolean']; + /** A list of issues the user opened. */ + issueContributions: CreatedIssueContributionConnection; + /** Issue contributions made by the user, grouped by repository. */ + issueContributionsByRepository: Array; + /** When the user signed up for GitHub. This will be null if that sign up date falls outside the collection's time range and ignoreTimeRange is false. */ + joinedGitHubContribution?: Maybe; + /** The date of the most recent restricted contribution the user made in this time period. Can only be non-null when the user has enabled private contribution counts. */ + latestRestrictedContributionDate?: Maybe; + /** + * When this collection's time range does not include any activity from the user, use this + * to get a different collection from an earlier time range that does have activity. + * + */ + mostRecentCollectionWithActivity?: Maybe; + /** + * Returns a different contributions collection from an earlier time range than this one + * that does not have any contributions. + * + */ + mostRecentCollectionWithoutActivity?: Maybe; + /** + * The issue the user opened on GitHub that received the most comments in the specified + * time frame. + * + */ + popularIssueContribution?: Maybe; + /** + * The pull request the user opened on GitHub that received the most comments in the + * specified time frame. + * + */ + popularPullRequestContribution?: Maybe; + /** Pull request contributions made by the user. */ + pullRequestContributions: CreatedPullRequestContributionConnection; + /** Pull request contributions made by the user, grouped by repository. */ + pullRequestContributionsByRepository: Array; + /** Pull request review contributions made by the user. */ + pullRequestReviewContributions: CreatedPullRequestReviewContributionConnection; + /** Pull request review contributions made by the user, grouped by repository. */ + pullRequestReviewContributionsByRepository: Array; + /** A list of repositories owned by the user that the user created in this time range. */ + repositoryContributions: CreatedRepositoryContributionConnection; + /** A count of contributions made by the user that the viewer cannot access. Only non-zero when the user has chosen to share their private contribution counts. */ + restrictedContributionsCount: Scalars['Int']; + /** The beginning date and time of this collection. */ + startedAt: Scalars['DateTime']; + /** How many commits were made by the user in this time span. */ + totalCommitContributions: Scalars['Int']; + /** How many issues the user opened. */ + totalIssueContributions: Scalars['Int']; + /** How many pull requests the user opened. */ + totalPullRequestContributions: Scalars['Int']; + /** How many pull request reviews the user left. */ + totalPullRequestReviewContributions: Scalars['Int']; + /** How many different repositories the user committed to. */ + totalRepositoriesWithContributedCommits: Scalars['Int']; + /** How many different repositories the user opened issues in. */ + totalRepositoriesWithContributedIssues: Scalars['Int']; + /** How many different repositories the user left pull request reviews in. */ + totalRepositoriesWithContributedPullRequestReviews: Scalars['Int']; + /** How many different repositories the user opened pull requests in. */ + totalRepositoriesWithContributedPullRequests: Scalars['Int']; + /** How many repositories the user created. */ + totalRepositoryContributions: Scalars['Int']; + /** The user who made the contributions in this collection. */ + user: User; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionCommitContributionsByRepositoryArgs = { + maxRepositories?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionIssueContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionIssueContributionsByRepositoryArgs = { + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; + maxRepositories?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionPullRequestContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionPullRequestContributionsByRepositoryArgs = { + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; + maxRepositories?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionPullRequestReviewContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionPullRequestReviewContributionsByRepositoryArgs = { + maxRepositories?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionRepositoryContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + excludeFirst?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionTotalIssueContributionsArgs = { + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionTotalPullRequestContributionsArgs = { + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionTotalRepositoriesWithContributedIssuesArgs = { + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionTotalRepositoriesWithContributedPullRequestsArgs = { + excludeFirst?: InputMaybe; + excludePopular?: InputMaybe; +}; + + +/** A contributions collection aggregates contributions such as opened issues and commits created by a user. */ +export type ContributionsCollectionTotalRepositoryContributionsArgs = { + excludeFirst?: InputMaybe; +}; + +/** Autogenerated input type of ConvertProjectCardNoteToIssue */ +export type ConvertProjectCardNoteToIssueInput = { + /** The body of the newly created issue. */ + body?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ProjectCard ID to convert. */ + projectCardId: Scalars['ID']; + /** The ID of the repository to create the issue in. */ + repositoryId: Scalars['ID']; + /** The title of the newly created issue. Defaults to the card's note text. */ + title?: InputMaybe; +}; + +/** Autogenerated return type of ConvertProjectCardNoteToIssue */ +export type ConvertProjectCardNoteToIssuePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The updated ProjectCard. */ + projectCard?: Maybe; +}; + +/** Autogenerated input type of ConvertPullRequestToDraft */ +export type ConvertPullRequestToDraftInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** ID of the pull request to convert to draft */ + pullRequestId: Scalars['ID']; +}; + +/** Autogenerated return type of ConvertPullRequestToDraft */ +export type ConvertPullRequestToDraftPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The pull request that is now a draft. */ + pullRequest?: Maybe; +}; + +/** Represents a 'convert_to_draft' event on a given pull request. */ +export type ConvertToDraftEvent = Node & UniformResourceLocatable & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; + /** The HTTP path for this convert to draft event. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this convert to draft event. */ + url: Scalars['URI']; +}; + +/** Represents a 'converted_note_to_issue' event on a given issue or pull request. */ +export type ConvertedNoteToIssueEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + id: Scalars['ID']; +}; + +/** Represents a 'converted_to_discussion' event on a given issue. */ +export type ConvertedToDiscussionEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The discussion that the issue was converted into. */ + discussion?: Maybe; + id: Scalars['ID']; +}; + +/** Autogenerated input type of CreateBranchProtectionRule */ +export type CreateBranchProtectionRuleInput = { + /** Can this branch be deleted. */ + allowsDeletions?: InputMaybe; + /** Are force pushes allowed on this branch. */ + allowsForcePushes?: InputMaybe; + /** A list of User or Team IDs allowed to bypass force push targeting matching branches. */ + bypassForcePushActorIds?: InputMaybe>; + /** A list of User or Team IDs allowed to bypass pull requests targeting matching branches. */ + bypassPullRequestActorIds?: InputMaybe>; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Will new commits pushed to matching branches dismiss pull request review approvals. */ + dismissesStaleReviews?: InputMaybe; + /** Can admins overwrite branch protection. */ + isAdminEnforced?: InputMaybe; + /** The glob-like pattern used to determine matching branches. */ + pattern: Scalars['String']; + /** A list of User, Team or App IDs allowed to push to matching branches. */ + pushActorIds?: InputMaybe>; + /** The global relay id of the repository in which a new branch protection rule should be created in. */ + repositoryId: Scalars['ID']; + /** Number of approving reviews required to update matching branches. */ + requiredApprovingReviewCount?: InputMaybe; + /** List of required status check contexts that must pass for commits to be accepted to matching branches. */ + requiredStatusCheckContexts?: InputMaybe>; + /** The list of required status checks */ + requiredStatusChecks?: InputMaybe>; + /** Are approving reviews required to update matching branches. */ + requiresApprovingReviews?: InputMaybe; + /** Are reviews from code owners required to update matching branches. */ + requiresCodeOwnerReviews?: InputMaybe; + /** Are commits required to be signed. */ + requiresCommitSignatures?: InputMaybe; + /** Are conversations required to be resolved before merging. */ + requiresConversationResolution?: InputMaybe; + /** Are merge commits prohibited from being pushed to this branch. */ + requiresLinearHistory?: InputMaybe; + /** Are status checks required to update matching branches. */ + requiresStatusChecks?: InputMaybe; + /** Are branches required to be up to date before merging. */ + requiresStrictStatusChecks?: InputMaybe; + /** Is pushing to matching branches restricted. */ + restrictsPushes?: InputMaybe; + /** Is dismissal of pull request reviews restricted. */ + restrictsReviewDismissals?: InputMaybe; + /** A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches. */ + reviewDismissalActorIds?: InputMaybe>; +}; + +/** Autogenerated return type of CreateBranchProtectionRule */ +export type CreateBranchProtectionRulePayload = { + /** The newly created BranchProtectionRule. */ + branchProtectionRule?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of CreateCheckRun */ +export type CreateCheckRunInput = { + /** Possible further actions the integrator can perform, which a user may trigger. */ + actions?: InputMaybe>; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The time that the check run finished. */ + completedAt?: InputMaybe; + /** The final conclusion of the check. */ + conclusion?: InputMaybe; + /** The URL of the integrator's site that has the full details of the check. */ + detailsUrl?: InputMaybe; + /** A reference for the run on the integrator's system. */ + externalId?: InputMaybe; + /** The SHA of the head commit. */ + headSha: Scalars['GitObjectID']; + /** The name of the check. */ + name: Scalars['String']; + /** Descriptive details about the run. */ + output?: InputMaybe; + /** The node ID of the repository. */ + repositoryId: Scalars['ID']; + /** The time that the check run began. */ + startedAt?: InputMaybe; + /** The current status. */ + status?: InputMaybe; +}; + +/** Autogenerated return type of CreateCheckRun */ +export type CreateCheckRunPayload = { + /** The newly created check run. */ + checkRun?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of CreateCheckSuite */ +export type CreateCheckSuiteInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The SHA of the head commit. */ + headSha: Scalars['GitObjectID']; + /** The Node ID of the repository. */ + repositoryId: Scalars['ID']; +}; + +/** Autogenerated return type of CreateCheckSuite */ +export type CreateCheckSuitePayload = { + /** The newly created check suite. */ + checkSuite?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of CreateCommitOnBranch */ +export type CreateCommitOnBranchInput = { + /** The Ref to be updated. Must be a branch. */ + branch: CommittableBranch; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The git commit oid expected at the head of the branch prior to the commit */ + expectedHeadOid: Scalars['GitObjectID']; + /** A description of changes to files in this commit. */ + fileChanges?: InputMaybe; + /** The commit message the be included with the commit. */ + message: CommitMessage; +}; + +/** Autogenerated return type of CreateCommitOnBranch */ +export type CreateCommitOnBranchPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new commit. */ + commit?: Maybe; + /** The ref which has been updated to point to the new commit. */ + ref?: Maybe; +}; + +/** Autogenerated input type of CreateDiscussion */ +export type CreateDiscussionInput = { + /** The body of the discussion. */ + body: Scalars['String']; + /** The id of the discussion category to associate with this discussion. */ + categoryId: Scalars['ID']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The id of the repository on which to create the discussion. */ + repositoryId: Scalars['ID']; + /** The title of the discussion. */ + title: Scalars['String']; +}; + +/** Autogenerated return type of CreateDiscussion */ +export type CreateDiscussionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The discussion that was just created. */ + discussion?: Maybe; +}; + +/** Autogenerated input type of CreateEnterpriseOrganization */ +export type CreateEnterpriseOrganizationInput = { + /** The logins for the administrators of the new organization. */ + adminLogins: Array; + /** The email used for sending billing receipts. */ + billingEmail: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the enterprise owning the new organization. */ + enterpriseId: Scalars['ID']; + /** The login of the new organization. */ + login: Scalars['String']; + /** The profile name of the new organization. */ + profileName: Scalars['String']; +}; + +/** Autogenerated return type of CreateEnterpriseOrganization */ +export type CreateEnterpriseOrganizationPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The enterprise that owns the created organization. */ + enterprise?: Maybe; + /** The organization that was created. */ + organization?: Maybe; +}; + +/** Autogenerated input type of CreateEnvironment */ +export type CreateEnvironmentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of the environment. */ + name: Scalars['String']; + /** The node ID of the repository. */ + repositoryId: Scalars['ID']; +}; + +/** Autogenerated return type of CreateEnvironment */ +export type CreateEnvironmentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new or existing environment. */ + environment?: Maybe; +}; + +/** Autogenerated input type of CreateIpAllowListEntry */ +export type CreateIpAllowListEntryInput = { + /** An IP address or range of addresses in CIDR notation. */ + allowListValue: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Whether the IP allow list entry is active when an IP allow list is enabled. */ + isActive: Scalars['Boolean']; + /** An optional name for the IP allow list entry. */ + name?: InputMaybe; + /** The ID of the owner for which to create the new IP allow list entry. */ + ownerId: Scalars['ID']; +}; + +/** Autogenerated return type of CreateIpAllowListEntry */ +export type CreateIpAllowListEntryPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The IP allow list entry that was created. */ + ipAllowListEntry?: Maybe; +}; + +/** Autogenerated input type of CreateIssue */ +export type CreateIssueInput = { + /** The Node ID for the user assignee for this issue. */ + assigneeIds?: InputMaybe>; + /** The body for the issue description. */ + body?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of an issue template in the repository, assigns labels and assignees from the template to the issue */ + issueTemplate?: InputMaybe; + /** An array of Node IDs of labels for this issue. */ + labelIds?: InputMaybe>; + /** The Node ID of the milestone for this issue. */ + milestoneId?: InputMaybe; + /** An array of Node IDs for projects associated with this issue. */ + projectIds?: InputMaybe>; + /** The Node ID of the repository. */ + repositoryId: Scalars['ID']; + /** The title for the issue. */ + title: Scalars['String']; +}; + +/** Autogenerated return type of CreateIssue */ +export type CreateIssuePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new issue. */ + issue?: Maybe; +}; + +/** Autogenerated input type of CreateMigrationSource */ +export type CreateMigrationSourceInput = { + /** The Octoshift migration source access token. */ + accessToken: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The GitHub personal access token of the user importing to the target repository. */ + githubPat?: InputMaybe; + /** The Octoshift migration source name. */ + name: Scalars['String']; + /** The ID of the organization that will own the Octoshift migration source. */ + ownerId: Scalars['ID']; + /** The Octoshift migration source type. */ + type: MigrationSourceType; + /** The Octoshift migration source URL. */ + url: Scalars['String']; +}; + +/** Autogenerated return type of CreateMigrationSource */ +export type CreateMigrationSourcePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The created Octoshift migration source. */ + migrationSource?: Maybe; +}; + +/** Autogenerated input type of CreateProject */ +export type CreateProjectInput = { + /** The description of project. */ + body?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of project. */ + name: Scalars['String']; + /** The owner ID to create the project under. */ + ownerId: Scalars['ID']; + /** A list of repository IDs to create as linked repositories for the project */ + repositoryIds?: InputMaybe>; + /** The name of the GitHub-provided template. */ + template?: InputMaybe; +}; + +/** Autogenerated return type of CreateProject */ +export type CreateProjectPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new project. */ + project?: Maybe; +}; + +/** Autogenerated input type of CreatePullRequest */ +export type CreatePullRequestInput = { + /** + * The name of the branch you want your changes pulled into. This should be an existing branch + * on the current repository. You cannot update the base branch on a pull request to point + * to another repository. + * + */ + baseRefName: Scalars['String']; + /** The contents of the pull request. */ + body?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Indicates whether this pull request should be a draft. */ + draft?: InputMaybe; + /** + * The name of the branch where your changes are implemented. For cross-repository pull requests + * in the same network, namespace `head_ref_name` with a user like this: `username:branch`. + * + */ + headRefName: Scalars['String']; + /** Indicates whether maintainers can modify the pull request. */ + maintainerCanModify?: InputMaybe; + /** The Node ID of the repository. */ + repositoryId: Scalars['ID']; + /** The title of the pull request. */ + title: Scalars['String']; +}; + +/** Autogenerated return type of CreatePullRequest */ +export type CreatePullRequestPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new pull request. */ + pullRequest?: Maybe; +}; + +/** Autogenerated input type of CreateRef */ +export type CreateRefInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The fully qualified name of the new Ref (ie: `refs/heads/my_new_branch`). */ + name: Scalars['String']; + /** The GitObjectID that the new Ref shall target. Must point to a commit. */ + oid: Scalars['GitObjectID']; + /** The Node ID of the Repository to create the Ref in. */ + repositoryId: Scalars['ID']; +}; + +/** Autogenerated return type of CreateRef */ +export type CreateRefPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The newly created ref. */ + ref?: Maybe; +}; + +/** Autogenerated input type of CreateRepository */ +export type CreateRepositoryInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** A short description of the new repository. */ + description?: InputMaybe; + /** Indicates if the repository should have the issues feature enabled. */ + hasIssuesEnabled?: InputMaybe; + /** Indicates if the repository should have the wiki feature enabled. */ + hasWikiEnabled?: InputMaybe; + /** The URL for a web page about this repository. */ + homepageUrl?: InputMaybe; + /** The name of the new repository. */ + name: Scalars['String']; + /** The ID of the owner for the new repository. */ + ownerId?: InputMaybe; + /** When an organization is specified as the owner, this ID identifies the team that should be granted access to the new repository. */ + teamId?: InputMaybe; + /** Whether this repository should be marked as a template such that anyone who can access it can create new repositories with the same files and directory structure. */ + template?: InputMaybe; + /** Indicates the repository's visibility level. */ + visibility: RepositoryVisibility; +}; + +/** Autogenerated return type of CreateRepository */ +export type CreateRepositoryPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new repository. */ + repository?: Maybe; +}; + +/** Autogenerated input type of CreateSponsorship */ +export type CreateSponsorshipInput = { + /** The amount to pay to the sponsorable in US dollars. Required if a tierId is not specified. Valid values: 1-12000. */ + amount?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Whether the sponsorship should happen monthly/yearly or just this one time. Required if a tierId is not specified. */ + isRecurring?: InputMaybe; + /** Specify whether others should be able to see that the sponsor is sponsoring the sponsorable. Public visibility still does not reveal which tier is used. */ + privacyLevel?: InputMaybe; + /** Whether the sponsor should receive email updates from the sponsorable. */ + receiveEmails?: InputMaybe; + /** The ID of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorLogin is not given. */ + sponsorId?: InputMaybe; + /** The username of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorId is not given. */ + sponsorLogin?: InputMaybe; + /** The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. */ + sponsorableId?: InputMaybe; + /** The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. */ + sponsorableLogin?: InputMaybe; + /** The ID of one of sponsorable's existing tiers to sponsor at. Required if amount is not specified. */ + tierId?: InputMaybe; +}; + +/** Autogenerated return type of CreateSponsorship */ +export type CreateSponsorshipPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The sponsorship that was started. */ + sponsorship?: Maybe; +}; + +/** Autogenerated input type of CreateTeamDiscussionComment */ +export type CreateTeamDiscussionCommentInput = { + /** The content of the comment. */ + body: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the discussion to which the comment belongs. */ + discussionId: Scalars['ID']; +}; + +/** Autogenerated return type of CreateTeamDiscussionComment */ +export type CreateTeamDiscussionCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new comment. */ + teamDiscussionComment?: Maybe; +}; + +/** Autogenerated input type of CreateTeamDiscussion */ +export type CreateTeamDiscussionInput = { + /** The content of the discussion. */ + body: Scalars['String']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** If true, restricts the visibility of this discussion to team members and organization admins. If false or not specified, allows any organization member to view this discussion. */ + private?: InputMaybe; + /** The ID of the team to which the discussion belongs. */ + teamId: Scalars['ID']; + /** The title of the discussion. */ + title: Scalars['String']; +}; + +/** Autogenerated return type of CreateTeamDiscussion */ +export type CreateTeamDiscussionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The new discussion. */ + teamDiscussion?: Maybe; +}; + +/** Represents the contribution a user made by committing to a repository. */ +export type CreatedCommitContribution = Contribution & { + /** How many commits were made on this day to this repository by the user. */ + commitCount: Scalars['Int']; + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The repository the user made a commit in. */ + repository: Repository; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** The connection type for CreatedCommitContribution. */ +export type CreatedCommitContributionConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** + * Identifies the total count of commits across days and repositories in the connection. + * + */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CreatedCommitContributionEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents the contribution a user made on GitHub by opening an issue. */ +export type CreatedIssueContribution = Contribution & { + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** The issue that was opened. */ + issue: Issue; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** The connection type for CreatedIssueContribution. */ +export type CreatedIssueContributionConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CreatedIssueContributionEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents either a issue the viewer can access or a restricted contribution. */ +export type CreatedIssueOrRestrictedContribution = CreatedIssueContribution | RestrictedContribution; + +/** Represents the contribution a user made on GitHub by opening a pull request. */ +export type CreatedPullRequestContribution = Contribution & { + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The pull request that was opened. */ + pullRequest: PullRequest; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** The connection type for CreatedPullRequestContribution. */ +export type CreatedPullRequestContributionConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CreatedPullRequestContributionEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents either a pull request the viewer can access or a restricted contribution. */ +export type CreatedPullRequestOrRestrictedContribution = CreatedPullRequestContribution | RestrictedContribution; + +/** Represents the contribution a user made by leaving a review on a pull request. */ +export type CreatedPullRequestReviewContribution = Contribution & { + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The pull request the user reviewed. */ + pullRequest: PullRequest; + /** The review the user left on the pull request. */ + pullRequestReview: PullRequestReview; + /** The repository containing the pull request that the user reviewed. */ + repository: Repository; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** The connection type for CreatedPullRequestReviewContribution. */ +export type CreatedPullRequestReviewContributionConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CreatedPullRequestReviewContributionEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents the contribution a user made on GitHub by creating a repository. */ +export type CreatedRepositoryContribution = Contribution & { + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The repository that was created. */ + repository: Repository; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** The connection type for CreatedRepositoryContribution. */ +export type CreatedRepositoryContributionConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type CreatedRepositoryContributionEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents either a repository the viewer can access or a restricted contribution. */ +export type CreatedRepositoryOrRestrictedContribution = CreatedRepositoryContribution | RestrictedContribution; + +/** Represents a mention made by one issue or pull request to another. */ +export type CrossReferencedEvent = Node & UniformResourceLocatable & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** Reference originated in a different repository. */ + isCrossRepository: Scalars['Boolean']; + /** Identifies when the reference was made. */ + referencedAt: Scalars['DateTime']; + /** The HTTP path for this pull request. */ + resourcePath: Scalars['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: Scalars['URI']; + /** Checks if the target will be closed when the source is merged. */ + willCloseTarget: Scalars['Boolean']; +}; + +/** Autogenerated input type of DeclineTopicSuggestion */ +export type DeclineTopicSuggestionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The name of the suggested topic. */ + name: Scalars['String']; + /** The reason why the suggested topic is declined. */ + reason: TopicSuggestionDeclineReason; + /** The Node ID of the repository. */ + repositoryId: Scalars['ID']; +}; + +/** Autogenerated return type of DeclineTopicSuggestion */ +export type DeclineTopicSuggestionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The declined topic. */ + topic?: Maybe; +}; + +/** The possible base permissions for repositories. */ +export enum DefaultRepositoryPermissionField { + /** Can read, write, and administrate repos by default */ + Admin = 'ADMIN', + /** No access */ + None = 'NONE', + /** Can read repos by default */ + Read = 'READ', + /** Can read and write repos by default */ + Write = 'WRITE' +} + +/** Entities that can be deleted. */ +export type Deletable = { + /** Check if the current viewer can delete this object. */ + viewerCanDelete: Scalars['Boolean']; +}; + +/** Autogenerated input type of DeleteBranchProtectionRule */ +export type DeleteBranchProtectionRuleInput = { + /** The global relay id of the branch protection rule to be deleted. */ + branchProtectionRuleId: Scalars['ID']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; +}; + +/** Autogenerated return type of DeleteBranchProtectionRule */ +export type DeleteBranchProtectionRulePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteDeployment */ +export type DeleteDeploymentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the deployment to be deleted. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteDeployment */ +export type DeleteDeploymentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteDiscussionComment */ +export type DeleteDiscussionCommentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node id of the discussion comment to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteDiscussionComment */ +export type DeleteDiscussionCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The discussion comment that was just deleted. */ + comment?: Maybe; +}; + +/** Autogenerated input type of DeleteDiscussion */ +export type DeleteDiscussionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The id of the discussion to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteDiscussion */ +export type DeleteDiscussionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The discussion that was just deleted. */ + discussion?: Maybe; +}; + +/** Autogenerated input type of DeleteEnvironment */ +export type DeleteEnvironmentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the environment to be deleted. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteEnvironment */ +export type DeleteEnvironmentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteIpAllowListEntry */ +export type DeleteIpAllowListEntryInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the IP allow list entry to delete. */ + ipAllowListEntryId: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteIpAllowListEntry */ +export type DeleteIpAllowListEntryPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The IP allow list entry that was deleted. */ + ipAllowListEntry?: Maybe; +}; + +/** Autogenerated input type of DeleteIssueComment */ +export type DeleteIssueCommentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the comment to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteIssueComment */ +export type DeleteIssueCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteIssue */ +export type DeleteIssueInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the issue to delete. */ + issueId: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteIssue */ +export type DeleteIssuePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The repository the issue belonged to */ + repository?: Maybe; +}; + +/** Autogenerated input type of DeleteProjectCard */ +export type DeleteProjectCardInput = { + /** The id of the card to delete. */ + cardId: Scalars['ID']; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; +}; + +/** Autogenerated return type of DeleteProjectCard */ +export type DeleteProjectCardPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The column the deleted card was in. */ + column?: Maybe; + /** The deleted card ID. */ + deletedCardId?: Maybe; +}; + +/** Autogenerated input type of DeleteProjectColumn */ +export type DeleteProjectColumnInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The id of the column to delete. */ + columnId: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteProjectColumn */ +export type DeleteProjectColumnPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The deleted column ID. */ + deletedColumnId?: Maybe; + /** The project the deleted column was in. */ + project?: Maybe; +}; + +/** Autogenerated input type of DeleteProject */ +export type DeleteProjectInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Project ID to update. */ + projectId: Scalars['ID']; +}; + +/** Autogenerated input type of DeleteProjectNextItem */ +export type DeleteProjectNextItemInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the item to be removed. */ + itemId: Scalars['ID']; + /** The ID of the Project from which the item should be removed. */ + projectId: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteProjectNextItem */ +export type DeleteProjectNextItemPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The ID of the deleted item. */ + deletedItemId?: Maybe; +}; + +/** Autogenerated return type of DeleteProject */ +export type DeleteProjectPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The repository or organization the project was removed from. */ + owner?: Maybe; +}; + +/** Autogenerated input type of DeletePullRequestReviewComment */ +export type DeletePullRequestReviewCommentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the comment to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeletePullRequestReviewComment */ +export type DeletePullRequestReviewCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The pull request review the deleted comment belonged to. */ + pullRequestReview?: Maybe; +}; + +/** Autogenerated input type of DeletePullRequestReview */ +export type DeletePullRequestReviewInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the pull request review to delete. */ + pullRequestReviewId: Scalars['ID']; +}; + +/** Autogenerated return type of DeletePullRequestReview */ +export type DeletePullRequestReviewPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The deleted pull request review. */ + pullRequestReview?: Maybe; +}; + +/** Autogenerated input type of DeleteRef */ +export type DeleteRefInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The Node ID of the Ref to be deleted. */ + refId: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteRef */ +export type DeleteRefPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteTeamDiscussionComment */ +export type DeleteTeamDiscussionCommentInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the comment to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteTeamDiscussionComment */ +export type DeleteTeamDiscussionCommentPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteTeamDiscussion */ +export type DeleteTeamDiscussionInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The discussion ID to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteTeamDiscussion */ +export type DeleteTeamDiscussionPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; +}; + +/** Autogenerated input type of DeleteVerifiableDomain */ +export type DeleteVerifiableDomainInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the verifiable domain to delete. */ + id: Scalars['ID']; +}; + +/** Autogenerated return type of DeleteVerifiableDomain */ +export type DeleteVerifiableDomainPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The owning account from which the domain was deleted. */ + owner?: Maybe; +}; + +/** Represents a 'demilestoned' event on a given issue or pull request. */ +export type DemilestonedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** Identifies the milestone title associated with the 'demilestoned' event. */ + milestoneTitle: Scalars['String']; + /** Object referenced by event. */ + subject: MilestoneItem; +}; + +/** A repository deploy key. */ +export type DeployKey = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** The deploy key. */ + key: Scalars['String']; + /** Whether or not the deploy key is read only. */ + readOnly: Scalars['Boolean']; + /** The deploy key title. */ + title: Scalars['String']; + /** Whether or not the deploy key has been verified. */ + verified: Scalars['Boolean']; +}; + +/** The connection type for DeployKey. */ +export type DeployKeyConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeployKeyEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents a 'deployed' event on a given pull request. */ +export type DeployedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The deployment associated with the 'deployed' event. */ + deployment: Deployment; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; + /** The ref associated with the 'deployed' event. */ + ref?: Maybe; +}; + +/** Represents triggered deployment instance. */ +export type Deployment = Node & { + /** Identifies the commit sha of the deployment. */ + commit?: Maybe; + /** Identifies the oid of the deployment commit, even if the commit has been deleted. */ + commitOid: Scalars['String']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the actor who triggered the deployment. */ + creator: Actor; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The deployment description. */ + description?: Maybe; + /** The latest environment to which this deployment was made. */ + environment?: Maybe; + id: Scalars['ID']; + /** The latest environment to which this deployment was made. */ + latestEnvironment?: Maybe; + /** The latest status of this deployment. */ + latestStatus?: Maybe; + /** The original environment to which this deployment was made. */ + originalEnvironment?: Maybe; + /** Extra information that a deployment system might need. */ + payload?: Maybe; + /** Identifies the Ref of the deployment, if the deployment was created by ref. */ + ref?: Maybe; + /** Identifies the repository associated with the deployment. */ + repository: Repository; + /** The current state of the deployment. */ + state?: Maybe; + /** A list of statuses associated with the deployment. */ + statuses?: Maybe; + /** The deployment task. */ + task?: Maybe; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; +}; + + +/** Represents triggered deployment instance. */ +export type DeploymentStatusesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for Deployment. */ +export type DeploymentConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeploymentEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents a 'deployment_environment_changed' event on a given pull request. */ +export type DeploymentEnvironmentChangedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The deployment status that updated the deployment environment. */ + deploymentStatus: DeploymentStatus; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; +}; + +/** Ordering options for deployment connections */ +export type DeploymentOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order deployments by. */ + field: DeploymentOrderField; +}; + +/** Properties by which deployment connections can be ordered. */ +export enum DeploymentOrderField { + /** Order collection by creation time */ + CreatedAt = 'CREATED_AT' +} + +/** A protection rule. */ +export type DeploymentProtectionRule = { + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The teams or users that can review the deployment */ + reviewers: DeploymentReviewerConnection; + /** The timeout in minutes for this protection rule. */ + timeout: Scalars['Int']; + /** The type of protection rule. */ + type: DeploymentProtectionRuleType; +}; + + +/** A protection rule. */ +export type DeploymentProtectionRuleReviewersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for DeploymentProtectionRule. */ +export type DeploymentProtectionRuleConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeploymentProtectionRuleEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The possible protection rule types. */ +export enum DeploymentProtectionRuleType { + /** Required reviewers */ + RequiredReviewers = 'REQUIRED_REVIEWERS', + /** Wait timer */ + WaitTimer = 'WAIT_TIMER' +} + +/** A request to deploy a workflow run to an environment. */ +export type DeploymentRequest = { + /** Whether or not the current user can approve the deployment */ + currentUserCanApprove: Scalars['Boolean']; + /** The target environment of the deployment */ + environment: Environment; + /** The teams or users that can review the deployment */ + reviewers: DeploymentReviewerConnection; + /** The wait timer in minutes configured in the environment */ + waitTimer: Scalars['Int']; + /** The wait timer in minutes configured in the environment */ + waitTimerStartedAt?: Maybe; +}; + + +/** A request to deploy a workflow run to an environment. */ +export type DeploymentRequestReviewersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for DeploymentRequest. */ +export type DeploymentRequestConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeploymentRequestEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A deployment review. */ +export type DeploymentReview = Node & { + /** The comment the user left. */ + comment: Scalars['String']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The environments approved or rejected */ + environments: EnvironmentConnection; + id: Scalars['ID']; + /** The decision of the user. */ + state: DeploymentReviewState; + /** The user that reviewed the deployment. */ + user: User; +}; + + +/** A deployment review. */ +export type DeploymentReviewEnvironmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for DeploymentReview. */ +export type DeploymentReviewConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeploymentReviewEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The possible states for a deployment review. */ +export enum DeploymentReviewState { + /** The deployment was approved. */ + Approved = 'APPROVED', + /** The deployment was rejected. */ + Rejected = 'REJECTED' +} + +/** Users and teams. */ +export type DeploymentReviewer = Team | User; + +/** The connection type for DeploymentReviewer. */ +export type DeploymentReviewerConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeploymentReviewerEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The possible states in which a deployment can be. */ +export enum DeploymentState { + /** The pending deployment was not updated after 30 minutes. */ + Abandoned = 'ABANDONED', + /** The deployment is currently active. */ + Active = 'ACTIVE', + /** An inactive transient deployment. */ + Destroyed = 'DESTROYED', + /** The deployment experienced an error. */ + Error = 'ERROR', + /** The deployment has failed. */ + Failure = 'FAILURE', + /** The deployment is inactive. */ + Inactive = 'INACTIVE', + /** The deployment is in progress. */ + InProgress = 'IN_PROGRESS', + /** The deployment is pending. */ + Pending = 'PENDING', + /** The deployment has queued */ + Queued = 'QUEUED', + /** The deployment is waiting. */ + Waiting = 'WAITING' +} + +/** Describes the status of a given deployment attempt. */ +export type DeploymentStatus = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['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?: Maybe; + /** Identifies the environment URL of the deployment. */ + environmentUrl?: Maybe; + id: Scalars['ID']; + /** Identifies the log URL of the deployment. */ + logUrl?: Maybe; + /** Identifies the current state of the deployment. */ + state: DeploymentStatusState; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; +}; + +/** The connection type for DeploymentStatus. */ +export type DeploymentStatusConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DeploymentStatusEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The possible states for a deployment status. */ +export enum DeploymentStatusState { + /** The deployment experienced an error. */ + Error = 'ERROR', + /** The deployment has failed. */ + Failure = 'FAILURE', + /** The deployment is inactive. */ + Inactive = 'INACTIVE', + /** The deployment is in progress. */ + InProgress = 'IN_PROGRESS', + /** The deployment is pending. */ + Pending = 'PENDING', + /** The deployment is queued */ + Queued = 'QUEUED', + /** The deployment was successful. */ + Success = 'SUCCESS', + /** The deployment is waiting. */ + Waiting = 'WAITING' +} + +/** The possible sides of a diff. */ +export enum DiffSide { + /** The left side of the diff. */ + Left = 'LEFT', + /** The right side of the diff. */ + Right = 'RIGHT' +} + +/** Autogenerated input type of DisablePullRequestAutoMerge */ +export type DisablePullRequestAutoMergeInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** ID of the pull request to disable auto merge on. */ + pullRequestId: Scalars['ID']; +}; + +/** Autogenerated return type of DisablePullRequestAutoMerge */ +export type DisablePullRequestAutoMergePayload = { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The pull request auto merge was disabled on. */ + pullRequest?: Maybe; +}; + +/** Represents a 'disconnected' event on a given issue or pull request. */ +export type DisconnectedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** Reference originated in a different repository. */ + isCrossRepository: Scalars['Boolean']; + /** Issue or pull request from which the issue was disconnected. */ + source: ReferencedSubject; + /** Issue or pull request which was disconnected. */ + subject: ReferencedSubject; +}; + +/** A discussion in a repository. */ +export type Discussion = Comment & Deletable & Labelable & Lockable & Node & Reactable & RepositoryNode & Subscribable & Updatable & Votable & { + /** Reason that the conversation was locked. */ + activeLockReason?: Maybe; + /** The comment chosen as this discussion's answer, if any. */ + answer?: Maybe; + /** The time when a user chose this discussion's answer, if answered. */ + answerChosenAt?: Maybe; + /** The user who chose this discussion's answer, if answered. */ + answerChosenBy?: Maybe; + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the subject of the comment. */ + authorAssociation: CommentAuthorAssociation; + /** The main text of the discussion post. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The body rendered to text. */ + bodyText: Scalars['String']; + /** The category for this discussion. */ + category: DiscussionCategory; + /** The replies to the discussion. */ + comments: DiscussionCommentConnection; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The actor who edited the comment. */ + editor?: Maybe; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** A list of labels associated with the object. */ + labels?: Maybe; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** `true` if the object is locked */ + locked: Scalars['Boolean']; + /** The number identifying this discussion within the repository. */ + number: Scalars['Int']; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** A list of reactions grouped by content left on the subject. */ + reactionGroups?: Maybe>; + /** A list of Reactions left on the Issue. */ + reactions: ReactionConnection; + /** The repository associated with this node. */ + repository: Repository; + /** The path for this discussion. */ + resourcePath: Scalars['URI']; + /** The title of this discussion. */ + title: Scalars['String']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** Number of upvotes that this subject has received. */ + upvoteCount: Scalars['Int']; + /** The URL for this discussion. */ + url: Scalars['URI']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Check if the current viewer can delete this object. */ + viewerCanDelete: Scalars['Boolean']; + /** Can user react to this subject */ + viewerCanReact: Scalars['Boolean']; + /** Check if the viewer is able to change their subscription status for the repository. */ + viewerCanSubscribe: Scalars['Boolean']; + /** Check if the current viewer can update this object. */ + viewerCanUpdate: Scalars['Boolean']; + /** Whether or not the current user can add or remove an upvote on this subject. */ + viewerCanUpvote: Scalars['Boolean']; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; + /** Whether or not the current user has already upvoted this subject. */ + viewerHasUpvoted: Scalars['Boolean']; + /** Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. */ + viewerSubscription?: Maybe; +}; + + +/** A discussion in a repository. */ +export type DiscussionCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A discussion in a repository. */ +export type DiscussionLabelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A discussion in a repository. */ +export type DiscussionReactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + content?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A discussion in a repository. */ +export type DiscussionUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A category for discussions in a repository. */ +export type DiscussionCategory = Node & RepositoryNode & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** A description of this category. */ + description?: Maybe; + /** An emoji representing this category. */ + emoji: Scalars['String']; + /** This category's emoji rendered as HTML. */ + emojiHTML: Scalars['HTML']; + id: Scalars['ID']; + /** Whether or not discussions in this category support choosing an answer with the markDiscussionCommentAsAnswer mutation. */ + isAnswerable: Scalars['Boolean']; + /** The name of this category. */ + name: Scalars['String']; + /** The repository associated with this node. */ + repository: Repository; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; +}; + +/** The connection type for DiscussionCategory. */ +export type DiscussionCategoryConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DiscussionCategoryEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A comment on a discussion. */ +export type DiscussionComment = Comment & Deletable & Minimizable & Node & Reactable & Updatable & UpdatableComment & Votable & { + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the subject of the comment. */ + authorAssociation: CommentAuthorAssociation; + /** The body as Markdown. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The body rendered to text. */ + bodyText: Scalars['String']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The time when this replied-to comment was deleted */ + deletedAt?: Maybe; + /** The discussion this comment was created in */ + discussion?: Maybe; + /** The actor who edited the comment. */ + editor?: Maybe; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** Has this comment been chosen as the answer of its discussion? */ + isAnswer: Scalars['Boolean']; + /** Returns whether or not a comment has been minimized. */ + isMinimized: Scalars['Boolean']; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** Returns why the comment was minimized. */ + minimizedReason?: Maybe; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** A list of reactions grouped by content left on the subject. */ + reactionGroups?: Maybe>; + /** A list of Reactions left on the Issue. */ + reactions: ReactionConnection; + /** The threaded replies to this comment. */ + replies: DiscussionCommentConnection; + /** The discussion comment this comment is a reply to */ + replyTo?: Maybe; + /** The path for this discussion comment. */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** Number of upvotes that this subject has received. */ + upvoteCount: Scalars['Int']; + /** The URL for this discussion comment. */ + url: Scalars['URI']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Check if the current viewer can delete this object. */ + viewerCanDelete: Scalars['Boolean']; + /** Can the current user mark this comment as an answer? */ + viewerCanMarkAsAnswer: Scalars['Boolean']; + /** Check if the current viewer can minimize this object. */ + viewerCanMinimize: Scalars['Boolean']; + /** Can user react to this subject */ + viewerCanReact: Scalars['Boolean']; + /** Can the current user unmark this comment as an answer? */ + viewerCanUnmarkAsAnswer: Scalars['Boolean']; + /** Check if the current viewer can update this object. */ + viewerCanUpdate: Scalars['Boolean']; + /** Whether or not the current user can add or remove an upvote on this subject. */ + viewerCanUpvote: Scalars['Boolean']; + /** Reasons why the current viewer can not update this comment. */ + viewerCannotUpdateReasons: Array; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; + /** Whether or not the current user has already upvoted this subject. */ + viewerHasUpvoted: Scalars['Boolean']; +}; + + +/** A comment on a discussion. */ +export type DiscussionCommentReactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + content?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A comment on a discussion. */ +export type DiscussionCommentRepliesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A comment on a discussion. */ +export type DiscussionCommentUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for DiscussionComment. */ +export type DiscussionCommentConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DiscussionCommentEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The connection type for Discussion. */ +export type DiscussionConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type DiscussionEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ways in which lists of discussions can be ordered upon return. */ +export type DiscussionOrder = { + /** The direction in which to order discussions by the specified field. */ + direction: OrderDirection; + /** The field by which to order discussions. */ + field: DiscussionOrderField; +}; + +/** Properties by which discussion connections can be ordered. */ +export enum DiscussionOrderField { + /** Order discussions by creation time. */ + CreatedAt = 'CREATED_AT', + /** Order discussions by most recent modification time. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Autogenerated input type of DismissPullRequestReview */ +export type DismissPullRequestReviewInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The contents of the pull request review dismissal message. */ + message: Scalars['String']; + /** The Node ID of the pull request review to modify. */ + pullRequestReviewId: Scalars['ID']; +}; + +/** Autogenerated return type of DismissPullRequestReview */ +export type DismissPullRequestReviewPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The dismissed pull request review. */ + pullRequestReview?: Maybe; +}; + +/** The possible reasons that a Dependabot alert was dismissed. */ +export enum DismissReason { + /** A fix has already been started */ + FixStarted = 'FIX_STARTED', + /** This alert is inaccurate or incorrect */ + Inaccurate = 'INACCURATE', + /** Vulnerable code is not actually used */ + NotUsed = 'NOT_USED', + /** No bandwidth to fix this */ + NoBandwidth = 'NO_BANDWIDTH', + /** Risk is tolerable to this project */ + TolerableRisk = 'TOLERABLE_RISK' +} + +/** Autogenerated input type of DismissRepositoryVulnerabilityAlert */ +export type DismissRepositoryVulnerabilityAlertInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The reason the Dependabot alert is being dismissed. */ + dismissReason: DismissReason; + /** The Dependabot alert ID to dismiss. */ + repositoryVulnerabilityAlertId: Scalars['ID']; +}; + +/** Autogenerated return type of DismissRepositoryVulnerabilityAlert */ +export type DismissRepositoryVulnerabilityAlertPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The Dependabot alert that was dismissed */ + repositoryVulnerabilityAlert?: Maybe; +}; + +/** Specifies a review comment to be left with a Pull Request Review. */ +export type DraftPullRequestReviewComment = { + /** Body of the comment to leave. */ + body: Scalars['String']; + /** Path to the file being commented on. */ + path: Scalars['String']; + /** Position in the file to leave a comment on. */ + position: Scalars['Int']; +}; + +/** Specifies a review comment thread to be left with a Pull Request Review. */ +export type DraftPullRequestReviewThread = { + /** Body of the comment to leave. */ + body: Scalars['String']; + /** The line of the blob to which the thread refers. The end of the line range for multi-line comments. */ + line: Scalars['Int']; + /** Path to the file being commented on. */ + path: Scalars['String']; + /** The side of the diff on which the line resides. For multi-line comments, this is the side for the end of the line range. */ + side?: InputMaybe; + /** The first line of the range to which the comment refers. */ + startLine?: InputMaybe; + /** The side of the diff on which the start line resides. */ + startSide?: InputMaybe; +}; + +/** Autogenerated input type of EnablePullRequestAutoMerge */ +export type EnablePullRequestAutoMergeInput = { + /** The email address to associate with this merge. */ + authorEmail?: InputMaybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** Commit body to use for the commit when the PR is mergable; if omitted, a default message will be used. */ + commitBody?: InputMaybe; + /** Commit headline to use for the commit when the PR is mergable; if omitted, a default message will be used. */ + commitHeadline?: InputMaybe; + /** The merge method to use. If omitted, defaults to 'MERGE' */ + mergeMethod?: InputMaybe; + /** ID of the pull request to enable auto-merge on. */ + pullRequestId: Scalars['ID']; +}; + +/** Autogenerated return type of EnablePullRequestAutoMerge */ +export type EnablePullRequestAutoMergePayload = { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The pull request auto-merge was enabled on. */ + pullRequest?: Maybe; +}; + +/** An account to manage multiple organizations with consolidated policy and billing. */ +export type Enterprise = Node & { + /** A URL pointing to the enterprise's public avatar. */ + avatarUrl: Scalars['URI']; + /** Enterprise billing information visible to enterprise billing managers. */ + billingInfo?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The description of the enterprise. */ + description?: Maybe; + /** The description of the enterprise as HTML. */ + descriptionHTML: Scalars['HTML']; + id: Scalars['ID']; + /** The location of the enterprise. */ + location?: Maybe; + /** A list of users who are members of this enterprise. */ + members: EnterpriseMemberConnection; + /** The name of the enterprise. */ + name: Scalars['String']; + /** A list of organizations that belong to this enterprise. */ + organizations: OrganizationConnection; + /** Enterprise information only visible to enterprise owners. */ + ownerInfo?: Maybe; + /** The HTTP path for this enterprise. */ + resourcePath: Scalars['URI']; + /** The URL-friendly identifier for the enterprise. */ + slug: Scalars['String']; + /** The HTTP URL for this enterprise. */ + url: Scalars['URI']; + /** A list of user accounts on this enterprise. */ + userAccounts: EnterpriseUserAccountConnection; + /** Is the current viewer an admin of this enterprise? */ + viewerIsAdmin: Scalars['Boolean']; + /** The URL of the enterprise website. */ + websiteUrl?: Maybe; +}; + + +/** An account to manage multiple organizations with consolidated policy and billing. */ +export type EnterpriseAvatarUrlArgs = { + size?: InputMaybe; +}; + + +/** An account to manage multiple organizations with consolidated policy and billing. */ +export type EnterpriseMembersArgs = { + after?: InputMaybe; + before?: InputMaybe; + deployment?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + organizationLogins?: InputMaybe>; + query?: InputMaybe; + role?: InputMaybe; +}; + + +/** An account to manage multiple organizations with consolidated policy and billing. */ +export type EnterpriseOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + viewerOrganizationRole?: InputMaybe; +}; + + +/** An account to manage multiple organizations with consolidated policy and billing. */ +export type EnterpriseUserAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for User. */ +export type EnterpriseAdministratorConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** A User who is an administrator of an enterprise. */ +export type EnterpriseAdministratorEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; + /** The role of the administrator. */ + role: EnterpriseAdministratorRole; +}; + +/** An invitation for a user to become an owner or billing manager of an enterprise. */ +export type EnterpriseAdministratorInvitation = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The email of the person who was invited to the enterprise. */ + email?: Maybe; + /** The enterprise the invitation is for. */ + enterprise: Enterprise; + id: Scalars['ID']; + /** The user who was invited to the enterprise. */ + invitee?: Maybe; + /** The user who created the invitation. */ + inviter?: Maybe; + /** The invitee's pending role in the enterprise (owner or billing_manager). */ + role: EnterpriseAdministratorRole; +}; + +/** The connection type for EnterpriseAdministratorInvitation. */ +export type EnterpriseAdministratorInvitationConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseAdministratorInvitationEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ordering options for enterprise administrator invitation connections */ +export type EnterpriseAdministratorInvitationOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order enterprise administrator invitations by. */ + field: EnterpriseAdministratorInvitationOrderField; +}; + +/** Properties by which enterprise administrator invitation connections can be ordered. */ +export enum EnterpriseAdministratorInvitationOrderField { + /** Order enterprise administrator member invitations by creation time */ + CreatedAt = 'CREATED_AT' +} + +/** The possible administrator roles in an enterprise account. */ +export enum EnterpriseAdministratorRole { + /** Represents a billing manager of the enterprise account. */ + BillingManager = 'BILLING_MANAGER', + /** Represents an owner of the enterprise account. */ + Owner = 'OWNER' +} + +/** Metadata for an audit entry containing enterprise account information. */ +export type EnterpriseAuditEntryData = { + /** The HTTP path for this enterprise. */ + enterpriseResourcePath?: Maybe; + /** The slug of the enterprise. */ + enterpriseSlug?: Maybe; + /** The HTTP URL for this enterprise. */ + enterpriseUrl?: Maybe; +}; + +/** Enterprise billing information visible to enterprise billing managers and owners. */ +export type EnterpriseBillingInfo = { + /** The number of licenseable users/emails across the enterprise. */ + allLicensableUsersCount: Scalars['Int']; + /** The number of data packs used by all organizations owned by the enterprise. */ + assetPacks: Scalars['Int']; + /** + * The number of available seats across all owned organizations based on the unique number of billable users. + * @deprecated `availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalAvailableLicenses instead. Removal on 2020-01-01 UTC. + */ + availableSeats: Scalars['Int']; + /** The bandwidth quota in GB for all organizations owned by the enterprise. */ + bandwidthQuota: Scalars['Float']; + /** The bandwidth usage in GB for all organizations owned by the enterprise. */ + bandwidthUsage: Scalars['Float']; + /** The bandwidth usage as a percentage of the bandwidth quota. */ + bandwidthUsagePercentage: Scalars['Int']; + /** + * The total seats across all organizations owned by the enterprise. + * @deprecated `seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalLicenses instead. Removal on 2020-01-01 UTC. + */ + seats: Scalars['Int']; + /** The storage quota in GB for all organizations owned by the enterprise. */ + storageQuota: Scalars['Float']; + /** The storage usage in GB for all organizations owned by the enterprise. */ + storageUsage: Scalars['Float']; + /** The storage usage as a percentage of the storage quota. */ + storageUsagePercentage: Scalars['Int']; + /** The number of available licenses across all owned organizations based on the unique number of billable users. */ + totalAvailableLicenses: Scalars['Int']; + /** The total number of licenses allocated. */ + totalLicenses: Scalars['Int']; +}; + +/** The possible values for the enterprise base repository permission setting. */ +export enum EnterpriseDefaultRepositoryPermissionSettingValue { + /** Organization members will be able to clone, pull, push, and add new collaborators to all organization repositories. */ + Admin = 'ADMIN', + /** Organization members will only be able to clone and pull public repositories. */ + None = 'NONE', + /** Organizations in the enterprise choose base repository permissions for their members. */ + NoPolicy = 'NO_POLICY', + /** Organization members will be able to clone and pull all organization repositories. */ + Read = 'READ', + /** Organization members will be able to clone, pull, and push all organization repositories. */ + Write = 'WRITE' +} + +/** The possible values for an enabled/disabled enterprise setting. */ +export enum EnterpriseEnabledDisabledSettingValue { + /** The setting is disabled for organizations in the enterprise. */ + Disabled = 'DISABLED', + /** The setting is enabled for organizations in the enterprise. */ + Enabled = 'ENABLED', + /** There is no policy set for organizations in the enterprise. */ + NoPolicy = 'NO_POLICY' +} + +/** The possible values for an enabled/no policy enterprise setting. */ +export enum EnterpriseEnabledSettingValue { + /** The setting is enabled for organizations in the enterprise. */ + Enabled = 'ENABLED', + /** There is no policy set for organizations in the enterprise. */ + NoPolicy = 'NO_POLICY' +} + +/** An identity provider configured to provision identities for an enterprise. */ +export type EnterpriseIdentityProvider = Node & { + /** The digest algorithm used to sign SAML requests for the identity provider. */ + digestMethod?: Maybe; + /** The enterprise this identity provider belongs to. */ + enterprise?: Maybe; + /** ExternalIdentities provisioned by this identity provider. */ + externalIdentities: ExternalIdentityConnection; + id: Scalars['ID']; + /** The x509 certificate used by the identity provider to sign assertions and responses. */ + idpCertificate?: Maybe; + /** The Issuer Entity ID for the SAML identity provider. */ + issuer?: Maybe; + /** Recovery codes that can be used by admins to access the enterprise if the identity provider is unavailable. */ + recoveryCodes?: Maybe>; + /** The signature algorithm used to sign SAML requests for the identity provider. */ + signatureMethod?: Maybe; + /** The URL endpoint for the identity provider's SAML SSO. */ + ssoUrl?: Maybe; +}; + + +/** An identity provider configured to provision identities for an enterprise. */ +export type EnterpriseIdentityProviderExternalIdentitiesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + membersOnly?: InputMaybe; +}; + +/** An object that is a member of an enterprise. */ +export type EnterpriseMember = EnterpriseUserAccount | User; + +/** The connection type for EnterpriseMember. */ +export type EnterpriseMemberConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** A User who is a member of an enterprise through one or more organizations. */ +export type EnterpriseMemberEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** + * Whether the user does not have a license for the enterprise. + * @deprecated All members consume a license Removal on 2021-01-01 UTC. + */ + isUnlicensed: Scalars['Boolean']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ordering options for enterprise member connections. */ +export type EnterpriseMemberOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order enterprise members by. */ + field: EnterpriseMemberOrderField; +}; + +/** Properties by which enterprise member connections can be ordered. */ +export enum EnterpriseMemberOrderField { + /** Order enterprise members by creation time */ + CreatedAt = 'CREATED_AT', + /** Order enterprise members by login */ + Login = 'LOGIN' +} + +/** The possible values for the enterprise members can create repositories setting. */ +export enum EnterpriseMembersCanCreateRepositoriesSettingValue { + /** Members will be able to create public and private repositories. */ + All = 'ALL', + /** Members will not be able to create public or private repositories. */ + Disabled = 'DISABLED', + /** Organization administrators choose whether to allow members to create repositories. */ + NoPolicy = 'NO_POLICY', + /** Members will be able to create only private repositories. */ + Private = 'PRIVATE', + /** Members will be able to create only public repositories. */ + Public = 'PUBLIC' +} + +/** The possible values for the members can make purchases setting. */ +export enum EnterpriseMembersCanMakePurchasesSettingValue { + /** The setting is disabled for organizations in the enterprise. */ + Disabled = 'DISABLED', + /** The setting is enabled for organizations in the enterprise. */ + Enabled = 'ENABLED' +} + +/** The connection type for Organization. */ +export type EnterpriseOrganizationMembershipConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An enterprise organization that a user is a member of. */ +export type EnterpriseOrganizationMembershipEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; + /** The role of the user in the enterprise membership. */ + role: EnterpriseUserAccountMembershipRole; +}; + +/** The connection type for User. */ +export type EnterpriseOutsideCollaboratorConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** A User who is an outside collaborator of an enterprise through one or more organizations. */ +export type EnterpriseOutsideCollaboratorEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** + * Whether the outside collaborator does not have a license for the enterprise. + * @deprecated All outside collaborators consume a license Removal on 2021-01-01 UTC. + */ + isUnlicensed: Scalars['Boolean']; + /** The item at the end of the edge. */ + node?: Maybe; + /** The enterprise organization repositories this user is a member of. */ + repositories: EnterpriseRepositoryInfoConnection; +}; + + +/** A User who is an outside collaborator of an enterprise through one or more organizations. */ +export type EnterpriseOutsideCollaboratorEdgeRepositoriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfo = { + /** A list of all of the administrators for this enterprise. */ + admins: EnterpriseAdministratorConnection; + /** A list of users in the enterprise who currently have two-factor authentication disabled. */ + affiliatedUsersWithTwoFactorDisabled: UserConnection; + /** Whether or not affiliated users with two-factor authentication disabled exist in the enterprise. */ + affiliatedUsersWithTwoFactorDisabledExist: Scalars['Boolean']; + /** The setting value for whether private repository forking is enabled for repositories in organizations in this enterprise. */ + allowPrivateRepositoryForkingSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided private repository forking setting value. */ + allowPrivateRepositoryForkingSettingOrganizations: OrganizationConnection; + /** The setting value for base repository permissions for organizations in this enterprise. */ + defaultRepositoryPermissionSetting: EnterpriseDefaultRepositoryPermissionSettingValue; + /** A list of enterprise organizations configured with the provided base repository permission. */ + defaultRepositoryPermissionSettingOrganizations: OrganizationConnection; + /** A list of domains owned by the enterprise. */ + domains: VerifiableDomainConnection; + /** Enterprise Server installations owned by the enterprise. */ + enterpriseServerInstallations: EnterpriseServerInstallationConnection; + /** The setting value for whether the enterprise has an IP allow list enabled. */ + ipAllowListEnabledSetting: IpAllowListEnabledSettingValue; + /** The IP addresses that are allowed to access resources owned by the enterprise. */ + ipAllowListEntries: IpAllowListEntryConnection; + /** The setting value for whether the enterprise has IP allow list configuration for installed GitHub Apps enabled. */ + ipAllowListForInstalledAppsEnabledSetting: IpAllowListForInstalledAppsEnabledSettingValue; + /** Whether or not the base repository permission is currently being updated. */ + isUpdatingDefaultRepositoryPermission: Scalars['Boolean']; + /** Whether the two-factor authentication requirement is currently being enforced. */ + isUpdatingTwoFactorRequirement: Scalars['Boolean']; + /** The setting value for whether organization members with admin permissions on a repository can change repository visibility. */ + membersCanChangeRepositoryVisibilitySetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided can change repository visibility setting value. */ + membersCanChangeRepositoryVisibilitySettingOrganizations: OrganizationConnection; + /** The setting value for whether members of organizations in the enterprise can create internal repositories. */ + membersCanCreateInternalRepositoriesSetting?: Maybe; + /** The setting value for whether members of organizations in the enterprise can create private repositories. */ + membersCanCreatePrivateRepositoriesSetting?: Maybe; + /** The setting value for whether members of organizations in the enterprise can create public repositories. */ + membersCanCreatePublicRepositoriesSetting?: Maybe; + /** The setting value for whether members of organizations in the enterprise can create repositories. */ + membersCanCreateRepositoriesSetting?: Maybe; + /** A list of enterprise organizations configured with the provided repository creation setting value. */ + membersCanCreateRepositoriesSettingOrganizations: OrganizationConnection; + /** The setting value for whether members with admin permissions for repositories can delete issues. */ + membersCanDeleteIssuesSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided members can delete issues setting value. */ + membersCanDeleteIssuesSettingOrganizations: OrganizationConnection; + /** The setting value for whether members with admin permissions for repositories can delete or transfer repositories. */ + membersCanDeleteRepositoriesSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided members can delete repositories setting value. */ + membersCanDeleteRepositoriesSettingOrganizations: OrganizationConnection; + /** The setting value for whether members of organizations in the enterprise can invite outside collaborators. */ + membersCanInviteCollaboratorsSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided members can invite collaborators setting value. */ + membersCanInviteCollaboratorsSettingOrganizations: OrganizationConnection; + /** Indicates whether members of this enterprise's organizations can purchase additional services for those organizations. */ + membersCanMakePurchasesSetting: EnterpriseMembersCanMakePurchasesSettingValue; + /** The setting value for whether members with admin permissions for repositories can update protected branches. */ + membersCanUpdateProtectedBranchesSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided members can update protected branches setting value. */ + membersCanUpdateProtectedBranchesSettingOrganizations: OrganizationConnection; + /** The setting value for whether members can view dependency insights. */ + membersCanViewDependencyInsightsSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided members can view dependency insights setting value. */ + membersCanViewDependencyInsightsSettingOrganizations: OrganizationConnection; + /** Indicates if email notification delivery for this enterprise is restricted to verified or approved domains. */ + notificationDeliveryRestrictionEnabledSetting: NotificationRestrictionSettingValue; + /** The OIDC Identity Provider for the enterprise. */ + oidcProvider?: Maybe; + /** The setting value for whether organization projects are enabled for organizations in this enterprise. */ + organizationProjectsSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided organization projects setting value. */ + organizationProjectsSettingOrganizations: OrganizationConnection; + /** A list of outside collaborators across the repositories in the enterprise. */ + outsideCollaborators: EnterpriseOutsideCollaboratorConnection; + /** A list of pending administrator invitations for the enterprise. */ + pendingAdminInvitations: EnterpriseAdministratorInvitationConnection; + /** A list of pending collaborator invitations across the repositories in the enterprise. */ + pendingCollaboratorInvitations: RepositoryInvitationConnection; + /** + * A list of pending collaborators across the repositories in the enterprise. + * @deprecated Repository invitations can now be associated with an email, not only an invitee. Use the `pendingCollaboratorInvitations` field instead. Removal on 2020-10-01 UTC. + */ + pendingCollaborators: EnterprisePendingCollaboratorConnection; + /** A list of pending member invitations for organizations in the enterprise. */ + pendingMemberInvitations: EnterprisePendingMemberInvitationConnection; + /** The setting value for whether repository projects are enabled in this enterprise. */ + repositoryProjectsSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided repository projects setting value. */ + repositoryProjectsSettingOrganizations: OrganizationConnection; + /** The SAML Identity Provider for the enterprise. */ + samlIdentityProvider?: Maybe; + /** A list of enterprise organizations configured with the SAML single sign-on setting value. */ + samlIdentityProviderSettingOrganizations: OrganizationConnection; + /** A list of members with a support entitlement. */ + supportEntitlements: EnterpriseMemberConnection; + /** The setting value for whether team discussions are enabled for organizations in this enterprise. */ + teamDiscussionsSetting: EnterpriseEnabledDisabledSettingValue; + /** A list of enterprise organizations configured with the provided team discussions setting value. */ + teamDiscussionsSettingOrganizations: OrganizationConnection; + /** The setting value for whether the enterprise requires two-factor authentication for its organizations and users. */ + twoFactorRequiredSetting: EnterpriseEnabledSettingValue; + /** A list of enterprise organizations configured with the two-factor authentication setting value. */ + twoFactorRequiredSettingOrganizations: OrganizationConnection; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoAdminsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + role?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoAffiliatedUsersWithTwoFactorDisabledArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoAllowPrivateRepositoryForkingSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoDefaultRepositoryPermissionSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: DefaultRepositoryPermissionField; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoDomainsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + isApproved?: InputMaybe; + isVerified?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoEnterpriseServerInstallationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + connectedOnly?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoIpAllowListEntriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanChangeRepositoryVisibilitySettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanCreateRepositoriesSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: OrganizationMembersCanCreateRepositoriesSettingValue; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanDeleteIssuesSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanDeleteRepositoriesSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanInviteCollaboratorsSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanUpdateProtectedBranchesSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoMembersCanViewDependencyInsightsSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoOrganizationProjectsSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoOutsideCollaboratorsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + login?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + visibility?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoPendingAdminInvitationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + role?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoPendingCollaboratorInvitationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoPendingCollaboratorsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoPendingMemberInvitationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoRepositoryProjectsSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoSamlIdentityProviderSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: IdentityProviderConfigurationState; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoSupportEntitlementsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoTeamDiscussionsSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + + +/** Enterprise information only visible to enterprise owners. */ +export type EnterpriseOwnerInfoTwoFactorRequiredSettingOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + value: Scalars['Boolean']; +}; + +/** The connection type for User. */ +export type EnterprisePendingCollaboratorConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** A user with an invitation to be a collaborator on a repository owned by an organization in an enterprise. */ +export type EnterprisePendingCollaboratorEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** + * Whether the invited collaborator does not have a license for the enterprise. + * @deprecated All pending collaborators consume a license Removal on 2021-01-01 UTC. + */ + isUnlicensed: Scalars['Boolean']; + /** The item at the end of the edge. */ + node?: Maybe; + /** The enterprise organization repositories this user is a member of. */ + repositories: EnterpriseRepositoryInfoConnection; +}; + + +/** A user with an invitation to be a collaborator on a repository owned by an organization in an enterprise. */ +export type EnterprisePendingCollaboratorEdgeRepositoriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** The connection type for OrganizationInvitation. */ +export type EnterprisePendingMemberInvitationConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; + /** Identifies the total count of unique users in the connection. */ + totalUniqueUserCount: Scalars['Int']; +}; + +/** An invitation to be a member in an enterprise organization. */ +export type EnterprisePendingMemberInvitationEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** + * Whether the invitation has a license for the enterprise. + * @deprecated All pending members consume a license Removal on 2020-07-01 UTC. + */ + isUnlicensed: Scalars['Boolean']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A subset of repository information queryable from an enterprise. */ +export type EnterpriseRepositoryInfo = Node & { + id: Scalars['ID']; + /** Identifies if the repository is private or internal. */ + isPrivate: Scalars['Boolean']; + /** The repository's name. */ + name: Scalars['String']; + /** The repository's name with owner. */ + nameWithOwner: Scalars['String']; +}; + +/** The connection type for EnterpriseRepositoryInfo. */ +export type EnterpriseRepositoryInfoConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseRepositoryInfoEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** An Enterprise Server installation. */ +export type EnterpriseServerInstallation = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The customer name to which the Enterprise Server installation belongs. */ + customerName: Scalars['String']; + /** The host name of the Enterprise Server installation. */ + hostName: Scalars['String']; + id: Scalars['ID']; + /** Whether or not the installation is connected to an Enterprise Server installation via GitHub Connect. */ + isConnected: Scalars['Boolean']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** User accounts on this Enterprise Server installation. */ + userAccounts: EnterpriseServerUserAccountConnection; + /** User accounts uploads for the Enterprise Server installation. */ + userAccountsUploads: EnterpriseServerUserAccountsUploadConnection; +}; + + +/** An Enterprise Server installation. */ +export type EnterpriseServerInstallationUserAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** An Enterprise Server installation. */ +export type EnterpriseServerInstallationUserAccountsUploadsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** The connection type for EnterpriseServerInstallation. */ +export type EnterpriseServerInstallationConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseServerInstallationEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ordering options for Enterprise Server installation connections. */ +export type EnterpriseServerInstallationOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order Enterprise Server installations by. */ + field: EnterpriseServerInstallationOrderField; +}; + +/** Properties by which Enterprise Server installation connections can be ordered. */ +export enum EnterpriseServerInstallationOrderField { + /** Order Enterprise Server installations by creation time */ + CreatedAt = 'CREATED_AT', + /** Order Enterprise Server installations by customer name */ + CustomerName = 'CUSTOMER_NAME', + /** Order Enterprise Server installations by host name */ + HostName = 'HOST_NAME' +} + +/** A user account on an Enterprise Server installation. */ +export type EnterpriseServerUserAccount = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** User emails belonging to this user account. */ + emails: EnterpriseServerUserAccountEmailConnection; + /** The Enterprise Server installation on which this user account exists. */ + enterpriseServerInstallation: EnterpriseServerInstallation; + id: Scalars['ID']; + /** Whether the user account is a site administrator on the Enterprise Server installation. */ + isSiteAdmin: Scalars['Boolean']; + /** The login of the user account on the Enterprise Server installation. */ + login: Scalars['String']; + /** The profile name of the user account on the Enterprise Server installation. */ + profileName?: Maybe; + /** The date and time when the user account was created on the Enterprise Server installation. */ + remoteCreatedAt: Scalars['DateTime']; + /** The ID of the user account on the Enterprise Server installation. */ + remoteUserId: Scalars['Int']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; +}; + + +/** A user account on an Enterprise Server installation. */ +export type EnterpriseServerUserAccountEmailsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** The connection type for EnterpriseServerUserAccount. */ +export type EnterpriseServerUserAccountConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseServerUserAccountEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** An email belonging to a user account on an Enterprise Server installation. */ +export type EnterpriseServerUserAccountEmail = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The email address. */ + email: Scalars['String']; + id: Scalars['ID']; + /** Indicates whether this is the primary email of the associated user account. */ + isPrimary: Scalars['Boolean']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The user account to which the email belongs. */ + userAccount: EnterpriseServerUserAccount; +}; + +/** The connection type for EnterpriseServerUserAccountEmail. */ +export type EnterpriseServerUserAccountEmailConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseServerUserAccountEmailEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ordering options for Enterprise Server user account email connections. */ +export type EnterpriseServerUserAccountEmailOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order emails by. */ + field: EnterpriseServerUserAccountEmailOrderField; +}; + +/** Properties by which Enterprise Server user account email connections can be ordered. */ +export enum EnterpriseServerUserAccountEmailOrderField { + /** Order emails by email */ + Email = 'EMAIL' +} + +/** Ordering options for Enterprise Server user account connections. */ +export type EnterpriseServerUserAccountOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order user accounts by. */ + field: EnterpriseServerUserAccountOrderField; +}; + +/** Properties by which Enterprise Server user account connections can be ordered. */ +export enum EnterpriseServerUserAccountOrderField { + /** Order user accounts by login */ + Login = 'LOGIN', + /** Order user accounts by creation time on the Enterprise Server installation */ + RemoteCreatedAt = 'REMOTE_CREATED_AT' +} + +/** A user accounts upload from an Enterprise Server installation. */ +export type EnterpriseServerUserAccountsUpload = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The enterprise to which this upload belongs. */ + enterprise: Enterprise; + /** The Enterprise Server installation for which this upload was generated. */ + enterpriseServerInstallation: EnterpriseServerInstallation; + id: Scalars['ID']; + /** The name of the file uploaded. */ + name: Scalars['String']; + /** The synchronization state of the upload */ + syncState: EnterpriseServerUserAccountsUploadSyncState; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; +}; + +/** The connection type for EnterpriseServerUserAccountsUpload. */ +export type EnterpriseServerUserAccountsUploadConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseServerUserAccountsUploadEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ordering options for Enterprise Server user accounts upload connections. */ +export type EnterpriseServerUserAccountsUploadOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order user accounts uploads by. */ + field: EnterpriseServerUserAccountsUploadOrderField; +}; + +/** Properties by which Enterprise Server user accounts upload connections can be ordered. */ +export enum EnterpriseServerUserAccountsUploadOrderField { + /** Order user accounts uploads by creation time */ + CreatedAt = 'CREATED_AT' +} + +/** Synchronization state of the Enterprise Server user accounts upload */ +export enum EnterpriseServerUserAccountsUploadSyncState { + /** The synchronization of the upload failed. */ + Failure = 'FAILURE', + /** The synchronization of the upload is pending. */ + Pending = 'PENDING', + /** The synchronization of the upload succeeded. */ + Success = 'SUCCESS' +} + +/** An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations. */ +export type EnterpriseUserAccount = Actor & Node & { + /** A URL pointing to the enterprise user account's public avatar. */ + avatarUrl: Scalars['URI']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The enterprise in which this user account exists. */ + enterprise: Enterprise; + id: Scalars['ID']; + /** An identifier for the enterprise user account, a login or email address */ + login: Scalars['String']; + /** The name of the enterprise user account */ + name?: Maybe; + /** A list of enterprise organizations this user is a member of. */ + organizations: EnterpriseOrganizationMembershipConnection; + /** The HTTP path for this user. */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL for this user. */ + url: Scalars['URI']; + /** The user within the enterprise. */ + user?: Maybe; +}; + + +/** An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations. */ +export type EnterpriseUserAccountAvatarUrlArgs = { + size?: InputMaybe; +}; + + +/** An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations. */ +export type EnterpriseUserAccountOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; + query?: InputMaybe; + role?: InputMaybe; +}; + +/** The connection type for EnterpriseUserAccount. */ +export type EnterpriseUserAccountConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnterpriseUserAccountEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The possible roles for enterprise membership. */ +export enum EnterpriseUserAccountMembershipRole { + /** The user is a member of the enterprise membership. */ + Member = 'MEMBER', + /** The user is an owner of the enterprise membership. */ + Owner = 'OWNER' +} + +/** The possible GitHub Enterprise deployments where this user can exist. */ +export enum EnterpriseUserDeployment { + /** The user is part of a GitHub Enterprise Cloud deployment. */ + Cloud = 'CLOUD', + /** The user is part of a GitHub Enterprise Server deployment. */ + Server = 'SERVER' +} + +/** An environment. */ +export type Environment = Node & { + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + id: Scalars['ID']; + /** The name of the environment */ + name: Scalars['String']; + /** The protection rules defined for this environment */ + protectionRules: DeploymentProtectionRuleConnection; +}; + + +/** An environment. */ +export type EnvironmentProtectionRulesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for Environment. */ +export type EnvironmentConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type EnvironmentEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** An external identity provisioned by SAML SSO or SCIM. */ +export type ExternalIdentity = Node & { + /** The GUID for this identity */ + guid: Scalars['String']; + id: Scalars['ID']; + /** Organization invitation for this SCIM-provisioned external identity */ + organizationInvitation?: Maybe; + /** SAML Identity attributes */ + samlIdentity?: Maybe; + /** SCIM Identity attributes */ + scimIdentity?: Maybe; + /** User linked to this external identity. Will be NULL if this identity has not been claimed by an organization member. */ + user?: Maybe; +}; + +/** The connection type for ExternalIdentity. */ +export type ExternalIdentityConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type ExternalIdentityEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** SAML attributes for the External Identity */ +export type ExternalIdentitySamlAttributes = { + /** The emails associated with the SAML identity */ + emails?: Maybe>; + /** Family name of the SAML identity */ + familyName?: Maybe; + /** Given name of the SAML identity */ + givenName?: Maybe; + /** The groups linked to this identity in IDP */ + groups?: Maybe>; + /** The NameID of the SAML identity */ + nameId?: Maybe; + /** The userName of the SAML identity */ + username?: Maybe; +}; + +/** SCIM attributes for the External Identity */ +export type ExternalIdentityScimAttributes = { + /** The emails associated with the SCIM identity */ + emails?: Maybe>; + /** Family name of the SCIM identity */ + familyName?: Maybe; + /** Given name of the SCIM identity */ + givenName?: Maybe; + /** The groups linked to this identity in IDP */ + groups?: Maybe>; + /** The userName of the SCIM identity */ + username?: Maybe; +}; + +/** A command to add a file at the given path with the given contents as part of a commit. Any existing file at that that path will be replaced. */ +export type FileAddition = { + /** The base64 encoded contents of the file */ + contents: Scalars['Base64String']; + /** The path in the repository where the file will be located */ + path: Scalars['String']; +}; + +/** + * A description of a set of changes to a file tree to be made as part of + * a git commit, modeled as zero or more file `additions` and zero or more + * file `deletions`. + * + * Both fields are optional; omitting both will produce a commit with no + * file changes. + * + * `deletions` and `additions` describe changes to files identified + * by their path in the git tree using unix-style path separators, i.e. + * `/`. The root of a git tree is an empty string, so paths are not + * slash-prefixed. + * + * `path` values must be unique across all `additions` and `deletions` + * provided. Any duplication will result in a validation error. + * + * ### Encoding + * + * File contents must be provided in full for each `FileAddition`. + * + * The `contents` of a `FileAddition` must be encoded using RFC 4648 + * compliant base64, i.e. correct padding is required and no characters + * outside the standard alphabet may be used. Invalid base64 + * encoding will be rejected with a validation error. + * + * The encoded contents may be binary. + * + * For text files, no assumptions are made about the character encoding of + * the file contents (after base64 decoding). No charset transcoding or + * line-ending normalization will be performed; it is the client's + * responsibility to manage the character encoding of files they provide. + * However, for maximum compatibility we recommend using UTF-8 encoding + * and ensuring that all files in a repository use a consistent + * line-ending convention (`\n` or `\r\n`), and that all files end + * with a newline. + * + * ### Modeling file changes + * + * Each of the the five types of conceptual changes that can be made in a + * git commit can be described using the `FileChanges` type as follows: + * + * 1. New file addition: create file `hello world\n` at path `docs/README.txt`: + * + * { + * "additions" [ + * { + * "path": "docs/README.txt", + * "contents": base64encode("hello world\n") + * } + * ] + * } + * + * 2. Existing file modification: change existing `docs/README.txt` to have new + * content `new content here\n`: + * + * { + * "additions" [ + * { + * "path": "docs/README.txt", + * "contents": base64encode("new content here\n") + * } + * ] + * } + * + * 3. Existing file deletion: remove existing file `docs/README.txt`. + * Note that the path is required to exist -- specifying a + * path that does not exist on the given branch will abort the + * commit and return an error. + * + * { + * "deletions" [ + * { + * "path": "docs/README.txt" + * } + * ] + * } + * + * + * 4. File rename with no changes: rename `docs/README.txt` with + * previous content `hello world\n` to the same content at + * `newdocs/README.txt`: + * + * { + * "deletions" [ + * { + * "path": "docs/README.txt", + * } + * ], + * "additions" [ + * { + * "path": "newdocs/README.txt", + * "contents": base64encode("hello world\n") + * } + * ] + * } + * + * + * 5. File rename with changes: rename `docs/README.txt` with + * previous content `hello world\n` to a file at path + * `newdocs/README.txt` with content `new contents\n`: + * + * { + * "deletions" [ + * { + * "path": "docs/README.txt", + * } + * ], + * "additions" [ + * { + * "path": "newdocs/README.txt", + * "contents": base64encode("new contents\n") + * } + * ] + * } + * + */ +export type FileChanges = { + /** File to add or change. */ + additions?: InputMaybe>; + /** Files to delete. */ + deletions?: InputMaybe>; +}; + +/** A command to delete the file at the given path as part of a commit. */ +export type FileDeletion = { + /** The path to delete */ + path: Scalars['String']; +}; + +/** The possible viewed states of a file . */ +export enum FileViewedState { + /** The file has new changes since last viewed. */ + Dismissed = 'DISMISSED', + /** The file has not been marked as viewed. */ + Unviewed = 'UNVIEWED', + /** The file has been marked as viewed. */ + Viewed = 'VIEWED' +} + +/** Autogenerated input type of FollowUser */ +export type FollowUserInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** ID of the user to follow. */ + userId: Scalars['ID']; +}; + +/** Autogenerated return type of FollowUser */ +export type FollowUserPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The user that was followed. */ + user?: Maybe; +}; + +/** The connection type for User. */ +export type FollowerConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** The connection type for User. */ +export type FollowingConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** A funding platform link for a repository. */ +export type FundingLink = { + /** The funding platform this link is for. */ + platform: FundingPlatform; + /** The configured URL for this funding link. */ + url: Scalars['URI']; +}; + +/** The possible funding platforms for repository funding links. */ +export enum FundingPlatform { + /** Community Bridge funding platform. */ + CommunityBridge = 'COMMUNITY_BRIDGE', + /** Custom funding platform. */ + Custom = 'CUSTOM', + /** GitHub funding platform. */ + Github = 'GITHUB', + /** IssueHunt funding platform. */ + Issuehunt = 'ISSUEHUNT', + /** Ko-fi funding platform. */ + KoFi = 'KO_FI', + /** LFX Crowdfunding funding platform. */ + LfxCrowdfunding = 'LFX_CROWDFUNDING', + /** Liberapay funding platform. */ + Liberapay = 'LIBERAPAY', + /** Open Collective funding platform. */ + OpenCollective = 'OPEN_COLLECTIVE', + /** Otechie funding platform. */ + Otechie = 'OTECHIE', + /** Patreon funding platform. */ + Patreon = 'PATREON', + /** Tidelift funding platform. */ + Tidelift = 'TIDELIFT' +} + +/** A generic hovercard context with a message and icon */ +export type GenericHovercardContext = HovercardContext & { + /** A string describing this context */ + message: Scalars['String']; + /** An octicon to accompany this context */ + octicon: Scalars['String']; +}; + +/** A Gist. */ +export type Gist = Node & Starrable & UniformResourceLocatable & { + /** A list of comments associated with the gist */ + comments: GistCommentConnection; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The gist description. */ + description?: Maybe; + /** The files in this gist. */ + files?: Maybe>>; + /** A list of forks associated with the gist */ + forks: GistConnection; + id: Scalars['ID']; + /** Identifies if the gist is a fork. */ + isFork: Scalars['Boolean']; + /** Whether the gist is public or not. */ + isPublic: Scalars['Boolean']; + /** The gist name. */ + name: Scalars['String']; + /** The gist owner. */ + owner?: Maybe; + /** Identifies when the gist was last pushed to. */ + pushedAt?: Maybe; + /** The HTML path to this resource. */ + resourcePath: Scalars['URI']; + /** + * Returns a count of how many stargazers there are on this object + * + */ + stargazerCount: Scalars['Int']; + /** A list of users who have starred this starrable. */ + stargazers: StargazerConnection; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL for this Gist. */ + url: Scalars['URI']; + /** Returns a boolean indicating whether the viewing user has starred this starrable. */ + viewerHasStarred: Scalars['Boolean']; +}; + + +/** A Gist. */ +export type GistCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** A Gist. */ +export type GistFilesArgs = { + limit?: InputMaybe; + oid?: InputMaybe; +}; + + +/** A Gist. */ +export type GistForksArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** A Gist. */ +export type GistStargazersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** Represents a comment on an Gist. */ +export type GistComment = Comment & Deletable & Minimizable & Node & Updatable & UpdatableComment & { + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the gist. */ + authorAssociation: CommentAuthorAssociation; + /** Identifies the comment body. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The body rendered to text. */ + bodyText: Scalars['String']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The actor who edited the comment. */ + editor?: Maybe; + /** The associated gist. */ + gist: Gist; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** Returns whether or not a comment has been minimized. */ + isMinimized: Scalars['Boolean']; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** Returns why the comment was minimized. */ + minimizedReason?: Maybe; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Check if the current viewer can delete this object. */ + viewerCanDelete: Scalars['Boolean']; + /** Check if the current viewer can minimize this object. */ + viewerCanMinimize: Scalars['Boolean']; + /** Check if the current viewer can update this object. */ + viewerCanUpdate: Scalars['Boolean']; + /** Reasons why the current viewer can not update this comment. */ + viewerCannotUpdateReasons: Array; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; +}; + + +/** Represents a comment on an Gist. */ +export type GistCommentUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for GistComment. */ +export type GistCommentConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type GistCommentEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The connection type for Gist. */ +export type GistConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type GistEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** A file in a gist. */ +export type GistFile = { + /** The file name encoded to remove characters that are invalid in URL paths. */ + encodedName?: Maybe; + /** The gist file encoding. */ + encoding?: Maybe; + /** The file extension from the file name. */ + extension?: Maybe; + /** Indicates if this file is an image. */ + isImage: Scalars['Boolean']; + /** Whether the file's contents were truncated. */ + isTruncated: Scalars['Boolean']; + /** The programming language this file is written in. */ + language?: Maybe; + /** The gist file name. */ + name?: Maybe; + /** The gist file size in bytes. */ + size?: Maybe; + /** UTF8 text data or null if the file is binary */ + text?: Maybe; +}; + + +/** A file in a gist. */ +export type GistFileTextArgs = { + truncate?: InputMaybe; +}; + +/** Ordering options for gist connections */ +export type GistOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order repositories by. */ + field: GistOrderField; +}; + +/** Properties by which gist connections can be ordered. */ +export enum GistOrderField { + /** Order gists by creation time */ + CreatedAt = 'CREATED_AT', + /** Order gists by push time */ + PushedAt = 'PUSHED_AT', + /** Order gists by update time */ + UpdatedAt = 'UPDATED_AT' +} + +/** The privacy of a Gist */ +export enum GistPrivacy { + /** Gists that are public and secret */ + All = 'ALL', + /** Public */ + Public = 'PUBLIC', + /** Secret */ + Secret = 'SECRET' +} + +/** Represents an actor in a Git commit (ie. an author or committer). */ +export type GitActor = { + /** A URL pointing to the author's public avatar. */ + avatarUrl: Scalars['URI']; + /** The timestamp of the Git action (authoring or committing). */ + date?: Maybe; + /** The email in the Git commit. */ + email?: Maybe; + /** The name in the Git commit. */ + name?: Maybe; + /** The GitHub user corresponding to the email field. Null if no such user exists. */ + user?: Maybe; +}; + + +/** Represents an actor in a Git commit (ie. an author or committer). */ +export type GitActorAvatarUrlArgs = { + size?: InputMaybe; +}; + +/** The connection type for GitActor. */ +export type GitActorConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type GitActorEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Represents information about the GitHub instance. */ +export type GitHubMetadata = { + /** Returns a String that's a SHA of `github-services` */ + gitHubServicesSha: Scalars['GitObjectID']; + /** IP addresses that users connect to for git operations */ + gitIpAddresses?: Maybe>; + /** IP addresses that service hooks are sent from */ + hookIpAddresses?: Maybe>; + /** IP addresses that the importer connects from */ + importerIpAddresses?: Maybe>; + /** Whether or not users are verified */ + isPasswordAuthenticationVerifiable: Scalars['Boolean']; + /** IP addresses for GitHub Pages' A records */ + pagesIpAddresses?: Maybe>; +}; + +/** Represents a Git object. */ +export type GitObject = { + /** An abbreviated version of the Git object ID */ + abbreviatedOid: Scalars['String']; + /** The HTTP path for this Git object */ + commitResourcePath: Scalars['URI']; + /** The HTTP URL for this Git object */ + commitUrl: Scalars['URI']; + id: Scalars['ID']; + /** The Git object ID */ + oid: Scalars['GitObjectID']; + /** The Repository the Git object belongs to */ + repository: Repository; +}; + +/** Information about a signature (GPG or S/MIME) on a Commit or Tag. */ +export type GitSignature = { + /** Email used to sign this object. */ + email: Scalars['String']; + /** True if the signature is valid and verified by GitHub. */ + isValid: Scalars['Boolean']; + /** Payload for GPG signing object. Raw ODB object without the signature header. */ + payload: Scalars['String']; + /** ASCII-armored signature header from object. */ + signature: Scalars['String']; + /** GitHub user corresponding to the email signing this commit. */ + signer?: Maybe; + /** The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid. */ + state: GitSignatureState; + /** True if the signature was made with GitHub's signing key. */ + wasSignedByGitHub: Scalars['Boolean']; +}; + +/** The state of a Git signature. */ +export enum GitSignatureState { + /** The signing certificate or its chain could not be verified */ + BadCert = 'BAD_CERT', + /** Invalid email used for signing */ + BadEmail = 'BAD_EMAIL', + /** Signing key expired */ + ExpiredKey = 'EXPIRED_KEY', + /** Internal error - the GPG verification service misbehaved */ + GpgverifyError = 'GPGVERIFY_ERROR', + /** Internal error - the GPG verification service is unavailable at the moment */ + GpgverifyUnavailable = 'GPGVERIFY_UNAVAILABLE', + /** Invalid signature */ + Invalid = 'INVALID', + /** Malformed signature */ + MalformedSig = 'MALFORMED_SIG', + /** The usage flags for the key that signed this don't allow signing */ + NotSigningKey = 'NOT_SIGNING_KEY', + /** Email used for signing not known to GitHub */ + NoUser = 'NO_USER', + /** Valid signature, though certificate revocation check failed */ + OcspError = 'OCSP_ERROR', + /** Valid signature, pending certificate revocation checking */ + OcspPending = 'OCSP_PENDING', + /** One or more certificates in chain has been revoked */ + OcspRevoked = 'OCSP_REVOKED', + /** Key used for signing not known to GitHub */ + UnknownKey = 'UNKNOWN_KEY', + /** Unknown signature type */ + UnknownSigType = 'UNKNOWN_SIG_TYPE', + /** Unsigned */ + Unsigned = 'UNSIGNED', + /** Email used for signing unverified on GitHub */ + UnverifiedEmail = 'UNVERIFIED_EMAIL', + /** Valid signature and verified by GitHub */ + Valid = 'VALID' +} + +/** Represents a GPG signature on a Commit or Tag. */ +export type GpgSignature = GitSignature & { + /** Email used to sign this object. */ + email: Scalars['String']; + /** True if the signature is valid and verified by GitHub. */ + isValid: Scalars['Boolean']; + /** Hex-encoded ID of the key that signed this object. */ + keyId?: Maybe; + /** Payload for GPG signing object. Raw ODB object without the signature header. */ + payload: Scalars['String']; + /** ASCII-armored signature header from object. */ + signature: Scalars['String']; + /** GitHub user corresponding to the email signing this commit. */ + signer?: Maybe; + /** The state of this signature. `VALID` if signature is valid and verified by GitHub, otherwise represents reason why signature is considered invalid. */ + state: GitSignatureState; + /** True if the signature was made with GitHub's signing key. */ + wasSignedByGitHub: Scalars['Boolean']; +}; + +/** Autogenerated input type of GrantEnterpriseOrganizationsMigratorRole */ +export type GrantEnterpriseOrganizationsMigratorRoleInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the enterprise to which all organizations managed by it will be granted the migrator role. */ + enterpriseId: Scalars['ID']; + /** The login of the user to grant the migrator role */ + login: Scalars['String']; +}; + +/** Autogenerated return type of GrantEnterpriseOrganizationsMigratorRole */ +export type GrantEnterpriseOrganizationsMigratorRolePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The organizations that had the migrator role applied to for the given user. */ + organizations?: Maybe; +}; + + +/** Autogenerated return type of GrantEnterpriseOrganizationsMigratorRole */ +export type GrantEnterpriseOrganizationsMigratorRolePayloadOrganizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** Autogenerated input type of GrantMigratorRole */ +export type GrantMigratorRoleInput = { + /** The user login or Team slug to grant the migrator role. */ + actor: Scalars['String']; + /** Specifies the type of the actor, can be either USER or TEAM. */ + actorType: ActorType; + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The ID of the organization that the user/team belongs to. */ + organizationId: Scalars['ID']; +}; + +/** Autogenerated return type of GrantMigratorRole */ +export type GrantMigratorRolePayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** Did the operation succeed? */ + success?: Maybe; +}; + +/** Represents a 'head_ref_deleted' event on a given pull request. */ +export type HeadRefDeletedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Identifies the Ref associated with the `head_ref_deleted` event. */ + headRef?: Maybe; + /** Identifies the name of the Ref associated with the `head_ref_deleted` event. */ + headRefName: Scalars['String']; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; +}; + +/** Represents a 'head_ref_force_pushed' event on a given pull request. */ +export type HeadRefForcePushedEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the after commit SHA for the 'head_ref_force_pushed' event. */ + afterCommit?: Maybe; + /** Identifies the before commit SHA for the 'head_ref_force_pushed' event. */ + beforeCommit?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; + /** Identifies the fully qualified ref name for the 'head_ref_force_pushed' event. */ + ref?: Maybe; +}; + +/** Represents a 'head_ref_restored' event on a given pull request. */ +export type HeadRefRestoredEvent = Node & { + /** Identifies the actor who performed the event. */ + actor?: Maybe; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** PullRequest referenced by event. */ + pullRequest: PullRequest; +}; + +/** Detail needed to display a hovercard for a user */ +export type Hovercard = { + /** Each of the contexts for this hovercard */ + contexts: Array; +}; + +/** An individual line of a hovercard */ +export type HovercardContext = { + /** A string describing this context */ + message: Scalars['String']; + /** An octicon to accompany this context */ + octicon: Scalars['String']; +}; + +/** The possible states in which authentication can be configured with an identity provider. */ +export enum IdentityProviderConfigurationState { + /** Authentication with an identity provider is configured but not enforced. */ + Configured = 'CONFIGURED', + /** Authentication with an identity provider is configured and enforced. */ + Enforced = 'ENFORCED', + /** Authentication with an identity provider is not configured. */ + Unconfigured = 'UNCONFIGURED' +} + +/** An import to GitHub */ +export type Import = Node & { + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** The user that created the Import */ + creator: Actor; + id: Scalars['ID']; + /** The repositories associated with this Import */ + repositories: RepositoryConnection; +}; + + +/** An import to GitHub */ +export type ImportRepositoriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** Autogenerated input type of InviteEnterpriseAdmin */ +export type InviteEnterpriseAdminInput = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: InputMaybe; + /** The email of the person to invite as an administrator. */ + email?: InputMaybe; + /** The ID of the enterprise to which you want to invite an administrator. */ + enterpriseId: Scalars['ID']; + /** The login of a user to invite as an administrator. */ + invitee?: InputMaybe; + /** The role of the administrator. */ + role?: InputMaybe; +}; + +/** Autogenerated return type of InviteEnterpriseAdmin */ +export type InviteEnterpriseAdminPayload = { + /** A unique identifier for the client performing the mutation. */ + clientMutationId?: Maybe; + /** The created enterprise administrator invitation. */ + invitation?: Maybe; +}; + +/** The possible values for the IP allow list enabled setting. */ +export enum IpAllowListEnabledSettingValue { + /** The setting is disabled for the owner. */ + Disabled = 'DISABLED', + /** The setting is enabled for the owner. */ + Enabled = 'ENABLED' +} + +/** An IP address or range of addresses that is allowed to access an owner's resources. */ +export type IpAllowListEntry = Node & { + /** A single IP address or range of IP addresses in CIDR notation. */ + allowListValue: Scalars['String']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + id: Scalars['ID']; + /** Whether the entry is currently active. */ + isActive: Scalars['Boolean']; + /** The name of the IP allow list entry. */ + name?: Maybe; + /** The owner of the IP allow list entry. */ + owner: IpAllowListOwner; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; +}; + +/** The connection type for IpAllowListEntry. */ +export type IpAllowListEntryConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type IpAllowListEntryEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ordering options for IP allow list entry connections. */ +export type IpAllowListEntryOrder = { + /** The ordering direction. */ + direction: OrderDirection; + /** The field to order IP allow list entries by. */ + field: IpAllowListEntryOrderField; +}; + +/** Properties by which IP allow list entry connections can be ordered. */ +export enum IpAllowListEntryOrderField { + /** Order IP allow list entries by the allow list value. */ + AllowListValue = 'ALLOW_LIST_VALUE', + /** Order IP allow list entries by creation time. */ + CreatedAt = 'CREATED_AT' +} + +/** The possible values for the IP allow list configuration for installed GitHub Apps setting. */ +export enum IpAllowListForInstalledAppsEnabledSettingValue { + /** The setting is disabled for the owner. */ + Disabled = 'DISABLED', + /** The setting is enabled for the owner. */ + Enabled = 'ENABLED' +} + +/** Types that can own an IP allow list. */ +export type IpAllowListOwner = App | Enterprise | Organization; + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type Issue = Assignable & Closable & Comment & Labelable & Lockable & Node & ProjectNextOwner & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable & Updatable & UpdatableComment & { + /** Reason that the conversation was locked. */ + activeLockReason?: Maybe; + /** A list of Users assigned to this object. */ + assignees: UserConnection; + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the subject of the comment. */ + authorAssociation: CommentAuthorAssociation; + /** Identifies the body of the issue. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The http path for this issue body */ + bodyResourcePath: Scalars['URI']; + /** Identifies the body of the issue rendered to text. */ + bodyText: Scalars['String']; + /** The http URL for this issue body */ + bodyUrl: Scalars['URI']; + /** `true` if the object is closed (definition of closed may depend on type) */ + closed: Scalars['Boolean']; + /** Identifies the date and time when the object was closed. */ + closedAt?: Maybe; + /** A list of comments associated with the Issue. */ + comments: IssueCommentConnection; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The actor who edited the comment. */ + editor?: Maybe; + /** The hovercard information for this issue */ + hovercard: Hovercard; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** Indicates whether or not this issue is currently pinned to the repository issues list */ + isPinned?: Maybe; + /** Is this issue read by the viewer */ + isReadByViewer?: Maybe; + /** A list of labels associated with the object. */ + labels?: Maybe; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** `true` if the object is locked */ + locked: Scalars['Boolean']; + /** Identifies the milestone associated with the issue. */ + milestone?: Maybe; + /** Identifies the issue number. */ + number: Scalars['Int']; + /** A list of Users that are participating in the Issue conversation. */ + participants: UserConnection; + /** List of project cards associated with this issue. */ + projectCards: ProjectCardConnection; + /** Find a project by project (beta) number. */ + projectNext?: Maybe; + /** A list of project (beta) items under the owner. */ + projectsNext: ProjectNextConnection; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** A list of reactions grouped by content left on the subject. */ + reactionGroups?: Maybe>; + /** A list of Reactions left on the Issue. */ + reactions: ReactionConnection; + /** The repository associated with this node. */ + repository: Repository; + /** The HTTP path for this issue */ + resourcePath: Scalars['URI']; + /** Identifies the state of the issue. */ + state: IssueState; + /** + * A list of events, comments, commits, etc. associated with the issue. + * @deprecated `timeline` will be removed Use Issue.timelineItems instead. Removal on 2020-10-01 UTC. + */ + timeline: IssueTimelineConnection; + /** A list of events, comments, commits, etc. associated with the issue. */ + timelineItems: IssueTimelineItemsConnection; + /** Identifies the issue title. */ + title: Scalars['String']; + /** Identifies the issue title rendered to HTML. */ + titleHTML: Scalars['String']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL for this issue */ + url: Scalars['URI']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Can user react to this subject */ + viewerCanReact: Scalars['Boolean']; + /** Check if the viewer is able to change their subscription status for the repository. */ + viewerCanSubscribe: Scalars['Boolean']; + /** Check if the current viewer can update this object. */ + viewerCanUpdate: Scalars['Boolean']; + /** Reasons why the current viewer can not update this comment. */ + viewerCannotUpdateReasons: Array; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; + /** Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. */ + viewerSubscription?: Maybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueAssigneesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueHovercardArgs = { + includeNotificationContexts?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueLabelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueParticipantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueProjectCardsArgs = { + after?: InputMaybe; + archivedStates?: InputMaybe>>; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueProjectNextArgs = { + number: Scalars['Int']; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueProjectsNextArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + sortBy?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueReactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + content?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueTimelineArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + since?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueTimelineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + itemTypes?: InputMaybe>; + last?: InputMaybe; + since?: InputMaybe; + skip?: InputMaybe; +}; + + +/** An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. */ +export type IssueUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** Represents a comment on an Issue. */ +export type IssueComment = Comment & Deletable & Minimizable & Node & Reactable & RepositoryNode & Updatable & UpdatableComment & { + /** The actor who authored the comment. */ + author?: Maybe; + /** Author's association with the subject of the comment. */ + authorAssociation: CommentAuthorAssociation; + /** The body as Markdown. */ + body: Scalars['String']; + /** The body rendered to HTML. */ + bodyHTML: Scalars['HTML']; + /** The body rendered to text. */ + bodyText: Scalars['String']; + /** Identifies the date and time when the object was created. */ + createdAt: Scalars['DateTime']; + /** Check if this comment was created via an email reply. */ + createdViaEmail: Scalars['Boolean']; + /** Identifies the primary key from the database. */ + databaseId?: Maybe; + /** The actor who edited the comment. */ + editor?: Maybe; + id: Scalars['ID']; + /** Check if this comment was edited and includes an edit with the creation data */ + includesCreatedEdit: Scalars['Boolean']; + /** Returns whether or not a comment has been minimized. */ + isMinimized: Scalars['Boolean']; + /** Identifies the issue associated with the comment. */ + issue: Issue; + /** The moment the editor made the last edit */ + lastEditedAt?: Maybe; + /** Returns why the comment was minimized. */ + minimizedReason?: Maybe; + /** Identifies when the comment was published at. */ + publishedAt?: Maybe; + /** + * Returns the pull request associated with the comment, if this comment was made on a + * pull request. + * + */ + pullRequest?: Maybe; + /** A list of reactions grouped by content left on the subject. */ + reactionGroups?: Maybe>; + /** A list of Reactions left on the Issue. */ + reactions: ReactionConnection; + /** The repository associated with this node. */ + repository: Repository; + /** The HTTP path for this issue comment */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the object was last updated. */ + updatedAt: Scalars['DateTime']; + /** The HTTP URL for this issue comment */ + url: Scalars['URI']; + /** A list of edits to this content. */ + userContentEdits?: Maybe; + /** Check if the current viewer can delete this object. */ + viewerCanDelete: Scalars['Boolean']; + /** Check if the current viewer can minimize this object. */ + viewerCanMinimize: Scalars['Boolean']; + /** Can user react to this subject */ + viewerCanReact: Scalars['Boolean']; + /** Check if the current viewer can update this object. */ + viewerCanUpdate: Scalars['Boolean']; + /** Reasons why the current viewer can not update this comment. */ + viewerCannotUpdateReasons: Array; + /** Did the viewer author this comment. */ + viewerDidAuthor: Scalars['Boolean']; +}; + + +/** Represents a comment on an Issue. */ +export type IssueCommentReactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + content?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + + +/** Represents a comment on an Issue. */ +export type IssueCommentUserContentEditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The connection type for IssueComment. */ +export type IssueCommentConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type IssueCommentEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ways in which lists of issue comments can be ordered upon return. */ +export type IssueCommentOrder = { + /** The direction in which to order issue comments by the specified field. */ + direction: OrderDirection; + /** The field in which to order issue comments by. */ + field: IssueCommentOrderField; +}; + +/** Properties by which issue comment connections can be ordered. */ +export enum IssueCommentOrderField { + /** Order issue comments by update time */ + UpdatedAt = 'UPDATED_AT' +} + +/** The connection type for Issue. */ +export type IssueConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** This aggregates issues opened by a user within one repository. */ +export type IssueContributionsByRepository = { + /** The issue contributions. */ + contributions: CreatedIssueContributionConnection; + /** The repository in which the issues were opened. */ + repository: Repository; +}; + + +/** This aggregates issues opened by a user within one repository. */ +export type IssueContributionsByRepositoryContributionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderBy?: InputMaybe; +}; + +/** An edge in a connection. */ +export type IssueEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** Ways in which to filter lists of issues. */ +export type IssueFilters = { + /** List issues assigned to given name. Pass in `null` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: InputMaybe; + /** List issues created by given name. */ + createdBy?: InputMaybe; + /** List issues where the list of label names exist on the issue. */ + labels?: InputMaybe>; + /** List issues where the given name is mentioned in the issue. */ + mentioned?: InputMaybe; + /** List issues by given milestone argument. If an string representation of an integer is passed, it should refer to a milestone by its number field. Pass in `null` for issues with no milestone, and `*` for issues that are assigned to any milestone. */ + milestone?: InputMaybe; + /** List issues that have been updated at or after the given date. */ + since?: InputMaybe; + /** List issues filtered by the list of states given. */ + states?: InputMaybe>; + /** List issues subscribed to by viewer. */ + viewerSubscribed?: InputMaybe; +}; + +/** Used for return value of Repository.issueOrPullRequest. */ +export type IssueOrPullRequest = Issue | PullRequest; + +/** Ways in which lists of issues can be ordered upon return. */ +export type 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. */ +export enum IssueOrderField { + /** Order issues by comment count */ + Comments = 'COMMENTS', + /** Order issues by creation time */ + CreatedAt = 'CREATED_AT', + /** Order issues by update time */ + UpdatedAt = 'UPDATED_AT' +} + +/** The possible states of an issue. */ +export enum IssueState { + /** An issue that has been closed */ + Closed = 'CLOSED', + /** An issue that is still open */ + Open = 'OPEN' +} + +/** A repository issue template. */ +export type IssueTemplate = { + /** The template purpose. */ + about?: Maybe; + /** The suggested issue body. */ + body?: Maybe; + /** The template name. */ + name: Scalars['String']; + /** The suggested issue title. */ + title?: Maybe; +}; + +/** The connection type for IssueTimelineItem. */ +export type IssueTimelineConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An item in an issue timeline */ +export type IssueTimelineItem = AssignedEvent | ClosedEvent | Commit | CrossReferencedEvent | DemilestonedEvent | IssueComment | LabeledEvent | LockedEvent | MilestonedEvent | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent | UserBlockedEvent; + +/** An edge in a connection. */ +export type IssueTimelineItemEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** An item in an issue timeline */ +export type IssueTimelineItems = AddedToProjectEvent | AssignedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent | ConvertedNoteToIssueEvent | ConvertedToDiscussionEvent | CrossReferencedEvent | DemilestonedEvent | DisconnectedEvent | IssueComment | LabeledEvent | LockedEvent | MarkedAsDuplicateEvent | MentionedEvent | MilestonedEvent | MovedColumnsInProjectEvent | PinnedEvent | ReferencedEvent | RemovedFromProjectEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnmarkedAsDuplicateEvent | UnpinnedEvent | UnsubscribedEvent | UserBlockedEvent; + +/** The connection type for IssueTimelineItems. */ +export type IssueTimelineItemsConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** Identifies the count of items after applying `before` and `after` filters. */ + filteredCount: Scalars['Int']; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing. */ + pageCount: Scalars['Int']; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; + /** Identifies the date and time when the timeline was last updated. */ + updatedAt: Scalars['DateTime']; +}; + +/** An edge in a connection. */ +export type IssueTimelineItemsEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe; +}; + +/** The possible item types found in a timeline. */ +export enum IssueTimelineItemsItemType { + /** Represents a 'added_to_project' event on a given issue or pull request. */ + AddedToProjectEvent = 'ADDED_TO_PROJECT_EVENT', + /** Represents an 'assigned' event on any assignable object. */ + AssignedEvent = 'ASSIGNED_EVENT', + /** Represents a 'closed' event on any `Closable`. */ + ClosedEvent = 'CLOSED_EVENT', + /** Represents a 'comment_deleted' event on a given issue or pull request. */ + CommentDeletedEvent = 'COMMENT_DELETED_EVENT', + /** Represents a 'connected' event on a given issue or pull request. */ + ConnectedEvent = 'CONNECTED_EVENT', + /** Represents a 'converted_note_to_issue' event on a given issue or pull request. */ + ConvertedNoteToIssueEvent = 'CONVERTED_NOTE_TO_ISSUE_EVENT', + /** Represents a 'converted_to_discussion' event on a given issue. */ + ConvertedToDiscussionEvent = 'CONVERTED_TO_DISCUSSION_EVENT', + /** Represents a mention made by one issue or pull request to another. */ + CrossReferencedEvent = 'CROSS_REFERENCED_EVENT', + /** Represents a 'demilestoned' event on a given issue or pull request. */ + DemilestonedEvent = 'DEMILESTONED_EVENT', + /** Represents a 'disconnected' event on a given issue or pull request. */ + DisconnectedEvent = 'DISCONNECTED_EVENT', + /** Represents a comment on an Issue. */ + IssueComment = 'ISSUE_COMMENT', + /** Represents a 'labeled' event on a given issue or pull request. */ + LabeledEvent = 'LABELED_EVENT', + /** Represents a 'locked' event on a given issue or pull request. */ + LockedEvent = 'LOCKED_EVENT', + /** Represents a 'marked_as_duplicate' event on a given issue or pull request. */ + MarkedAsDuplicateEvent = 'MARKED_AS_DUPLICATE_EVENT', + /** Represents a 'mentioned' event on a given issue or pull request. */ + MentionedEvent = 'MENTIONED_EVENT', + /** Represents a 'milestoned' event on a given issue or pull request. */ + MilestonedEvent = 'MILESTONED_EVENT', + /** Represents a 'moved_columns_in_project' event on a given issue or pull request. */ + MovedColumnsInProjectEvent = 'MOVED_COLUMNS_IN_PROJECT_EVENT', + /** Represents a 'pinned' event on a given issue or pull request. */ + PinnedEvent = 'PINNED_EVENT', + /** Represents a 'referenced' event on a given `ReferencedSubject`. */ + ReferencedEvent = 'REFERENCED_EVENT', + /** Represents a 'removed_from_project' event on a given issue or pull request. */ + RemovedFromProjectEvent = 'REMOVED_FROM_PROJECT_EVENT', + /** Represents a 'renamed' event on a given issue or pull request */ + RenamedTitleEvent = 'RENAMED_TITLE_EVENT', + /** Represents a 'reopened' event on any `Closable`. */ + ReopenedEvent = 'REOPENED_EVENT', + /** Represents a 'subscribed' event on a given `Subscribable`. */ + SubscribedEvent = 'SUBSCRIBED_EVENT', + /** Represents a 'transferred' event on a given issue or pull request. */ + TransferredEvent = 'TRANSFERRED_EVENT', + /** Represents an 'unassigned' event on any assignable object. */ + UnassignedEvent = 'UNASSIGNED_EVENT', + /** Represents an 'unlabeled' event on a given issue or pull request. */ + UnlabeledEvent = 'UNLABELED_EVENT', + /** Represents an 'unlocked' event on a given issue or pull request. */ + UnlockedEvent = 'UNLOCKED_EVENT', + /** Represents an 'unmarked_as_duplicate' event on a given issue or pull request. */ + UnmarkedAsDuplicateEvent = 'UNMARKED_AS_DUPLICATE_EVENT', + /** Represents an 'unpinned' event on a given issue or pull request. */ + UnpinnedEvent = 'UNPINNED_EVENT', + /** Represents an 'unsubscribed' event on a given `Subscribable`. */ + UnsubscribedEvent = 'UNSUBSCRIBED_EVENT', + /** Represents a 'user_blocked' event on a given user. */ + UserBlockedEvent = 'USER_BLOCKED_EVENT' +} + +/** Represents a user signing up for a GitHub account. */ +export type JoinedGitHubContribution = Contribution & { + /** + * Whether this contribution is associated with a record you do not have access to. For + * example, your own 'first issue' contribution may have been made on a repository you can no + * longer access. + * + */ + isRestricted: Scalars['Boolean']; + /** When this contribution was made. */ + occurredAt: Scalars['DateTime']; + /** The HTTP path for this contribution. */ + resourcePath: Scalars['URI']; + /** The HTTP URL for this contribution. */ + url: Scalars['URI']; + /** + * The user who made this contribution. + * + */ + user: User; +}; + +/** A label for categorizing Issues, Pull Requests, Milestones, or Discussions with a given Repository. */ +export type Label = Node & { + /** Identifies the label color. */ + color: Scalars['String']; + /** Identifies the date and time when the label was created. */ + createdAt?: Maybe; + /** A brief description of this label. */ + description?: Maybe; + id: Scalars['ID']; + /** Indicates whether or not this is a default label. */ + isDefault: Scalars['Boolean']; + /** A list of issues associated with this label. */ + issues: IssueConnection; + /** Identifies the label name. */ + name: Scalars['String']; + /** A list of pull requests associated with this label. */ + pullRequests: PullRequestConnection; + /** The repository associated with this label. */ + repository: Repository; + /** The HTTP path for this label. */ + resourcePath: Scalars['URI']; + /** Identifies the date and time when the label was last updated. */ + updatedAt?: Maybe; + /** The HTTP URL for this label. */ + url: Scalars['URI']; +}; + + +/** A label for categorizing Issues, Pull Requests, Milestones, or Discussions with a given Repository. */ +export type LabelIssuesArgs = { + after?: InputMaybe; + before?: InputMaybe; + filterBy?: InputMaybe; + first?: InputMaybe; + labels?: InputMaybe>; + last?: InputMaybe; + orderBy?: InputMaybe; + states?: InputMaybe>; +}; + + +/** A label for categorizing Issues, Pull Requests, Milestones, or Discussions with a given Repository. */ +export type LabelPullRequestsArgs = { + after?: InputMaybe; + baseRefName?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + headRefName?: InputMaybe; + labels?: InputMaybe>; + last?: InputMaybe; + orderBy?: InputMaybe; + states?: InputMaybe>; +}; + +/** The connection type for Label. */ +export type LabelConnection = { + /** A list of edges. */ + edges?: Maybe>>; + /** A list of nodes. */ + nodes?: Maybe>>; + /** Information to aid in pagination. */ + pageInfo: PageInfo; + /** Identifies the total count of items in the connection. */ + totalCount: Scalars['Int']; +}; + +/** An edge in a connection. */ +export type LabelEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']; + /** The item at the end of the edge. */ + node?: Maybe