diff --git a/graphql/schema.graphql b/graphql/schema.graphql index b91ce825c2..65625b48a5 100644 --- a/graphql/schema.graphql +++ b/graphql/schema.graphql @@ -1,3 +1,23 @@ +directive @requiredCapabilities(requiredCapabilities: [String!]) on OBJECT | SCALAR | ARGUMENT_DEFINITION | INTERFACE | INPUT_OBJECT | FIELD_DEFINITION | ENUM | ENUM_VALUE | UNION | INPUT_FIELD_DEFINITION + +"""Autogenerated input type of AbortQueuedMigrations""" +input AbortQueuedMigrationsInput { + """The ID of the organization that is running the migrations.""" + ownerId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AbortQueuedMigrations""" +type AbortQueuedMigrationsPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """Did the operation succeed?""" + success: Boolean +} + """Autogenerated input type of AcceptEnterpriseAdministratorInvitation""" input AcceptEnterpriseAdministratorInvitationInput { """The id of the invitation being accepted""" @@ -80,6 +100,15 @@ type ActorLocation { regionCode: String } +"""The actor's type.""" +enum ActorType { + """Indicates a user actor.""" + USER + + """Indicates a team actor.""" + TEAM +} + """Autogenerated input type of AddAssigneesToAssignable""" input AddAssigneesToAssignableInput { """The id of the assignable object to add assignees to.""" @@ -128,6 +157,69 @@ type AddCommentPayload { timelineEdge: IssueTimelineItemEdge } +"""Autogenerated input type of AddDiscussionComment""" +input AddDiscussionCommentInput { + """The Node ID of the discussion to comment on.""" + discussionId: ID! + + """ + The Node ID of the discussion comment within this discussion to reply to. + """ + replyToId: ID + + """The contents of the comment.""" + body: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddDiscussionComment""" +type AddDiscussionCommentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The newly created discussion comment.""" + comment: DiscussionComment +} + +"""Autogenerated input type of AddDiscussionPollVote""" +input AddDiscussionPollVoteInput { + """The Node ID of the discussion poll option to vote for.""" + pollOptionId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddDiscussionPollVote""" +type AddDiscussionPollVotePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The poll option that a vote was added to.""" + pollOption: DiscussionPollOption +} + +"""Represents an 'added_to_merge_queue' event on a given pull request.""" +type AddedToMergeQueueEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The user who added this Pull Request to the merge queue""" + enqueuer: User + id: ID! + + """The merge queue where this pull request was added to.""" + mergeQueue: MergeQueue + + """PullRequest referenced by event.""" + pullRequest: PullRequest +} + """ Represents a 'added_to_project' event on a given issue or pull request. """ @@ -143,6 +235,54 @@ type AddedToProjectEvent implements Node { id: ID! } +"""Autogenerated input type of AddEnterpriseOrganizationMember""" +input AddEnterpriseOrganizationMemberInput { + """The ID of the enterprise which owns the organization.""" + enterpriseId: ID! + + """The ID of the organization the users will be added to.""" + organizationId: ID! + + """The IDs of the enterprise members to add.""" + userIds: [ID!]! + + """The role to assign the users in the organization""" + role: OrganizationMemberRole + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddEnterpriseOrganizationMember""" +type AddEnterpriseOrganizationMemberPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The users who were added to the organization.""" + users: [User!] +} + +"""Autogenerated input type of AddEnterpriseSupportEntitlement""" +input AddEnterpriseSupportEntitlementInput { + """The ID of the Enterprise which the admin belongs to.""" + enterpriseId: ID! + + """The login of a member who will receive the support entitlement.""" + login: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddEnterpriseSupportEntitlement""" +type AddEnterpriseSupportEntitlementPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """A message confirming the result of adding the support entitlement.""" + message: String +} + """Autogenerated input type of AddLabelsToLabelable""" input AddLabelsToLabelableInput { """The id of the labelable object to add labels to.""" @@ -215,27 +355,129 @@ type AddProjectColumnPayload { project: Project } +"""Autogenerated input type of AddProjectV2DraftIssue""" +input AddProjectV2DraftIssueInput { + """The ID of the Project to add the draft issue to.""" + projectId: ID! + + """ + The title of the draft issue. A project item can also be created by providing + the URL of an Issue or Pull Request if you have access. + """ + title: String! + + """The body of the draft issue.""" + body: String + + """The IDs of the assignees of the draft issue.""" + assigneeIds: [ID!] + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddProjectV2DraftIssue""" +type AddProjectV2DraftIssuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The draft issue added to the project.""" + projectItem: ProjectV2Item +} + +"""Autogenerated input type of AddProjectV2ItemById""" +input AddProjectV2ItemByIdInput { + """The ID of the Project to add the item to.""" + projectId: ID! + + """The id of the Issue or Pull Request to add.""" + contentId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddProjectV2ItemById""" +type AddProjectV2ItemByIdPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The item added to the project.""" + item: ProjectV2Item +} + """Autogenerated input type of AddPullRequestReviewComment""" input AddPullRequestReviewCommentInput { - """The node ID of the pull request reviewing""" + """ + The node ID of the pull request reviewing + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `pullRequestId` will be removed. use + addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ pullRequestId: ID - """The Node ID of the review to modify.""" + """ + The Node ID of the review to modify. + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `pullRequestReviewId` will be removed. use + addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ pullRequestReviewId: ID - """The SHA of the commit to comment on.""" + """ + The SHA of the commit to comment on. + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `commitOID` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ commitOID: GitObjectID - """The text of the comment.""" - body: String! + """ + The text of the comment. This field is required + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `body` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ + body: String - """The relative path of the file to comment on.""" + """ + The relative path of the file to comment on. + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `path` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ path: String - """The line index in the diff to comment on.""" + """ + The line index in the diff to comment on. + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `position` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ position: Int - """The comment id to reply to.""" + """ + The comment id to reply to. + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `inReplyTo` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead + **Reason:** We are deprecating the addPullRequestReviewComment mutation + + """ inReplyTo: ID """A unique identifier for the client performing the mutation.""" @@ -268,7 +510,14 @@ input AddPullRequestReviewInput { """The event to perform on the pull request review.""" event: PullRequestReviewEvent - """The review line comments.""" + """ + The review line comments. + + **Upcoming Change on 2023-10-01 UTC** + **Description:** `comments` will be removed. use the `threads` argument instead + **Reason:** We are deprecating comment fields that use diff-relative positioning + + """ comments: [DraftPullRequestReviewComment] """The review line comment threads.""" @@ -305,9 +554,10 @@ input AddPullRequestReviewThreadInput { pullRequestReviewId: ID """ - The line of the blob to which the thread refers. The end of the line range for multi-line comments. + The line of the blob to which the thread refers, required for line-level + threads. The end of the line range for multi-line comments. """ - line: Int! + line: Int """ 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. @@ -320,6 +570,11 @@ input AddPullRequestReviewThreadInput { """The side of the diff on which the start line resides.""" startSide: DiffSide = RIGHT + """ + The level at which the comments in the corresponding thread are targeted, can be a diff line or a file + """ + subjectType: PullRequestReviewThreadSubjectType = LINE + """A unique identifier for the client performing the mutation.""" clientMutationId: String } @@ -353,6 +608,9 @@ type AddReactionPayload { """The reaction object.""" reaction: Reaction + """The reaction groups for the subject.""" + reactionGroups: [ReactionGroup!] + """The reactable subject.""" subject: Reactable } @@ -375,6 +633,57 @@ type AddStarPayload { starrable: Starrable } +"""Autogenerated input type of AddUpvote""" +input AddUpvoteInput { + """The Node ID of the discussion or comment to upvote.""" + subjectId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddUpvote""" +type AddUpvotePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The votable subject.""" + subject: Votable +} + +"""Autogenerated input type of AddVerifiableDomain""" +input AddVerifiableDomainInput { + """The ID of the owner to add the domain to""" + ownerId: ID! + + """The URL of the domain""" + domain: URI! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of AddVerifiableDomain""" +type AddVerifiableDomainPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The verifiable domain that was added.""" + domain: VerifiableDomain +} + +"""Represents an announcement banner.""" +interface AnnouncementBanner { + """The text of the announcement""" + announcement: String + + """The expiration date of the announcement, if any""" + announcementExpiresAt: DateTime + + """Whether the announcement can be dismissed by the user""" + announcementUserDismissible: Boolean +} + """A GitHub App.""" type App implements Node { """Identifies the date and time when the object was created.""" @@ -387,6 +696,26 @@ type App implements Node { description: String id: ID! + """The IP addresses of the app.""" + ipAllowListEntries( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for IP allow list entries returned.""" + orderBy: IpAllowListEntryOrder = {field: ALLOW_LIST_VALUE, direction: ASC} + ): IpAllowListEntryConnection! + """The hex color code, without the leading '#', for the logo background.""" logoBackgroundColor: String! @@ -409,6 +738,69 @@ type App implements Node { url: URI! } +"""Autogenerated input type of ApproveDeployments""" +input ApproveDeploymentsInput { + """The node ID of the workflow run containing the pending deployments.""" + workflowRunId: ID! + + """The ids of environments to reject deployments""" + environmentIds: [ID!]! + + """Optional comment for approving deployments""" + comment: String = "" + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of ApproveDeployments""" +type ApproveDeploymentsPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The affected deployments.""" + deployments: [Deployment!] +} + +"""Autogenerated input type of ApproveVerifiableDomain""" +input ApproveVerifiableDomainInput { + """The ID of the verifiable domain to approve.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of ApproveVerifiableDomain""" +type ApproveVerifiableDomainPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The verifiable domain that was approved.""" + domain: VerifiableDomain +} + +"""Autogenerated input type of ArchiveProjectV2Item""" +input ArchiveProjectV2ItemInput { + """The ID of the Project to archive the item from.""" + projectId: ID! + + """The ID of the ProjectV2Item to archive.""" + itemId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of ArchiveProjectV2Item""" +type ArchiveProjectV2ItemPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The item archived from the project.""" + item: ProjectV2Item +} + """Autogenerated input type of ArchiveRepository""" input ArchiveRepositoryInput { """The ID of the repository to mark as archived.""" @@ -570,23 +962,129 @@ type AutomaticBaseChangeSucceededEvent implements Node { pullRequest: PullRequest! } -""" -Represents a 'base_ref_changed' event on a given issue or pull request. -""" -type BaseRefChangedEvent implements Node { +"""Represents a 'auto_merge_disabled' event on a given pull request.""" +type AutoMergeDisabledEvent implements Node { """Identifies the actor who performed the event.""" actor: Actor """Identifies the date and time when the object was created.""" createdAt: DateTime! - """ - Identifies the name of the base ref for the pull request after it was changed. - """ - currentRefName: String! - - """Identifies the primary key from the database.""" - databaseId: Int + """The user who disabled auto-merge for this Pull Request""" + disabler: User + id: ID! + + """PullRequest referenced by event""" + pullRequest: PullRequest + + """The reason auto-merge was disabled""" + reason: String + + """The reason_code relating to why auto-merge was disabled""" + reasonCode: String +} + +"""Represents a 'auto_merge_enabled' event on a given pull request.""" +type AutoMergeEnabledEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The user who enabled auto-merge for this Pull Request""" + enabler: User + id: ID! + + """PullRequest referenced by event.""" + pullRequest: PullRequest +} + +"""Represents an auto-merge request for a pull request""" +type AutoMergeRequest { + """The email address of the author of this auto-merge request.""" + authorEmail: String + + """ + The commit message of the auto-merge request. If a merge queue is required by + the base branch, this value will be set by the merge queue when merging. + """ + commitBody: String + + """ + The commit title of the auto-merge request. If a merge queue is required by + the base branch, this value will be set by the merge queue when merging + """ + commitHeadline: String + + """When was this auto-merge request was enabled.""" + enabledAt: DateTime + + """The actor who created the auto-merge request.""" + enabledBy: Actor + + """ + The merge method of the auto-merge request. If a merge queue is required by + the base branch, this value will be set by the merge queue when merging. + """ + 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.""" +type AutoRebaseEnabledEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The user who enabled auto-merge (rebase) for this Pull Request""" + enabler: User + id: ID! + + """PullRequest referenced by event.""" + pullRequest: PullRequest +} + +"""Represents a 'auto_squash_enabled' event on a given pull request.""" +type AutoSquashEnabledEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The user who enabled auto-merge (squash) for this Pull Request""" + enabler: User + id: ID! + + """PullRequest referenced by event.""" + pullRequest: PullRequest +} + +"""A (potentially binary) string encoded using base64.""" +scalar Base64String + +""" +Represents a 'base_ref_changed' event on a given issue or pull request. +""" +type BaseRefChangedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """ + Identifies the name of the base ref for the pull request after it was changed. + """ + currentRefName: String! + + """Identifies the primary key from the database.""" + databaseId: Int id: ID! """ @@ -642,6 +1140,12 @@ type BaseRefForcePushedEvent implements Node { ref: Ref } +""" +Represents non-fractional signed whole numeric values. Since the value may +exceed the size of a 32-bit integer, it's encoded as a string. +""" +scalar BigInt + """Represents a Git blame.""" type Blame { """The list of ranges from a Git blame.""" @@ -669,7 +1173,7 @@ type BlameRange { } """Represents a Git blob.""" -type Blob implements Node & GitObject { +type Blob implements GitObject & Node { """An abbreviated version of the Git object ID""" abbreviatedOid: String! @@ -729,6 +1233,9 @@ type Bot implements Node & Actor & UniformResourceLocatable { url: URI! } +"""Types which can be actors for `BranchActorAllowance` objects.""" +union BranchActorAllowanceActor = App | Team | User + """A branch protection rule.""" type BranchProtectionRule implements Node { """Can this branch be deleted.""" @@ -737,6 +1244,9 @@ type BranchProtectionRule implements Node { """Are force pushes allowed on this branch.""" allowsForcePushes: Boolean! + """Is branch creation a protected operation.""" + blocksCreations: Boolean! + """ A list of conflicts matching branches protection rule and other branch protection rules """ @@ -756,6 +1266,40 @@ type BranchProtectionRule implements Node { last: Int ): BranchProtectionRuleConflictConnection! + """A list of actors able to force push for this branch protection rule.""" + bypassForcePushAllowances( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): BypassForcePushAllowanceConnection! + + """A list of actors able to bypass PRs for this branch protection rule.""" + bypassPullRequestAllowances( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): BypassPullRequestAllowanceConnection! + """The actor who created this branch protection rule.""" creator: Actor @@ -771,6 +1315,17 @@ type BranchProtectionRule implements Node { """Can admins overwrite branch protection.""" isAdminEnforced: Boolean! + """ + Whether users can pull changes from upstream when the branch is locked. Set to + `true` to allow fork syncing. Set to `false` to prevent fork syncing. + """ + lockAllowsFetchAndMerge: Boolean! + + """ + Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + """ + lockBranch: Boolean! + """Repository refs that are protected by this rule""" matchingRefs( """Filters refs with query on name""" @@ -814,14 +1369,29 @@ type BranchProtectionRule implements Node { """The repository associated with this branch protection rule.""" repository: Repository + """ + Whether the most recent push must be approved by someone other than the person who pushed it + """ + requireLastPushApproval: Boolean! + """Number of approving reviews required to update matching branches.""" requiredApprovingReviewCount: Int + """ + List of required deployment environments that must be deployed successfully to update matching branches + """ + requiredDeploymentEnvironments: [String] + """ List of required status check contexts that must pass for commits to be accepted to matching branches. """ requiredStatusCheckContexts: [String] + """ + List of required status checks that must pass for commits to be accepted to matching branches. + """ + requiredStatusChecks: [RequiredStatusCheckDescription!] + """Are approving reviews required to update matching branches.""" requiresApprovingReviews: Boolean! @@ -831,6 +1401,14 @@ type BranchProtectionRule implements Node { """Are commits required to be signed.""" requiresCommitSignatures: Boolean! + """Are conversations required to be resolved before merging.""" + requiresConversationResolution: Boolean! + + """ + Does this branch require deployment to specific environments before merging + """ + requiresDeployments: Boolean! + """Are merge commits prohibited from being pushed to this branch.""" requiresLinearHistory: Boolean! @@ -924,6 +1502,103 @@ type BranchProtectionRuleEdge { node: BranchProtectionRule } +""" +Information about a sponsorship to make for a user or organization with a GitHub +Sponsors profile, as part of sponsoring many users or organizations at once. +""" +input BulkSponsorship { + """ + The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. + """ + sponsorableId: ID + + """ + The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. + """ + sponsorableLogin: String + + """ + The amount to pay to the sponsorable in US dollars. Valid values: 1-12000. + """ + amount: Int! +} + +""" +A user, team, or app who has the ability to bypass a force push requirement on a protected branch. +""" +type BypassForcePushAllowance implements Node { + """The actor that can force push.""" + actor: BranchActorAllowanceActor + + """ + Identifies the branch protection rule associated with the allowed user, team, or app. + """ + branchProtectionRule: BranchProtectionRule + id: ID! +} + +"""The connection type for BypassForcePushAllowance.""" +type BypassForcePushAllowanceConnection { + """A list of edges.""" + edges: [BypassForcePushAllowanceEdge] + + """A list of nodes.""" + nodes: [BypassForcePushAllowance] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type BypassForcePushAllowanceEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: BypassForcePushAllowance +} + +""" +A user, team, or app who has the ability to bypass a pull request requirement on a protected branch. +""" +type BypassPullRequestAllowance implements Node { + """The actor that can bypass.""" + actor: BranchActorAllowanceActor + + """ + Identifies the branch protection rule associated with the allowed user, team, or app. + """ + branchProtectionRule: BranchProtectionRule + id: ID! +} + +"""The connection type for BypassPullRequestAllowance.""" +type BypassPullRequestAllowanceConnection { + """A list of edges.""" + edges: [BypassPullRequestAllowanceEdge] + + """A list of nodes.""" + nodes: [BypassPullRequestAllowance] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type BypassPullRequestAllowanceEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: BypassPullRequestAllowance +} + """Autogenerated input type of CancelEnterpriseAdminInvitation""" input CancelEnterpriseAdminInvitationInput { """The Node ID of the pending enterprise administrator invitation.""" @@ -947,6 +1622,43 @@ type CancelEnterpriseAdminInvitationPayload { message: String } +"""Autogenerated input type of CancelSponsorship""" +input CancelSponsorshipInput { + """ + The ID of the user or organization who is acting as the sponsor, paying for + the sponsorship. Required if sponsorLogin is not given. + """ + sponsorId: ID + + """ + The username of the user or organization who is acting as the sponsor, paying + for the sponsorship. Required if sponsorId is not given. + """ + sponsorLogin: String + + """ + The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. + """ + sponsorableId: ID + + """ + The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. + """ + sponsorableLogin: String + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CancelSponsorship""" +type CancelSponsorshipPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The tier that was being used at the time of cancellation.""" + sponsorsTier: SponsorsTier +} + """Autogenerated input type of ChangeUserStatus""" input ChangeUserStatusInput { """ @@ -1134,7 +1846,7 @@ enum CheckConclusionState { } """A check run.""" -type CheckRun implements Node & UniformResourceLocatable { +type CheckRun implements Node & UniformResourceLocatable & RequirableByPullRequest { """The check run's annotations""" annotations( """Returns the elements in the list that come after the specified cursor.""" @@ -1164,6 +1876,9 @@ type CheckRun implements Node & UniformResourceLocatable { """Identifies the primary key from the database.""" databaseId: Int + """The corresponding deployment for this job, if any""" + deployment: Deployment + """ The URL from which to find full details of the check run on the integrator's site. """ @@ -1173,9 +1888,23 @@ type CheckRun implements Node & UniformResourceLocatable { externalId: String id: ID! + """ + Whether this is required to pass before merging for a specific pull request. + """ + isRequired( + """The id of the pull request this is required for""" + pullRequestId: ID + + """The number of the pull request this is required for""" + pullRequestNumber: Int + ): Boolean! + """The name of the check for this check run.""" name: String! + """Information about a pending deployment, if any, in this check run""" + pendingDeploymentRequest: DeploymentRequest + """The permalink to the check run summary.""" permalink: URI! @@ -1191,6 +1920,26 @@ type CheckRun implements Node & UniformResourceLocatable { """The current status of the check run.""" status: CheckStatusState! + """The check run's steps""" + steps( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Step number""" + number: Int + ): CheckStepConnection + """A string representing the check run's summary""" summary: String @@ -1251,8 +2000,14 @@ input CheckRunFilter { """Filters the check runs by this name.""" checkName: String - """Filters the check runs by this status.""" + """Filters the check runs by this status. Superceded by statuses.""" status: CheckStatusState + + """Filters the check runs by this status. Overrides status.""" + statuses: [CheckStatusState!] + + """Filters the check runs by these conclusions.""" + conclusions: [CheckConclusionState!] } """Descriptive details about the check run.""" @@ -1289,19 +2044,75 @@ input CheckRunOutputImage { caption: String } -"""The possible types of check runs.""" -enum CheckRunType { - """Every check run available.""" - ALL +"""The possible states of a check run in a status rollup.""" +enum CheckRunState { + """The check run requires action.""" + ACTION_REQUIRED - """The latest check run.""" - LATEST -} + """The check run has been cancelled.""" + CANCELLED -"""The possible states for a check suite or run status.""" -enum CheckStatusState { - """The check suite or run has been queued.""" - QUEUED + """The check run has been completed.""" + COMPLETED + + """The check run has failed.""" + FAILURE + + """The check run is in progress.""" + IN_PROGRESS + + """The check run was neutral.""" + NEUTRAL + + """The check run is in pending state.""" + PENDING + + """The check run has been queued.""" + QUEUED + + """The check run was skipped.""" + SKIPPED + + """ + The check run was marked stale by GitHub. Only GitHub can use this conclusion. + """ + STALE + + """The check run has failed at startup.""" + STARTUP_FAILURE + + """The check run has succeeded.""" + SUCCESS + + """The check run has timed out.""" + TIMED_OUT + + """The check run is in waiting state.""" + WAITING +} + +"""Represents a count of the state of a check run.""" +type CheckRunStateCount { + """The number of check runs with this state.""" + count: Int! + + """The state of a check run.""" + state: CheckRunState! +} + +"""The possible types of check runs.""" +enum CheckRunType { + """Every check run available.""" + ALL + + """The latest check run.""" + LATEST +} + +"""The possible states for a check suite or run status.""" +enum CheckStatusState { + """The check suite or run has been queued.""" + QUEUED """The check suite or run is in progress.""" IN_PROGRESS @@ -1309,10 +2120,67 @@ enum CheckStatusState { """The check suite or run has been completed.""" COMPLETED + """The check suite or run is in waiting state.""" + WAITING + + """The check suite or run is in pending state.""" + PENDING + """The check suite or run has been requested.""" REQUESTED } +"""A single check step.""" +type CheckStep { + """Identifies the date and time when the check step was completed.""" + completedAt: DateTime + + """The conclusion of the check step.""" + conclusion: CheckConclusionState + + """A reference for the check step on the integrator's system.""" + externalId: String + + """The step's name.""" + name: String! + + """The index of the step in the list of steps of the parent check run.""" + number: Int! + + """Number of seconds to completion.""" + secondsToCompletion: Int + + """Identifies the date and time when the check step was started.""" + startedAt: DateTime + + """The current status of the check step.""" + status: CheckStatusState! +} + +"""The connection type for CheckStep.""" +type CheckStepConnection { + """A list of edges.""" + edges: [CheckStepEdge] + + """A list of nodes.""" + nodes: [CheckStep] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type CheckStepEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: CheckStep +} + """A check suite.""" type CheckSuite implements Node { """The GitHub App which created this check suite.""" @@ -1350,6 +2218,9 @@ type CheckSuite implements Node { """Identifies the date and time when the object was created.""" createdAt: DateTime! + """The user who triggered the check suite.""" + creator: User + """Identifies the primary key from the database.""" databaseId: Int id: ID! @@ -1403,6 +2274,9 @@ type CheckSuite implements Node { """The HTTP URL for this check suite""" url: URI! + + """The workflow run associated with this check suite.""" + workflowRun: WorkflowRun } """The auto-trigger preferences that are available for check suites.""" @@ -1449,6 +2323,9 @@ input CheckSuiteFilter { checkName: String } +"""An object which can have its data claimed or claim data from another.""" +union Claimable = Mannequin | User + """Autogenerated input type of ClearLabelsFromLabelable""" input ClearLabelsFromLabelableInput { """The id of the labelable object to clear the labels from.""" @@ -1467,6 +2344,30 @@ type ClearLabelsFromLabelablePayload { labelable: Labelable } +"""Autogenerated input type of ClearProjectV2ItemFieldValue""" +input ClearProjectV2ItemFieldValueInput { + """The ID of the Project.""" + projectId: ID! + + """The ID of the item to be cleared.""" + itemId: ID! + + """The ID of the field to be cleared.""" + fieldId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of ClearProjectV2ItemFieldValue""" +type ClearProjectV2ItemFieldValuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated item.""" + projectV2Item: ProjectV2Item +} + """Autogenerated input type of CloneProject""" input CloneProjectInput { """The owner ID to create the project under.""" @@ -1542,12 +2443,18 @@ type CloneTemplateRepositoryPayload { """An object that can be closed""" interface Closable { """ - `true` if the object is closed (definition of closed may depend on type) + Indicates if the object is closed (definition of closed may depend on type) """ closed: Boolean! """Identifies the date and time when the object was closed.""" closedAt: DateTime + + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! + + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! } """Represents a 'closed' event on any `Closable`.""" @@ -1568,15 +2475,42 @@ type ClosedEvent implements Node & UniformResourceLocatable { """The HTTP path for this closed event.""" resourcePath: URI! + """The reason the issue state was changed to closed.""" + stateReason: IssueStateReason + """The HTTP URL for this closed event.""" url: URI! } +"""Autogenerated input type of CloseDiscussion""" +input CloseDiscussionInput { + """ID of the discussion to be closed.""" + discussionId: ID! + + """The reason why the discussion is being closed.""" + reason: DiscussionCloseReason = RESOLVED + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CloseDiscussion""" +type CloseDiscussionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The discussion that was closed.""" + discussion: Discussion +} + """Autogenerated input type of CloseIssue""" input CloseIssueInput { """ID of the issue to be closed.""" issueId: ID! + """The reason the issue is to be closed.""" + stateReason: IssueClosedStateReason + """A unique identifier for the client performing the mutation.""" clientMutationId: String } @@ -1783,7 +2717,11 @@ type Commit implements Node & GitObject & Subscribable & UniformResourceLocatabl """The number of additions in this commit.""" additions: Int! - """The pull requests associated with a commit""" + """ + 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( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -1839,8 +2777,12 @@ type Commit implements Node & GitObject & Subscribable & UniformResourceLocatabl path: String! ): Blame! - """The number of changed files in this commit.""" - changedFiles: Int! + """ + The number of changed files in this commit. If GitHub is unable to calculate + the number of changed files (for example due to a timeout), this will return + `null`. We recommend using this field instead of `changedFiles`. + """ + changedFilesIfAvailable: Int """The check suites associated with a commit.""" checkSuites( @@ -1888,10 +2830,10 @@ type Commit implements Node & GitObject & Subscribable & UniformResourceLocatabl """The datetime when this commit was committed.""" committedDate: DateTime! - """Check if commited via GitHub web UI.""" + """Check if committed via GitHub web UI.""" committedViaWeb: Boolean! - """Committership details of the commit.""" + """Committer details of the commit.""" committer: GitActor """The number of deletions in this commit.""" @@ -2000,9 +2942,6 @@ type Commit implements Node & GitObject & Subscribable & UniformResourceLocatabl last: Int ): CommitConnection! - """The datetime when this commit was pushed.""" - pushedDate: DateTime - """The Repository this commit belongs to""" repository: Repository! @@ -2132,7 +3071,11 @@ type CommitComment implements Node & Comment & Deletable & Minimizable & Updatab """The moment the editor made the last edit""" lastEditedAt: DateTime - """Returns why the comment was minimized.""" + """ + Returns why the comment was minimized. One of `abuse`, `off-topic`, + `outdated`, `resolved`, `duplicate` and `spam`. Note that the case and + formatting of these values differs from the inputs to the `MinimizeComment` mutation. + """ minimizedReason: String """Identifies the file path associated with the comment.""" @@ -2370,6 +3313,122 @@ type CommitHistoryConnection { totalCount: Int! } +"""A message to include with a new commit""" +input CommitMessage { + """The headline of the message.""" + headline: String! + + """The body of the message.""" + body: 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 +`repositoryNameWithOwner` and `branchName`. + +### Examples + +Specify a branch using a global node ID: + + { "id": "MDM6UmVmMTpyZWZzL2hlYWRzL21haW4=" } + +Specify a branch using `repositoryNameWithOwner` and `branchName`: + + { + "repositoryNameWithOwner": "github/graphql-client", + "branchName": "main" + } + + +""" +input CommittableBranch { + """The Node ID of the Ref to be updated.""" + id: ID + + """The nameWithOwner of the repository to commit to.""" + repositoryNameWithOwner: String + + """The unqualified name of the branch to append the commit to.""" + branchName: String +} + +"""Represents a comparison between two commit revisions.""" +type Comparison implements Node { + """The number of commits ahead of the base branch.""" + aheadBy: Int! + + """The base revision of this comparison.""" + baseTarget: GitObject! + + """The number of commits behind the base branch.""" + behindBy: Int! + + """The commits which compose this comparison.""" + commits( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ComparisonCommitConnection! + + """The head revision of this comparison.""" + headTarget: GitObject! + id: ID! + + """The status of this comparison.""" + status: ComparisonStatus! +} + +"""The connection type for Commit.""" +type ComparisonCommitConnection { + """The total count of authors and co-authors across all commits.""" + authorCount: Int! + + """A list of edges.""" + edges: [CommitEdge] + + """A list of nodes.""" + nodes: [Commit] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""The status of a git comparison between two refs.""" +enum ComparisonStatus { + """ + The head ref is both ahead and behind of the base ref, indicating git history has diverged. + """ + DIVERGED + + """The head ref is ahead of the base ref.""" + AHEAD + + """The head ref is behind the base ref.""" + BEHIND + + """The head ref and base ref are identical.""" + IDENTICAL +} + """Represents a 'connected' event on a given issue or pull request.""" type ConnectedEvent implements Node { """Identifies the actor who performed the event.""" @@ -2449,6 +3508,12 @@ type ContributionCalendarDay { """How many contributions were made by the user on this day.""" contributionCount: 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: Date! @@ -2482,6 +3547,30 @@ type ContributionCalendarWeek { firstDay: Date! } +"""Varying levels of contributions from none to many.""" +enum ContributionLevel { + """No contributions occurred.""" + NONE + + """Lowest 25% of days of contributions.""" + FIRST_QUARTILE + + """ + Second lowest 25% of days of contributions. More contributions than the first quartile. + """ + SECOND_QUARTILE + + """ + Second highest 25% of days of contributions. More contributions than second quartile, less than the fourth quartile. + """ + THIRD_QUARTILE + + """ + Highest 25% of days of contributions. More contributions than the third quartile. + """ + FOURTH_QUARTILE +} + """Ordering options for contribution connections.""" input ContributionOrder { """The ordering direction.""" @@ -2683,7 +3772,11 @@ type ContributionsCollection { excludePopular: Boolean = false ): [PullRequestContributionsByRepository!]! - """Pull request review contributions made by the user.""" + """ + Pull request review contributions made by the user. Returns the most recently + submitted review for each PR reviewed by the user. + + """ pullRequestReviewContributions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -2822,6 +3915,19 @@ type ConvertedNoteToIssueEvent implements Node { id: ID! } +"""Represents a 'converted_to_discussion' event on a given issue.""" +type ConvertedToDiscussionEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The discussion that the issue was converted into.""" + discussion: Discussion + id: ID! +} + """Autogenerated input type of ConvertProjectCardNoteToIssue""" input ConvertProjectCardNoteToIssueInput { """The ProjectCard ID to convert.""" @@ -2851,6 +3957,24 @@ type ConvertProjectCardNoteToIssuePayload { projectCard: ProjectCard } +"""Autogenerated input type of ConvertPullRequestToDraft""" +input ConvertPullRequestToDraftInput { + """ID of the pull request to convert to draft""" + pullRequestId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of ConvertPullRequestToDraft""" +type ConvertPullRequestToDraftPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The pull request that is now a draft.""" + pullRequest: PullRequest +} + """Represents a 'convert_to_draft' event on a given pull request.""" type ConvertToDraftEvent implements Node & UniformResourceLocatable { """Identifies the actor who performed the event.""" @@ -2870,35 +3994,95 @@ type ConvertToDraftEvent implements Node & UniformResourceLocatable { url: URI! } -"""Autogenerated input type of CreateBranchProtectionRule""" -input CreateBranchProtectionRuleInput { - """ - The global relay id of the repository in which a new branch protection rule should be created in. - """ - repositoryId: ID! +"""Autogenerated input type of CopyProjectV2""" +input CopyProjectV2Input { + """The ID of the source Project to copy.""" + projectId: ID! - """The glob-like pattern used to determine matching branches.""" - pattern: String! + """The owner ID of the new project.""" + ownerId: ID! - """Are approving reviews required to update matching branches.""" - requiresApprovingReviews: Boolean + """The title of the project.""" + title: String! - """Number of approving reviews required to update matching branches.""" - requiredApprovingReviewCount: Int + """Include draft issues in the new project""" + includeDraftIssues: Boolean = false - """Are commits required to be signed.""" - requiresCommitSignatures: Boolean + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Are merge commits prohibited from being pushed to this branch.""" - requiresLinearHistory: Boolean +"""Autogenerated return type of CopyProjectV2""" +type CopyProjectV2Payload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Are force pushes allowed on this branch.""" - allowsForcePushes: Boolean + """The copied project.""" + projectV2: ProjectV2 +} - """Can this branch be deleted.""" - allowsDeletions: Boolean +"""Autogenerated input type of CreateAttributionInvitation""" +input CreateAttributionInvitationInput { + """The Node ID of the owner scoping the reattributable data.""" + ownerId: ID! - """Can admins overwrite branch protection.""" + """The Node ID of the account owning the data to reattribute.""" + sourceId: ID! + + """The Node ID of the account which may claim the data.""" + targetId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateAttributionInvitation""" +type CreateAttributionInvitationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The owner scoping the reattributable data.""" + owner: Organization + + """The account owning the data to reattribute.""" + source: Claimable + + """The account which may claim the data.""" + target: Claimable +} + +"""Autogenerated input type of CreateBranchProtectionRule""" +input CreateBranchProtectionRuleInput { + """ + The global relay id of the repository in which a new branch protection rule should be created in. + """ + repositoryId: ID! + + """The glob-like pattern used to determine matching branches.""" + pattern: String! + + """Are approving reviews required to update matching branches.""" + requiresApprovingReviews: Boolean + + """Number of approving reviews required to update matching branches.""" + requiredApprovingReviewCount: Int + + """Are commits required to be signed.""" + requiresCommitSignatures: Boolean + + """Are merge commits prohibited from being pushed to this branch.""" + requiresLinearHistory: Boolean + + """Is branch creation a protected operation.""" + blocksCreations: Boolean + + """Are force pushes allowed on this branch.""" + allowsForcePushes: Boolean + + """Can this branch be deleted.""" + allowsDeletions: Boolean + + """Can admins overwrite branch protection.""" isAdminEnforced: Boolean """Are status checks required to update matching branches.""" @@ -2919,14 +4103,24 @@ input CreateBranchProtectionRuleInput { restrictsReviewDismissals: Boolean """ - A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches. + A list of User, Team, or App IDs allowed to dismiss reviews on pull requests targeting matching branches. """ reviewDismissalActorIds: [ID!] + """ + A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. + """ + bypassPullRequestActorIds: [ID!] + + """ + A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. + """ + bypassForcePushActorIds: [ID!] + """Is pushing to matching branches restricted.""" restrictsPushes: Boolean - """A list of User, Team or App IDs allowed to push to matching branches.""" + """A list of User, Team, or App IDs allowed to push to matching branches.""" pushActorIds: [ID!] """ @@ -2934,6 +4128,34 @@ input CreateBranchProtectionRuleInput { """ requiredStatusCheckContexts: [String!] + """The list of required status checks""" + requiredStatusChecks: [RequiredStatusCheckInput!] + + """Are successful deployments required before merging.""" + requiresDeployments: Boolean + + """The list of required deployment environments""" + requiredDeploymentEnvironments: [String!] + + """Are conversations required to be resolved before merging.""" + requiresConversationResolution: Boolean + + """ + Whether the most recent push must be approved by someone other than the person who pushed it + """ + requireLastPushApproval: Boolean + + """ + Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + """ + lockBranch: Boolean + + """ + Whether users can pull changes from upstream when the branch is locked. Set to + `true` to allow fork syncing. Set to `false` to prevent fork syncing. + """ + lockAllowsFetchAndMerge: Boolean + """A unique identifier for the client performing the mutation.""" clientMutationId: String } @@ -3020,6 +4242,38 @@ type CreateCheckSuitePayload { clientMutationId: String } +"""Autogenerated input type of CreateCommitOnBranch""" +input CreateCommitOnBranchInput { + """The Ref to be updated. Must be a branch.""" + branch: CommittableBranch! + + """A description of changes to files in this commit.""" + fileChanges: FileChanges + + """The commit message the be included with the commit.""" + message: CommitMessage! + + """ + The git commit oid expected at the head of the branch prior to the commit + """ + expectedHeadOid: GitObjectID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateCommitOnBranch""" +type CreateCommitOnBranchPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new commit.""" + commit: Commit + + """The ref which has been updated to point to the new commit.""" + ref: Ref +} + """Represents the contribution a user made by committing to a repository.""" type CreatedCommitContribution implements Contribution { """How many commits were made on this day to this repository by the user.""" @@ -3079,6 +4333,33 @@ type CreatedCommitContributionEdge { node: CreatedCommitContribution } +"""Autogenerated input type of CreateDiscussion""" +input CreateDiscussionInput { + """The id of the repository on which to create the discussion.""" + repositoryId: ID! + + """The title of the discussion.""" + title: String! + + """The body of the discussion.""" + body: String! + + """The id of the discussion category to associate with this discussion.""" + categoryId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateDiscussion""" +type CreateDiscussionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The discussion that was just created.""" + discussion: Discussion +} + """Represents the contribution a user made on GitHub by opening an issue.""" type CreatedIssueContribution implements Contribution { """ @@ -3351,6 +4632,27 @@ type CreateEnterpriseOrganizationPayload { organization: Organization } +"""Autogenerated input type of CreateEnvironment""" +input CreateEnvironmentInput { + """The node ID of the repository.""" + repositoryId: ID! + + """The name of the environment.""" + name: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateEnvironment""" +type CreateEnvironmentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new or existing environment.""" + environment: Environment +} + """Autogenerated input type of CreateIpAllowListEntry""" input CreateIpAllowListEntryInput { """The ID of the owner for which to create the new IP allow list entry.""" @@ -3421,6 +4723,72 @@ type CreateIssuePayload { issue: Issue } +"""Autogenerated input type of CreateLinkedBranch""" +input CreateLinkedBranchInput { + """ID of the issue to link to.""" + issueId: ID! + + """The commit SHA to base the new branch on.""" + oid: GitObjectID! + + """The name of the new branch. Defaults to issue number and title.""" + name: String + + """ + ID of the repository to create the branch in. Defaults to the issue repository. + """ + repositoryId: ID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateLinkedBranch""" +type CreateLinkedBranchPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new branch issue reference.""" + linkedBranch: LinkedBranch +} + +"""Autogenerated input type of CreateMigrationSource""" +input CreateMigrationSourceInput { + """The migration source name.""" + name: String! + + """ + The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. + """ + url: String + + """The migration source access token.""" + accessToken: String + + """The migration source type.""" + type: MigrationSourceType! + + """The ID of the organization that will own the migration source.""" + ownerId: ID! + + """ + The GitHub personal access token of the user importing to the target repository. + """ + githubPat: String + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateMigrationSource""" +type CreateMigrationSourcePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The created migration source.""" + migrationSource: MigrationSource +} + """Autogenerated input type of CreateProject""" input CreateProjectInput { """The owner ID to create the project under.""" @@ -3453,6 +4821,64 @@ type CreateProjectPayload { project: Project } +"""Autogenerated input type of CreateProjectV2Field""" +input CreateProjectV2FieldInput { + """The ID of the Project to create the field in.""" + projectId: ID! + + """The data type of the field.""" + dataType: ProjectV2CustomFieldType! + + """The name of the field.""" + name: String! + + """ + Options for a single select field. At least one value is required if data_type is SINGLE_SELECT + """ + singleSelectOptions: [ProjectV2SingleSelectFieldOptionInput!] + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateProjectV2Field""" +type CreateProjectV2FieldPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new field.""" + projectV2Field: ProjectV2FieldConfiguration +} + +"""Autogenerated input type of CreateProjectV2""" +input CreateProjectV2Input { + """The owner ID to create the project under.""" + ownerId: ID! + + """The title of the project.""" + title: String! + + """The repository to link the project to.""" + repositoryId: ID + + """ + The team to link the project to. The team will be granted read permissions. + """ + teamId: ID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateProjectV2""" +type CreateProjectV2Payload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new project.""" + projectV2: ProjectV2 +} + """Autogenerated input type of CreatePullRequest""" input CreatePullRequestInput { """The Node ID of the repository.""" @@ -3473,6 +4899,9 @@ input CreatePullRequestInput { """ headRefName: String! + """The Node ID of the head repository.""" + headRepositoryId: ID + """The title of the pull request.""" title: String! @@ -3572,71 +5001,303 @@ type CreateRepositoryPayload { repository: Repository } -"""Autogenerated input type of CreateTeamDiscussionComment""" -input CreateTeamDiscussionCommentInput { - """The ID of the discussion to which the comment belongs.""" - discussionId: ID! +"""Autogenerated input type of CreateSponsorship""" +input CreateSponsorshipInput { + """ + The ID of the user or organization who is acting as the sponsor, paying for + the sponsorship. Required if sponsorLogin is not given. + """ + sponsorId: ID - """The content of the comment.""" - body: String! + """ + The username of the user or organization who is acting as the sponsor, paying + for the sponsorship. Required if sponsorId is not given. + """ + sponsorLogin: String + + """ + The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. + """ + sponsorableId: ID + + """ + The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. + """ + sponsorableLogin: String + + """ + The ID of one of sponsorable's existing tiers to sponsor at. Required if amount is not specified. + """ + tierId: ID + + """ + The amount to pay to the sponsorable in US dollars. Required if a tierId is not specified. Valid values: 1-12000. + """ + amount: Int + + """ + Whether the sponsorship should happen monthly/yearly or just this one time. Required if a tierId is not specified. + """ + isRecurring: Boolean + + """Whether the sponsor should receive email updates from the sponsorable.""" + receiveEmails: Boolean = true + + """ + 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: SponsorshipPrivacy = PUBLIC """A unique identifier for the client performing the mutation.""" clientMutationId: String } -"""Autogenerated return type of CreateTeamDiscussionComment""" -type CreateTeamDiscussionCommentPayload { +"""Autogenerated return type of CreateSponsorship""" +type CreateSponsorshipPayload { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """The new comment.""" - teamDiscussionComment: TeamDiscussionComment + """The sponsorship that was started.""" + sponsorship: Sponsorship } -"""Autogenerated input type of CreateTeamDiscussion""" -input CreateTeamDiscussionInput { - """The ID of the team to which the discussion belongs.""" - teamId: ID! +"""Autogenerated input type of CreateSponsorships""" +input CreateSponsorshipsInput { + """ + The username of the user or organization who is acting as the sponsor, paying for the sponsorships. + """ + sponsorLogin: String! - """The title of the discussion.""" - title: String! + """The list of maintainers to sponsor and for how much apiece.""" + sponsorships: [BulkSponsorship!]! - """The content of the discussion.""" - body: String! + """ + Whether the sponsor should receive email updates from the sponsorables. + """ + receiveEmails: Boolean = false """ - If true, restricts the visiblity of this discussion to team members and - organization admins. If false or not specified, allows any organization member - to view this discussion. + Specify whether others should be able to see that the sponsor is sponsoring + the sponsorables. Public visibility still does not reveal the dollar value of + the sponsorship. """ - private: Boolean + privacyLevel: SponsorshipPrivacy = PUBLIC """A unique identifier for the client performing the mutation.""" clientMutationId: String } -"""Autogenerated return type of CreateTeamDiscussion""" -type CreateTeamDiscussionPayload { +"""Autogenerated return type of CreateSponsorships""" +type CreateSponsorshipsPayload { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """The new discussion.""" - teamDiscussion: TeamDiscussion + """The users and organizations who received a sponsorship.""" + sponsorables: [Sponsorable!] } -"""Represents a mention made by one issue or pull request to another.""" -type CrossReferencedEvent implements Node & UniformResourceLocatable { - """Identifies the actor who performed the event.""" - actor: Actor +"""Autogenerated input type of CreateSponsorsListing""" +input CreateSponsorsListingInput { + """ + The username of the organization to create a GitHub Sponsors profile for, if + desired. Defaults to creating a GitHub Sponsors profile for the authenticated + user if omitted. + """ + sponsorableLogin: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """ + The username of the supported fiscal host's GitHub organization, if you want + to receive sponsorship payouts through a fiscal host rather than directly to a + bank account. For example, 'Open-Source-Collective' for Open Source Collective + or 'numfocus' for numFOCUS. Case insensitive. See https://docs.github.com/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts + for more information. + """ + fiscalHostLogin: String - """Reference originated in a different repository.""" - isCrossRepository: Boolean! + """ + The URL for your profile page on the fiscal host's website, e.g., + https://opencollective.com/babel or https://numfocus.org/project/bokeh. + Required if fiscalHostLogin is specified. + """ + fiscallyHostedProjectProfileUrl: String - """Identifies when the reference was made.""" + """ + The country or region where the sponsorable's bank account is located. + Required if fiscalHostLogin is not specified, ignored when fiscalHostLogin is specified. + """ + billingCountryOrRegionCode: SponsorsCountryOrRegionCode + + """ + The country or region where the sponsorable resides. This is for tax purposes. + Required if the sponsorable is yourself, ignored when sponsorableLogin + specifies an organization. + """ + residenceCountryOrRegionCode: SponsorsCountryOrRegionCode + + """ + The email address we should use to contact you about the GitHub Sponsors + profile being created. This will not be shared publicly. Must be a verified + email address already on your GitHub account. Only relevant when the + sponsorable is yourself. Defaults to your primary email address on file if omitted. + """ + contactEmail: String + + """ + Provide an introduction to serve as the main focus that appears on your GitHub + Sponsors profile. It's a great opportunity to help potential sponsors learn + more about you, your work, and why their sponsorship is important to you. + GitHub-flavored Markdown is supported. + """ + fullDescription: String + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateSponsorsListing""" +type CreateSponsorsListingPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new GitHub Sponsors profile.""" + sponsorsListing: SponsorsListing +} + +"""Autogenerated input type of CreateSponsorsTier""" +input CreateSponsorsTierInput { + """ + The ID of the user or organization who owns the GitHub Sponsors profile. + Defaults to the current user if omitted and sponsorableLogin is not given. + """ + sponsorableId: ID + + """ + The username of the user or organization who owns the GitHub Sponsors profile. + Defaults to the current user if omitted and sponsorableId is not given. + """ + sponsorableLogin: String + + """The value of the new tier in US dollars. Valid values: 1-12000.""" + amount: Int! + + """ + Whether sponsorships using this tier should happen monthly/yearly or just once. + """ + isRecurring: Boolean = true + + """ + Optional ID of the private repository that sponsors at this tier should gain + read-only access to. Must be owned by an organization. + """ + repositoryId: ID + + """ + Optional login of the organization owner of the private repository that + sponsors at this tier should gain read-only access to. Necessary if + repositoryName is given. Will be ignored if repositoryId is given. + """ + repositoryOwnerLogin: String + + """ + Optional name of the private repository that sponsors at this tier should gain + read-only access to. Must be owned by an organization. Necessary if + repositoryOwnerLogin is given. Will be ignored if repositoryId is given. + """ + repositoryName: String + + """Optional message new sponsors at this tier will receive.""" + welcomeMessage: String + + """ + A description of what this tier is, what perks sponsors might receive, what a sponsorship at this tier means for you, etc. + """ + description: String! + + """ + Whether to make the tier available immediately for sponsors to choose. + Defaults to creating a draft tier that will not be publicly visible. + """ + publish: Boolean = false + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateSponsorsTier""" +type CreateSponsorsTierPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new tier.""" + sponsorsTier: SponsorsTier +} + +"""Autogenerated input type of CreateTeamDiscussionComment""" +input CreateTeamDiscussionCommentInput { + """The ID of the discussion to which the comment belongs.""" + discussionId: ID! + + """The content of the comment.""" + body: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateTeamDiscussionComment""" +type CreateTeamDiscussionCommentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new comment.""" + teamDiscussionComment: TeamDiscussionComment +} + +"""Autogenerated input type of CreateTeamDiscussion""" +input CreateTeamDiscussionInput { + """The ID of the team to which the discussion belongs.""" + teamId: ID! + + """The title of the discussion.""" + title: String! + + """The content of the discussion.""" + body: String! + + """ + 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: Boolean + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of CreateTeamDiscussion""" +type CreateTeamDiscussionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new discussion.""" + teamDiscussion: TeamDiscussion +} + +"""Represents a mention made by one issue or pull request to another.""" +type CrossReferencedEvent implements UniformResourceLocatable & Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Reference originated in a different repository.""" + isCrossRepository: Boolean! + + """Identifies when the reference was made.""" referencedAt: DateTime! """The HTTP path for this pull request.""" @@ -3655,6 +5316,52 @@ type CrossReferencedEvent implements Node & UniformResourceLocatable { willCloseTarget: Boolean! } +"""The Common Vulnerability Scoring System""" +type CVSS { + """The CVSS score associated with this advisory""" + score: Float! + + """The CVSS vector string associated with this advisory""" + vectorString: String +} + +"""A common weakness enumeration""" +type CWE implements Node { + """The id of the CWE""" + cweId: String! + + """A detailed description of this CWE""" + description: String! + id: ID! + + """The name of this CWE""" + name: String! +} + +"""The connection type for CWE.""" +type CWEConnection { + """A list of edges.""" + edges: [CWEEdge] + + """A list of nodes.""" + nodes: [CWE] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type CWEEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: CWE +} + """An ISO-8601 encoded date string.""" scalar Date @@ -3685,7 +5392,7 @@ type DeclineTopicSuggestionPayload { topic: Topic } -"""The possible default permissions for repositories.""" +"""The possible base permissions for repositories.""" enum DefaultRepositoryPermissionField { """No access""" NONE @@ -3736,6 +5443,57 @@ type DeleteDeploymentPayload { clientMutationId: String } +"""Autogenerated input type of DeleteDiscussionComment""" +input DeleteDiscussionCommentInput { + """The Node id of the discussion comment to delete.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteDiscussionComment""" +type DeleteDiscussionCommentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The discussion comment that was just deleted.""" + comment: DiscussionComment +} + +"""Autogenerated input type of DeleteDiscussion""" +input DeleteDiscussionInput { + """The id of the discussion to delete.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteDiscussion""" +type DeleteDiscussionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The discussion that was just deleted.""" + discussion: Discussion +} + +"""Autogenerated input type of DeleteEnvironment""" +input DeleteEnvironmentInput { + """The Node ID of the environment to be deleted.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteEnvironment""" +type DeleteEnvironmentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + """Autogenerated input type of DeleteIpAllowListEntry""" input DeleteIpAllowListEntryInput { """The ID of the IP allow list entry to delete.""" @@ -3787,6 +5545,24 @@ type DeleteIssuePayload { repository: Repository } +"""Autogenerated input type of DeleteLinkedBranch""" +input DeleteLinkedBranchInput { + """The ID of the linked branch""" + linkedBranchId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteLinkedBranch""" +type DeleteLinkedBranchPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The issue the linked branch was unlinked from.""" + issue: Issue +} + """Autogenerated input type of DeleteProjectCard""" input DeleteProjectCardInput { """The id of the card to delete.""" @@ -3847,6 +5623,84 @@ type DeleteProjectPayload { owner: ProjectOwner } +"""Autogenerated input type of DeleteProjectV2Field""" +input DeleteProjectV2FieldInput { + """The ID of the field to delete.""" + fieldId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteProjectV2Field""" +type DeleteProjectV2FieldPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The deleted field.""" + projectV2Field: ProjectV2FieldConfiguration +} + +"""Autogenerated input type of DeleteProjectV2""" +input DeleteProjectV2Input { + """The ID of the Project to delete.""" + projectId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated input type of DeleteProjectV2Item""" +input DeleteProjectV2ItemInput { + """The ID of the Project from which the item should be removed.""" + projectId: ID! + + """The ID of the item to be removed.""" + itemId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteProjectV2Item""" +type DeleteProjectV2ItemPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The ID of the deleted item.""" + deletedItemId: ID +} + +"""Autogenerated return type of DeleteProjectV2""" +type DeleteProjectV2Payload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The deleted Project.""" + projectV2: ProjectV2 +} + +"""Autogenerated input type of DeleteProjectV2Workflow""" +input DeleteProjectV2WorkflowInput { + """The ID of the workflow to be removed.""" + workflowId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteProjectV2Workflow""" +type DeleteProjectV2WorkflowPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The ID of the deleted workflow.""" + deletedWorkflowId: ID + + """The project the deleted workflow was in.""" + projectV2: ProjectV2 +} + """Autogenerated input type of DeletePullRequestReviewComment""" input DeletePullRequestReviewCommentInput { """The ID of the comment to delete.""" @@ -3863,6 +5717,9 @@ type DeletePullRequestReviewCommentPayload { """The pull request review the deleted comment belonged to.""" pullRequestReview: PullRequestReview + + """The deleted pull request review comment.""" + pullRequestReviewComment: PullRequestReviewComment } """Autogenerated input type of DeletePullRequestReview""" @@ -3928,6 +5785,24 @@ type DeleteTeamDiscussionPayload { clientMutationId: String } +"""Autogenerated input type of DeleteVerifiableDomain""" +input DeleteVerifiableDomainInput { + """The ID of the verifiable domain to delete.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DeleteVerifiableDomain""" +type DeleteVerifiableDomainPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The owning account from which the domain was deleted.""" + owner: VerifiableDomainOwner +} + """Represents a 'demilestoned' event on a given issue or pull request.""" type DemilestonedEvent implements Node { """Identifies the actor who performed the event.""" @@ -3946,13 +5821,70 @@ type DemilestonedEvent implements Node { subject: MilestoneItem! } -"""Represents a 'deployed' event on a given pull request.""" -type DeployedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor +"""A Dependabot Update for a dependency in a repository""" +type DependabotUpdate implements RepositoryNode { + """The error from a dependency update""" + error: DependabotUpdateError - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The associated pull request""" + pullRequest: PullRequest + + """The repository associated with this node.""" + repository: Repository! +} + +"""An error produced from a Dependabot Update""" +type DependabotUpdateError { + """The body of the error""" + body: String! + + """The error code""" + errorType: String! + + """The title of the error""" + title: String! +} + +"""The possible ecosystems of a dependency graph package.""" +enum DependencyGraphEcosystem { + """Ruby gems hosted at RubyGems.org""" + RUBYGEMS + + """JavaScript packages hosted at npmjs.com""" + NPM + + """Python packages hosted at PyPI.org""" + PIP + + """Java artifacts hosted at the Maven central repository""" + MAVEN + + """.NET packages hosted at the NuGet Gallery""" + NUGET + + """PHP packages hosted at packagist.org""" + COMPOSER + + """Go modules""" + GO + + """GitHub Actions""" + ACTIONS + + """Rust crates""" + RUST + + """Dart packages hosted at pub.dev""" + PUB +} + +"""Represents a 'deployed' event on a given pull request.""" +type DeployedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! """Identifies the primary key from the database.""" databaseId: Int @@ -4141,6 +6073,217 @@ enum DeploymentOrderField { CREATED_AT } +"""A protection rule.""" +type DeploymentProtectionRule { + """Identifies the primary key from the database.""" + databaseId: Int + + """The teams or users that can review the deployment""" + reviewers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): DeploymentReviewerConnection! + + """The timeout in minutes for this protection rule.""" + timeout: Int! + + """The type of protection rule.""" + type: DeploymentProtectionRuleType! +} + +"""The connection type for DeploymentProtectionRule.""" +type DeploymentProtectionRuleConnection { + """A list of edges.""" + edges: [DeploymentProtectionRuleEdge] + + """A list of nodes.""" + nodes: [DeploymentProtectionRule] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type DeploymentProtectionRuleEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: DeploymentProtectionRule +} + +"""The possible protection rule types.""" +enum DeploymentProtectionRuleType { + """Required reviewers""" + REQUIRED_REVIEWERS + + """Wait timer""" + WAIT_TIMER +} + +"""A request to deploy a workflow run to an environment.""" +type DeploymentRequest { + """Whether or not the current user can approve the deployment""" + currentUserCanApprove: Boolean! + + """The target environment of the deployment""" + environment: Environment! + + """The teams or users that can review the deployment""" + reviewers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): DeploymentReviewerConnection! + + """The wait timer in minutes configured in the environment""" + waitTimer: Int! + + """The wait timer in minutes configured in the environment""" + waitTimerStartedAt: DateTime +} + +"""The connection type for DeploymentRequest.""" +type DeploymentRequestConnection { + """A list of edges.""" + edges: [DeploymentRequestEdge] + + """A list of nodes.""" + nodes: [DeploymentRequest] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type DeploymentRequestEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: DeploymentRequest +} + +"""A deployment review.""" +type DeploymentReview implements Node { + """The comment the user left.""" + comment: String! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The environments approved or rejected""" + environments( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnvironmentConnection! + id: ID! + + """The decision of the user.""" + state: DeploymentReviewState! + + """The user that reviewed the deployment.""" + user: User! +} + +"""The connection type for DeploymentReview.""" +type DeploymentReviewConnection { + """A list of edges.""" + edges: [DeploymentReviewEdge] + + """A list of nodes.""" + nodes: [DeploymentReview] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type DeploymentReviewEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: DeploymentReview +} + +"""Users and teams.""" +union DeploymentReviewer = Team | User + +"""The connection type for DeploymentReviewer.""" +type DeploymentReviewerConnection { + """A list of edges.""" + edges: [DeploymentReviewerEdge] + + """A list of nodes.""" + nodes: [DeploymentReviewer] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type DeploymentReviewerEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: DeploymentReviewer +} + +"""The possible states for a deployment review.""" +enum DeploymentReviewState { + """The deployment was approved.""" + APPROVED + + """The deployment was rejected.""" + REJECTED +} + """The possible states in which a deployment can be.""" enum DeploymentState { """The pending deployment was not updated after 30 minutes.""" @@ -4164,6 +6307,9 @@ enum DeploymentState { """The deployment is pending.""" PENDING + """The deployment was successful.""" + SUCCESS + """The deployment has queued""" QUEUED @@ -4248,6 +6394,27 @@ enum DeploymentStatusState { """The deployment is in progress.""" IN_PROGRESS + + """The deployment is waiting.""" + WAITING +} + +"""Autogenerated input type of DequeuePullRequest""" +input DequeuePullRequestInput { + """The ID of the pull request to be dequeued.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DequeuePullRequest""" +type DequeuePullRequestPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The merge queue entry of the dequeued pull request.""" + mergeQueueEntry: MergeQueueEntry } """The possible sides of a diff.""" @@ -4259,6 +6426,27 @@ enum DiffSide { RIGHT } +"""Autogenerated input type of DisablePullRequestAutoMerge""" +input DisablePullRequestAutoMergeInput { + """ID of the pull request to disable auto merge on.""" + pullRequestId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of DisablePullRequestAutoMerge""" +type DisablePullRequestAutoMergePayload { + """Identifies the actor who performed the event.""" + actor: Actor + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The pull request auto merge was disabled on.""" + pullRequest: PullRequest +} + """Represents a 'disconnected' event on a given issue or pull request.""" type DisconnectedEvent implements Node { """Identifies the actor who performed the event.""" @@ -4278,111 +6466,85 @@ type DisconnectedEvent implements Node { subject: ReferencedSubject! } -"""Autogenerated input type of DismissPullRequestReview""" -input DismissPullRequestReviewInput { - """The Node ID of the pull request review to modify.""" - pullRequestReviewId: ID! - - """The contents of the pull request review dismissal message.""" - message: String! +"""A discussion in a repository.""" +type Discussion implements Closable & Comment & Updatable & Deletable & Labelable & Lockable & RepositoryNode & Subscribable & Reactable & Votable & Node { + """Reason that the conversation was locked.""" + activeLockReason: LockReason - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The comment chosen as this discussion's answer, if any.""" + answer: DiscussionComment -"""Autogenerated return type of DismissPullRequestReview""" -type DismissPullRequestReviewPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The time when a user chose this discussion's answer, if answered.""" + answerChosenAt: DateTime - """The dismissed pull request review.""" - pullRequestReview: PullRequestReview -} + """The user who chose this discussion's answer, if answered.""" + answerChosenBy: Actor -"""Specifies a review comment to be left with a Pull Request Review.""" -input DraftPullRequestReviewComment { - """Path to the file being commented on.""" - path: String! + """The actor who authored the comment.""" + author: Actor - """Position in the file to leave a comment on.""" - position: Int! + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! - """Body of the comment to leave.""" + """The main text of the discussion post.""" body: String! -} -""" -Specifies a review comment thread to be left with a Pull Request Review. -""" -input DraftPullRequestReviewThread { - """Path to the file being commented on.""" - path: String! + """The body rendered to HTML.""" + bodyHTML: HTML! - """ - The line of the blob to which the thread refers. The end of the line range for multi-line comments. - """ - line: Int! + """The body rendered to text.""" + bodyText: String! + + """The category for this discussion.""" + category: DiscussionCategory! """ - 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. + Indicates if the object is closed (definition of closed may depend on type) """ - side: DiffSide = RIGHT + closed: Boolean! - """The first line of the range to which the comment refers.""" - startLine: Int + """Identifies the date and time when the object was closed.""" + closedAt: DateTime - """The side of the diff on which the start line resides.""" - startSide: DiffSide = RIGHT + """The replies to the discussion.""" + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Body of the comment to leave.""" - body: String! -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -""" -An account to manage multiple organizations with consolidated policy and billing. -""" -type Enterprise implements Node { - """A URL pointing to the enterprise's public avatar.""" - avatarUrl( - """The size of the resulting square image.""" - size: Int - ): URI! + """Returns the first _n_ elements from the list.""" + first: Int - """Enterprise billing information visible to enterprise billing managers.""" - billingInfo: EnterpriseBillingInfo + """Returns the last _n_ elements from the list.""" + last: Int + ): DiscussionCommentConnection! """Identifies the date and time when the object was created.""" createdAt: DateTime! + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! + """Identifies the primary key from the database.""" databaseId: Int - """The description of the enterprise.""" - description: String - - """The description of the enterprise as HTML.""" - descriptionHTML: HTML! + """The actor who edited the comment.""" + editor: Actor id: ID! - """The location of the enterprise.""" - location: String - - """A list of users who are members of this enterprise.""" - members( - """Only return members within the organizations with these logins""" - organizationLogins: [String!] - - """The search string to look for.""" - query: String - - """Ordering options for members returned from the connection.""" - orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} - - """The role of the user in the enterprise organization or server.""" - role: EnterpriseUserAccountMembershipRole + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! - """Only return members within the selected GitHub Enterprise deployment""" - deployment: EnterpriseUserDeployment + """A list of labels associated with the object.""" + labels( + """Ordering options for labels returned from the connection.""" + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} """Returns the elements in the list that come after the specified cursor.""" after: String @@ -4397,19 +6559,28 @@ type Enterprise implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): EnterpriseMemberConnection! + ): LabelConnection - """The name of the enterprise.""" - name: String! + """The moment the editor made the last edit""" + lastEditedAt: DateTime - """A list of organizations that belong to this enterprise.""" - organizations( - """The search string to look for.""" - query: String + """`true` if the object is locked""" + locked: Boolean! - """Ordering options for organizations returned from the connection.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + """The number identifying this discussion within the repository.""" + number: Int! + + """The poll associated with this discussion, if one exists.""" + poll: DiscussionPoll + + """Identifies when the comment was published at.""" + publishedAt: DateTime + + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] + """A list of Reactions left on the Issue.""" + reactions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -4423,22 +6594,37 @@ type Enterprise implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): OrganizationConnection! - """Enterprise information only visible to enterprise owners.""" - ownerInfo: EnterpriseOwnerInfo + """Allows filtering Reactions by emoji.""" + content: ReactionContent - """The HTTP path for this enterprise.""" + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! + + """The repository associated with this node.""" + repository: Repository! + + """The path for this discussion.""" resourcePath: URI! - """The URL-friendly identifier for the enterprise.""" - slug: String! + """Identifies the reason for the discussion's state.""" + stateReason: DiscussionStateReason - """The HTTP URL for this enterprise.""" + """The title of this discussion.""" + title: String! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """Number of upvotes that this subject has received.""" + upvoteCount: Int! + + """The URL for this discussion.""" url: URI! - """A list of user accounts on this enterprise.""" - userAccounts( + """A list of edits to this content.""" + userContentEdits( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -4452,75 +6638,85 @@ type Enterprise implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): EnterpriseUserAccountConnection! + ): UserContentEditConnection - """Is the current viewer an admin of this enterprise?""" - viewerIsAdmin: Boolean! + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! - """The URL of the enterprise website.""" - websiteUrl: URI -} + """Check if the current viewer can delete this object.""" + viewerCanDelete: Boolean! -"""The connection type for User.""" -type EnterpriseAdministratorConnection { - """A list of edges.""" - edges: [EnterpriseAdministratorEdge] + """Can user react to this subject""" + viewerCanReact: Boolean! - """A list of nodes.""" - nodes: [User] + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Check if the viewer is able to change their subscription status for the repository. + """ + viewerCanSubscribe: Boolean! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! -"""A User who is an administrator of an enterprise.""" -type EnterpriseAdministratorEdge { - """A cursor for use in pagination.""" - cursor: String! + """ + Whether or not the current user can add or remove an upvote on this subject. + """ + viewerCanUpvote: Boolean! - """The item at the end of the edge.""" - node: User + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! - """The role of the administrator.""" - role: EnterpriseAdministratorRole! + """Whether or not the current user has already upvoted this subject.""" + viewerHasUpvoted: Boolean! + + """ + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. + """ + viewerSubscription: SubscriptionState } -""" -An invitation for a user to become an owner or billing manager of an enterprise. -""" -type EnterpriseAdministratorInvitation implements Node { +"""A category for discussions in a repository.""" +type DiscussionCategory implements Node & RepositoryNode { """Identifies the date and time when the object was created.""" createdAt: DateTime! - """The email of the person who was invited to the enterprise.""" - email: String - - """The enterprise the invitation is for.""" - enterprise: Enterprise! - id: ID! + """A description of this category.""" + description: String - """The user who was invited to the enterprise.""" - invitee: User + """An emoji representing this category.""" + emoji: String! - """The user who created the invitation.""" - inviter: User + """This category's emoji rendered as HTML.""" + emojiHTML: HTML! + id: ID! """ - The invitee's pending role in the enterprise (owner or billing_manager). + Whether or not discussions in this category support choosing an answer with the markDiscussionCommentAsAnswer mutation. """ - role: EnterpriseAdministratorRole! + isAnswerable: Boolean! + + """The name of this category.""" + name: String! + + """The repository associated with this node.""" + repository: Repository! + + """The slug of this category.""" + slug: String! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! } -"""The connection type for EnterpriseAdministratorInvitation.""" -type EnterpriseAdministratorInvitationConnection { +"""The connection type for DiscussionCategory.""" +type DiscussionCategoryConnection { """A list of edges.""" - edges: [EnterpriseAdministratorInvitationEdge] + edges: [DiscussionCategoryEdge] """A list of nodes.""" - nodes: [EnterpriseAdministratorInvitation] + nodes: [DiscussionCategory] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -4530,160 +6726,114 @@ type EnterpriseAdministratorInvitationConnection { } """An edge in a connection.""" -type EnterpriseAdministratorInvitationEdge { +type DiscussionCategoryEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: EnterpriseAdministratorInvitation + node: DiscussionCategory } -"""Ordering options for enterprise administrator invitation connections""" -input EnterpriseAdministratorInvitationOrder { - """The field to order enterprise administrator invitations by.""" - field: EnterpriseAdministratorInvitationOrderField! +"""The possible reasons for closing a discussion.""" +enum DiscussionCloseReason { + """The discussion has been resolved""" + RESOLVED - """The ordering direction.""" - direction: OrderDirection! -} + """The discussion is no longer relevant""" + OUTDATED -""" -Properties by which enterprise administrator invitation connections can be ordered. -""" -enum EnterpriseAdministratorInvitationOrderField { - """Order enterprise administrator member invitations by creation time""" - CREATED_AT + """The discussion is a duplicate of another""" + DUPLICATE } -"""The possible administrator roles in an enterprise account.""" -enum EnterpriseAdministratorRole { - """Represents an owner of the enterprise account.""" - OWNER +"""A comment on a discussion.""" +type DiscussionComment implements Comment & Deletable & Minimizable & Updatable & UpdatableComment & Reactable & Votable & Node { + """The actor who authored the comment.""" + author: Actor - """Represents a billing manager of the enterprise account.""" - BILLING_MANAGER -} + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! -"""Metadata for an audit entry containing enterprise account information.""" -interface EnterpriseAuditEntryData { - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI + """The body as Markdown.""" + body: String! - """The slug of the enterprise.""" - enterpriseSlug: String + """The body rendered to HTML.""" + bodyHTML: HTML! - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI -} + """The body rendered to text.""" + bodyText: String! -""" -Enterprise billing information visible to enterprise billing managers and owners. -""" -type EnterpriseBillingInfo { - """The number of licenseable users/emails across the enterprise.""" - allLicensableUsersCount: Int! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """ - The number of data packs used by all organizations owned by the enterprise. - """ - assetPacks: Int! - - """ - The bandwidth quota in GB for all organizations owned by the enterprise. - """ - bandwidthQuota: Float! - - """ - The bandwidth usage in GB for all organizations owned by the enterprise. - """ - bandwidthUsage: Float! + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! - """The bandwidth usage as a percentage of the bandwidth quota.""" - bandwidthUsagePercentage: Int! + """Identifies the primary key from the database.""" + databaseId: Int - """The storage quota in GB for all organizations owned by the enterprise.""" - storageQuota: Float! + """The time when this replied-to comment was deleted""" + deletedAt: DateTime - """The storage usage in GB for all organizations owned by the enterprise.""" - storageUsage: Float! + """The discussion this comment was created in""" + discussion: Discussion - """The storage usage as a percentage of the storage quota.""" - storageUsagePercentage: Int! + """The actor who edited the comment.""" + editor: Actor + id: ID! """ - The number of available licenses across all owned organizations based on the unique number of billable users. + Check if this comment was edited and includes an edit with the creation data """ - totalAvailableLicenses: Int! - - """The total number of licenses allocated.""" - totalLicenses: Int! -} + includesCreatedEdit: Boolean! -""" -The possible values for the enterprise default repository permission setting. -""" -enum EnterpriseDefaultRepositoryPermissionSettingValue { - """ - Organizations in the enterprise choose default repository permissions for their members. - """ - NO_POLICY + """Has this comment been chosen as the answer of its discussion?""" + isAnswer: Boolean! - """ - Organization members will be able to clone, pull, push, and add new collaborators to all organization repositories. - """ - ADMIN + """Returns whether or not a comment has been minimized.""" + isMinimized: Boolean! - """ - Organization members will be able to clone, pull, and push all organization repositories. - """ - WRITE + """The moment the editor made the last edit""" + lastEditedAt: DateTime """ - Organization members will be able to clone and pull all organization repositories. + Returns why the comment was minimized. One of `abuse`, `off-topic`, + `outdated`, `resolved`, `duplicate` and `spam`. Note that the case and + formatting of these values differs from the inputs to the `MinimizeComment` mutation. """ - READ + minimizedReason: String - """ - Organization members will only be able to clone and pull public repositories. - """ - NONE -} + """Identifies when the comment was published at.""" + publishedAt: DateTime -"""The possible values for an enabled/disabled enterprise setting.""" -enum EnterpriseEnabledDisabledSettingValue { - """The setting is enabled for organizations in the enterprise.""" - ENABLED + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] - """The setting is disabled for organizations in the enterprise.""" - DISABLED + """A list of Reactions left on the Issue.""" + reactions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """There is no policy set for organizations in the enterprise.""" - NO_POLICY -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""The possible values for an enabled/no policy enterprise setting.""" -enum EnterpriseEnabledSettingValue { - """The setting is enabled for organizations in the enterprise.""" - ENABLED + """Returns the first _n_ elements from the list.""" + first: Int - """There is no policy set for organizations in the enterprise.""" - NO_POLICY -} + """Returns the last _n_ elements from the list.""" + last: Int -""" -An identity provider configured to provision identities for an enterprise. -""" -type EnterpriseIdentityProvider implements Node { - """ - The digest algorithm used to sign SAML requests for the identity provider. - """ - digestMethod: SamlDigestAlgorithm + """Allows filtering Reactions by emoji.""" + content: ReactionContent - """The enterprise this identity provider belongs to.""" - enterprise: Enterprise + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! - """ExternalIdentities provisioned by this identity provider.""" - externalIdentities( + """The threaded replies to this comment.""" + replies( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -4697,116 +6847,80 @@ type EnterpriseIdentityProvider implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): ExternalIdentityConnection! - id: ID! - - """ - The x509 certificate used by the identity provider to sign assertions and responses. - """ - idpCertificate: X509Certificate + ): DiscussionCommentConnection! - """The Issuer Entity ID for the SAML identity provider.""" - issuer: String + """The discussion comment this comment is a reply to""" + replyTo: DiscussionComment - """ - Recovery codes that can be used by admins to access the enterprise if the identity provider is unavailable. - """ - recoveryCodes: [String!] + """The path for this discussion comment.""" + resourcePath: URI! - """ - The signature algorithm used to sign SAML requests for the identity provider. - """ - signatureMethod: SamlSignatureAlgorithm + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The URL endpoint for the identity provider's SAML SSO.""" - ssoUrl: URI -} + """Number of upvotes that this subject has received.""" + upvoteCount: Int! -"""An object that is a member of an enterprise.""" -union EnterpriseMember = EnterpriseUserAccount | User + """The URL for this discussion comment.""" + url: URI! -"""The connection type for EnterpriseMember.""" -type EnterpriseMemberConnection { - """A list of edges.""" - edges: [EnterpriseMemberEdge] + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A list of nodes.""" - nodes: [EnterpriseMember] + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection -""" -A User who is a member of an enterprise through one or more organizations. -""" -type EnterpriseMemberEdge { - """A cursor for use in pagination.""" - cursor: String! + """Check if the current viewer can delete this object.""" + viewerCanDelete: Boolean! - """The item at the end of the edge.""" - node: EnterpriseMember -} + """Can the current user mark this comment as an answer?""" + viewerCanMarkAsAnswer: Boolean! -"""Ordering options for enterprise member connections.""" -input EnterpriseMemberOrder { - """The field to order enterprise members by.""" - field: EnterpriseMemberOrderField! + """Check if the current viewer can minimize this object.""" + viewerCanMinimize: Boolean! - """The ordering direction.""" - direction: OrderDirection! -} + """Can user react to this subject""" + viewerCanReact: Boolean! -"""Properties by which enterprise member connections can be ordered.""" -enum EnterpriseMemberOrderField { - """Order enterprise members by login""" - LOGIN + """Can the current user unmark this comment as an answer?""" + viewerCanUnmarkAsAnswer: Boolean! - """Order enterprise members by creation time""" - CREATED_AT -} + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! -""" -The possible values for the enterprise members can create repositories setting. -""" -enum EnterpriseMembersCanCreateRepositoriesSettingValue { """ - Organization administrators choose whether to allow members to create repositories. + Whether or not the current user can add or remove an upvote on this subject. """ - NO_POLICY - - """Members will be able to create public and private repositories.""" - ALL - - """Members will be able to create only public repositories.""" - PUBLIC - - """Members will be able to create only private repositories.""" - PRIVATE + viewerCanUpvote: Boolean! - """Members will not be able to create public or private repositories.""" - DISABLED -} + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! -"""The possible values for the members can make purchases setting.""" -enum EnterpriseMembersCanMakePurchasesSettingValue { - """The setting is enabled for organizations in the enterprise.""" - ENABLED + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! - """The setting is disabled for organizations in the enterprise.""" - DISABLED + """Whether or not the current user has already upvoted this subject.""" + viewerHasUpvoted: Boolean! } -"""The connection type for Organization.""" -type EnterpriseOrganizationMembershipConnection { +"""The connection type for DiscussionComment.""" +type DiscussionCommentConnection { """A list of edges.""" - edges: [EnterpriseOrganizationMembershipEdge] + edges: [DiscussionCommentEdge] """A list of nodes.""" - nodes: [Organization] + nodes: [DiscussionComment] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -4815,25 +6929,22 @@ type EnterpriseOrganizationMembershipConnection { totalCount: Int! } -"""An enterprise organization that a user is a member of.""" -type EnterpriseOrganizationMembershipEdge { +"""An edge in a connection.""" +type DiscussionCommentEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: Organization - - """The role of the user in the enterprise membership.""" - role: EnterpriseUserAccountMembershipRole! + node: DiscussionComment } -"""The connection type for User.""" -type EnterpriseOutsideCollaboratorConnection { +"""The connection type for Discussion.""" +type DiscussionConnection { """A list of edges.""" - edges: [EnterpriseOutsideCollaboratorEdge] + edges: [DiscussionEdge] """A list of nodes.""" - nodes: [User] + nodes: [Discussion] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -4842,18 +6953,41 @@ type EnterpriseOutsideCollaboratorConnection { totalCount: Int! } -""" -A User who is an outside collaborator of an enterprise through one or more organizations. -""" -type EnterpriseOutsideCollaboratorEdge { +"""An edge in a connection.""" +type DiscussionEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: User + node: Discussion +} - """The enterprise organization repositories this user is a member of.""" - repositories( +"""Ways in which lists of discussions can be ordered upon return.""" +input DiscussionOrder { + """The field by which to order discussions.""" + field: DiscussionOrderField! + + """The direction in which to order discussions by the specified field.""" + direction: OrderDirection! +} + +"""Properties by which discussion connections can be ordered.""" +enum DiscussionOrderField { + """Order discussions by creation time.""" + CREATED_AT + + """Order discussions by most recent modification time.""" + UPDATED_AT +} + +"""A poll for a discussion.""" +type DiscussionPoll implements Node { + """The discussion that this poll belongs to.""" + discussion: Discussion + id: ID! + + """The options for this poll.""" + options( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -4868,195 +7002,172 @@ type EnterpriseOutsideCollaboratorEdge { """Returns the last _n_ elements from the list.""" last: Int - """Ordering options for repositories.""" - orderBy: RepositoryOrder = {field: NAME, direction: ASC} - ): EnterpriseRepositoryInfoConnection! -} - -"""Enterprise information only visible to enterprise owners.""" -type EnterpriseOwnerInfo { - """A list of all of the administrators for this enterprise.""" - admins( - """The search string to look for.""" - query: String + """How to order the options for the discussion poll.""" + orderBy: DiscussionPollOptionOrder = {field: AUTHORED_ORDER, direction: ASC} + ): DiscussionPollOptionConnection - """The role to filter by.""" - role: EnterpriseAdministratorRole - - """Ordering options for administrators returned from the connection.""" - orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + """The question that is being asked by this poll.""" + question: String! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The total number of votes that have been cast for this poll.""" + totalVoteCount: Int! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Indicates if the viewer has permission to vote in this poll.""" + viewerCanVote: Boolean! - """Returns the first _n_ elements from the list.""" - first: Int + """Indicates if the viewer has voted for any option in this poll.""" + viewerHasVoted: Boolean! +} - """Returns the last _n_ elements from the list.""" - last: Int - ): EnterpriseAdministratorConnection! +"""An option for a discussion poll.""" +type DiscussionPollOption implements Node { + id: ID! - """ - A list of users in the enterprise who currently have two-factor authentication disabled. - """ - affiliatedUsersWithTwoFactorDisabled( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The text for this option.""" + option: String! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The discussion poll that this option belongs to.""" + poll: DiscussionPoll - """Returns the first _n_ elements from the list.""" - first: Int + """The total number of votes that have been cast for this option.""" + totalVoteCount: Int! - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """Indicates if the viewer has voted for this option in the poll.""" + viewerHasVoted: Boolean! +} - """ - Whether or not affiliated users with two-factor authentication disabled exist in the enterprise. - """ - affiliatedUsersWithTwoFactorDisabledExist: Boolean! +"""The connection type for DiscussionPollOption.""" +type DiscussionPollOptionConnection { + """A list of edges.""" + edges: [DiscussionPollOptionEdge] - """ - The setting value for whether private repository forking is enabled for repositories in organizations in this enterprise. - """ - allowPrivateRepositoryForkingSetting: EnterpriseEnabledDisabledSettingValue! + """A list of nodes.""" + nodes: [DiscussionPollOption] - """ - A list of enterprise organizations configured with the provided private repository forking setting value. - """ - allowPrivateRepositoryForkingSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Returns the first _n_ elements from the list.""" - first: Int +"""An edge in a connection.""" +type DiscussionPollOptionEdge { + """A cursor for use in pagination.""" + cursor: String! - """Returns the last _n_ elements from the list.""" - last: Int + """The item at the end of the edge.""" + node: DiscussionPollOption +} - """The setting value to find organizations for.""" - value: Boolean! +"""Ordering options for discussion poll option connections.""" +input DiscussionPollOptionOrder { + """The field to order poll options by.""" + field: DiscussionPollOptionOrderField! - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """The ordering direction.""" + direction: OrderDirection! +} +"""Properties by which discussion poll option connections can be ordered.""" +enum DiscussionPollOptionOrderField { """ - The setting value for base repository permissions for organizations in this enterprise. + Order poll options by the order that the poll author specified when creating the poll. """ - defaultRepositoryPermissionSetting: EnterpriseDefaultRepositoryPermissionSettingValue! + AUTHORED_ORDER - """ - A list of enterprise organizations configured with the provided default repository permission. - """ - defaultRepositoryPermissionSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Order poll options by the number of votes it has.""" + VOTE_COUNT +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The possible states of a discussion.""" +enum DiscussionState { + """A discussion that is open""" + OPEN - """Returns the first _n_ elements from the list.""" - first: Int + """A discussion that has been closed""" + CLOSED +} - """Returns the last _n_ elements from the list.""" - last: Int +"""The possible state reasons of a discussion.""" +enum DiscussionStateReason { + """The discussion has been resolved""" + RESOLVED - """The permission to find organizations for.""" - value: DefaultRepositoryPermissionField! + """The discussion is no longer relevant""" + OUTDATED - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """The discussion is a duplicate of another""" + DUPLICATE - """Enterprise Server installations owned by the enterprise.""" - enterpriseServerInstallations( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The discussion was reopened""" + REOPENED +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""Autogenerated input type of DismissPullRequestReview""" +input DismissPullRequestReviewInput { + """The Node ID of the pull request review to modify.""" + pullRequestReviewId: ID! - """Returns the first _n_ elements from the list.""" - first: Int + """The contents of the pull request review dismissal message.""" + message: String! - """Returns the last _n_ elements from the list.""" - last: Int + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """ - Whether or not to only return installations discovered via GitHub Connect. - """ - connectedOnly: Boolean = false +"""Autogenerated return type of DismissPullRequestReview""" +type DismissPullRequestReviewPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Ordering options for Enterprise Server installations returned.""" - orderBy: EnterpriseServerInstallationOrder = {field: HOST_NAME, direction: ASC} - ): EnterpriseServerInstallationConnection! + """The dismissed pull request review.""" + pullRequestReview: PullRequestReview +} - """ - The setting value for whether the enterprise has an IP allow list enabled. - """ - ipAllowListEnabledSetting: IpAllowListEnabledSettingValue! +"""The possible reasons that a Dependabot alert was dismissed.""" +enum DismissReason { + """A fix has already been started""" + FIX_STARTED - """ - The IP addresses that are allowed to access resources owned by the enterprise. - """ - ipAllowListEntries( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """No bandwidth to fix this""" + NO_BANDWIDTH - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Risk is tolerable to this project""" + TOLERABLE_RISK - """Returns the first _n_ elements from the list.""" - first: Int + """This alert is inaccurate or incorrect""" + INACCURATE - """Returns the last _n_ elements from the list.""" - last: Int + """Vulnerable code is not actually used""" + NOT_USED +} - """Ordering options for IP allow list entries returned.""" - orderBy: IpAllowListEntryOrder = {field: ALLOW_LIST_VALUE, direction: ASC} - ): IpAllowListEntryConnection! +"""Autogenerated input type of DismissRepositoryVulnerabilityAlert""" +input DismissRepositoryVulnerabilityAlertInput { + """The Dependabot alert ID to dismiss.""" + repositoryVulnerabilityAlertId: ID! - """ - Whether or not the default repository permission is currently being updated. - """ - isUpdatingDefaultRepositoryPermission: Boolean! + """The reason the Dependabot alert is being dismissed.""" + dismissReason: DismissReason! - """ - Whether the two-factor authentication requirement is currently being enforced. - """ - isUpdatingTwoFactorRequirement: Boolean! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """ - The setting value for whether organization members with admin permissions on a - repository can change repository visibility. - """ - membersCanChangeRepositoryVisibilitySetting: EnterpriseEnabledDisabledSettingValue! +"""Autogenerated return type of DismissRepositoryVulnerabilityAlert""" +type DismissRepositoryVulnerabilityAlertPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """ - A list of enterprise organizations configured with the provided can change repository visibility setting value. - """ - membersCanChangeRepositoryVisibilitySettingOrganizations( + """The Dependabot alert that was dismissed""" + repositoryVulnerabilityAlert: RepositoryVulnerabilityAlert +} + +"""A draft issue within a project.""" +type DraftIssue implements Node { + """A list of users to assigned to this draft issue.""" + assignees( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -5070,38 +7181,28 @@ type EnterpriseOwnerInfo { """Returns the last _n_ elements from the list.""" last: Int + ): UserConnection! - """The setting value to find organizations for.""" - value: Boolean! - - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """The body of the draft issue.""" + body: String! - """ - The setting value for whether members of organizations in the enterprise can create internal repositories. - """ - membersCanCreateInternalRepositoriesSetting: Boolean + """The body of the draft issue rendered to HTML.""" + bodyHTML: HTML! - """ - The setting value for whether members of organizations in the enterprise can create private repositories. - """ - membersCanCreatePrivateRepositoriesSetting: Boolean + """The body of the draft issue rendered to text.""" + bodyText: String! - """ - The setting value for whether members of organizations in the enterprise can create public repositories. - """ - membersCanCreatePublicRepositoriesSetting: Boolean + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """ - The setting value for whether members of organizations in the enterprise can create repositories. - """ - membersCanCreateRepositoriesSetting: EnterpriseMembersCanCreateRepositoriesSettingValue + """The actor who created this draft issue.""" + creator: Actor + id: ID! """ - A list of enterprise organizations configured with the provided repository creation setting value. + List of items linked with the draft issue (currently draft issue can be linked to only one item). """ - membersCanCreateRepositoriesSettingOrganizations( + projectV2Items( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -5115,23 +7216,12 @@ type EnterpriseOwnerInfo { """Returns the last _n_ elements from the list.""" last: Int - - """The setting to find organizations for.""" - value: OrganizationMembersCanCreateRepositoriesSettingValue! - - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + ): ProjectV2ItemConnection! """ - The setting value for whether members with admin permissions for repositories can delete issues. - """ - membersCanDeleteIssuesSetting: EnterpriseEnabledDisabledSettingValue! - + Projects that link to this draft issue (currently draft issue can be linked to only one project). """ - A list of enterprise organizations configured with the provided members can delete issues setting value. - """ - membersCanDeleteIssuesSettingOrganizations( + projectsV2( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -5145,186 +7235,185 @@ type EnterpriseOwnerInfo { """Returns the last _n_ elements from the list.""" last: Int + ): ProjectV2Connection! - """The setting value to find organizations for.""" - value: Boolean! + """The title of the draft issue""" + title: String! - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """ - The setting value for whether members with admin permissions for repositories can delete or transfer repositories. - """ - membersCanDeleteRepositoriesSetting: EnterpriseEnabledDisabledSettingValue! +"""Specifies a review comment to be left with a Pull Request Review.""" +input DraftPullRequestReviewComment { + """Path to the file being commented on.""" + path: String! - """ - A list of enterprise organizations configured with the provided members can delete repositories setting value. - """ - membersCanDeleteRepositoriesSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int + """Position in the file to leave a comment on.""" + position: Int! - """The setting value to find organizations for.""" - value: Boolean! + """Body of the comment to leave.""" + body: String! +} - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! +""" +Specifies a review comment thread to be left with a Pull Request Review. +""" +input DraftPullRequestReviewThread { + """Path to the file being commented on.""" + path: String! """ - The setting value for whether members of organizations in the enterprise can invite outside collaborators. + The line of the blob to which the thread refers. The end of the line range for multi-line comments. """ - membersCanInviteCollaboratorsSetting: EnterpriseEnabledDisabledSettingValue! + line: Int! """ - A list of enterprise organizations configured with the provided members can invite collaborators setting value. + 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. """ - membersCanInviteCollaboratorsSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + side: DiffSide = RIGHT - """Returns the first _n_ elements from the list.""" - first: Int + """The first line of the range to which the comment refers.""" + startLine: Int - """Returns the last _n_ elements from the list.""" - last: Int + """The side of the diff on which the start line resides.""" + startSide: DiffSide = RIGHT - """The setting value to find organizations for.""" - value: Boolean! + """Body of the comment to leave.""" + body: String! +} - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! +"""Autogenerated input type of EnablePullRequestAutoMerge""" +input EnablePullRequestAutoMergeInput { + """ID of the pull request to enable auto-merge on.""" + pullRequestId: ID! """ - Indicates whether members of this enterprise's organizations can purchase additional services for those organizations. + Commit headline to use for the commit when the PR is mergable; if omitted, a + default message will be used. NOTE: when merging with a merge queue any input + value for commit headline is ignored. """ - membersCanMakePurchasesSetting: EnterpriseMembersCanMakePurchasesSettingValue! + commitHeadline: String """ - The setting value for whether members with admin permissions for repositories can update protected branches. + Commit body to use for the commit when the PR is mergable; if omitted, a + default message will be used. NOTE: when merging with a merge queue any input + value for commit message is ignored. """ - membersCanUpdateProtectedBranchesSetting: EnterpriseEnabledDisabledSettingValue! + commitBody: String """ - A list of enterprise organizations configured with the provided members can update protected branches setting value. + The merge method to use. If omitted, defaults to `MERGE`. NOTE: when merging + with a merge queue any input value for merge method is ignored. """ - membersCanUpdateProtectedBranchesSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String + mergeMethod: PullRequestMergeMethod = MERGE - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The email address to associate with this merge.""" + authorEmail: String - """Returns the first _n_ elements from the list.""" - first: Int + """The expected head OID of the pull request.""" + expectedHeadOid: GitObjectID - """Returns the last _n_ elements from the list.""" - last: Int + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The setting value to find organizations for.""" - value: Boolean! +"""Autogenerated return type of EnablePullRequestAutoMerge""" +type EnablePullRequestAutoMergePayload { + """Identifies the actor who performed the event.""" + actor: Actor - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The setting value for whether members can view dependency insights.""" - membersCanViewDependencyInsightsSetting: EnterpriseEnabledDisabledSettingValue! + """The pull request auto-merge was enabled on.""" + pullRequest: PullRequest +} - """ - A list of enterprise organizations configured with the provided members can view dependency insights setting value. - """ - membersCanViewDependencyInsightsSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Autogenerated input type of EnqueuePullRequest""" +input EnqueuePullRequestInput { + """The ID of the pull request to enqueue.""" + pullRequestId: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Add the pull request to the front of the queue.""" + jump: Boolean - """Returns the first _n_ elements from the list.""" - first: Int + """The expected head OID of the pull request.""" + expectedHeadOid: GitObjectID - """Returns the last _n_ elements from the list.""" - last: Int + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The setting value to find organizations for.""" - value: Boolean! +"""Autogenerated return type of EnqueuePullRequest""" +type EnqueuePullRequestPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """The merge queue entry for the enqueued pull request.""" + mergeQueueEntry: MergeQueueEntry +} - """ - The setting value for whether organization projects are enabled for organizations in this enterprise. - """ - organizationProjectsSetting: EnterpriseEnabledDisabledSettingValue! +""" +An account to manage multiple organizations with consolidated policy and billing. +""" +type Enterprise implements Node & AnnouncementBanner { + """The text of the announcement""" + announcement: String - """ - A list of enterprise organizations configured with the provided organization projects setting value. - """ - organizationProjectsSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The expiration date of the announcement, if any""" + announcementExpiresAt: DateTime - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Whether the announcement can be dismissed by the user""" + announcementUserDismissible: Boolean - """Returns the first _n_ elements from the list.""" - first: Int + """A URL pointing to the enterprise's public avatar.""" + avatarUrl( + """The size of the resulting square image.""" + size: Int + ): URI! - """Returns the last _n_ elements from the list.""" - last: Int + """Enterprise billing information visible to enterprise billing managers.""" + billingInfo: EnterpriseBillingInfo - """The setting value to find organizations for.""" - value: Boolean! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! + """Identifies the primary key from the database.""" + databaseId: Int - """ - A list of outside collaborators across the repositories in the enterprise. - """ - outsideCollaborators( - """The login of one specific outside collaborator.""" - login: String + """The description of the enterprise.""" + description: String + + """The description of the enterprise as HTML.""" + descriptionHTML: HTML! + id: ID! + + """The location of the enterprise.""" + location: String + + """A list of users who are members of this enterprise.""" + members( + """Only return members within the organizations with these logins""" + organizationLogins: [String!] """The search string to look for.""" query: String - """ - Ordering options for outside collaborators returned from the connection. - """ + """Ordering options for members returned from the connection.""" orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + """The role of the user in the enterprise organization or server.""" + role: EnterpriseUserAccountMembershipRole + + """Only return members within the selected GitHub Enterprise deployment""" + deployment: EnterpriseUserDeployment + """ - Only return outside collaborators on repositories with this visibility. + Only return members with this two-factor authentication status. Does not + include members who only have an account on a GitHub Enterprise Server instance. """ - visibility: RepositoryVisibility + hasTwoFactorEnabled: Boolean = null """Returns the elements in the list that come after the specified cursor.""" after: String @@ -5339,20 +7428,21 @@ type EnterpriseOwnerInfo { """Returns the last _n_ elements from the list.""" last: Int - ): EnterpriseOutsideCollaboratorConnection! + ): EnterpriseMemberConnection! - """A list of pending administrator invitations for the enterprise.""" - pendingAdminInvitations( + """The name of the enterprise.""" + name: String! + + """A list of organizations that belong to this enterprise.""" + organizations( """The search string to look for.""" query: String - """ - Ordering options for pending enterprise administrator invitations returned from the connection. - """ - orderBy: EnterpriseAdministratorInvitationOrder = {field: CREATED_AT, direction: DESC} + """The viewer's role in an organization.""" + viewerOrganizationRole: RoleInOrganization - """The role to filter by.""" - role: EnterpriseAdministratorRole + """Ordering options for organizations returned from the connection.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} """Returns the elements in the list that come after the specified cursor.""" after: String @@ -5367,180 +7457,31 @@ type EnterpriseOwnerInfo { """Returns the last _n_ elements from the list.""" last: Int - ): EnterpriseAdministratorInvitationConnection! + ): OrganizationConnection! - """ - A list of pending collaborator invitations across the repositories in the enterprise. - """ - pendingCollaboratorInvitations( - """The search string to look for.""" - query: String + """Enterprise information only visible to enterprise owners.""" + ownerInfo: EnterpriseOwnerInfo - """ - Ordering options for pending repository collaborator invitations returned from the connection. - """ - orderBy: RepositoryInvitationOrder = {field: CREATED_AT, direction: DESC} + """The HTTP path for this enterprise.""" + resourcePath: URI! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The URL-friendly identifier for the enterprise.""" + slug: String! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP URL for this enterprise.""" + url: URI! - """Returns the first _n_ elements from the list.""" - first: Int + """Is the current viewer an admin of this enterprise?""" + viewerIsAdmin: Boolean! - """Returns the last _n_ elements from the list.""" - last: Int - ): RepositoryInvitationConnection! - - """ - A list of pending member invitations for organizations in the enterprise. - """ - pendingMemberInvitations( - """The search string to look for.""" - query: String - - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - ): 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( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - - """The setting value to find organizations for.""" - value: Boolean! - - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! - - """The SAML Identity Provider for the enterprise.""" - samlIdentityProvider: EnterpriseIdentityProvider - - """ - A list of enterprise organizations configured with the SAML single sign-on setting value. - """ - samlIdentityProviderSettingOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - - """The setting value to find organizations for.""" - value: IdentityProviderConfigurationState! - - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! - - """ - 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( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - - """The setting value to find organizations for.""" - value: Boolean! - - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): 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( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - - """The setting value to find organizations for.""" - value: Boolean! - - """Ordering options for organizations with this setting.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} - ): OrganizationConnection! -} + """The URL of the enterprise website.""" + websiteUrl: URI +} """The connection type for User.""" -type EnterprisePendingCollaboratorConnection { +type EnterpriseAdministratorConnection { """A list of edges.""" - edges: [EnterprisePendingCollaboratorEdge] + edges: [EnterpriseAdministratorEdge] """A list of nodes.""" nodes: [User] @@ -5552,225 +7493,282 @@ type EnterprisePendingCollaboratorConnection { totalCount: Int! } -""" -A user with an invitation to be a collaborator on a repository owned by an organization in an enterprise. -""" -type EnterprisePendingCollaboratorEdge { +"""A User who is an administrator of an enterprise.""" +type EnterpriseAdministratorEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" node: User - """The enterprise organization repositories this user is a member of.""" - repositories( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The role of the administrator.""" + role: EnterpriseAdministratorRole! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +An invitation for a user to become an owner or billing manager of an enterprise. +""" +type EnterpriseAdministratorInvitation implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Returns the first _n_ elements from the list.""" - first: Int + """The email of the person who was invited to the enterprise.""" + email: String - """Returns the last _n_ elements from the list.""" - last: Int + """The enterprise the invitation is for.""" + enterprise: Enterprise! + id: ID! - """Ordering options for repositories.""" - orderBy: RepositoryOrder = {field: NAME, direction: ASC} - ): EnterpriseRepositoryInfoConnection! + """The user who was invited to the enterprise.""" + invitee: User + + """The user who created the invitation.""" + inviter: User + + """ + The invitee's pending role in the enterprise (owner or billing_manager). + """ + role: EnterpriseAdministratorRole! } -"""The connection type for OrganizationInvitation.""" -type EnterprisePendingMemberInvitationConnection { +"""The connection type for EnterpriseAdministratorInvitation.""" +type EnterpriseAdministratorInvitationConnection { """A list of edges.""" - edges: [EnterprisePendingMemberInvitationEdge] + edges: [EnterpriseAdministratorInvitationEdge] """A list of nodes.""" - nodes: [OrganizationInvitation] + nodes: [EnterpriseAdministratorInvitation] """Information to aid in pagination.""" pageInfo: PageInfo! """Identifies the total count of items in the connection.""" totalCount: Int! - - """Identifies the total count of unique users in the connection.""" - totalUniqueUserCount: Int! } -"""An invitation to be a member in an enterprise organization.""" -type EnterprisePendingMemberInvitationEdge { +"""An edge in a connection.""" +type EnterpriseAdministratorInvitationEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: OrganizationInvitation + node: EnterpriseAdministratorInvitation } -"""A subset of repository information queryable from an enterprise.""" -type EnterpriseRepositoryInfo implements Node { - id: ID! +"""Ordering options for enterprise administrator invitation connections""" +input EnterpriseAdministratorInvitationOrder { + """The field to order enterprise administrator invitations by.""" + field: EnterpriseAdministratorInvitationOrderField! - """Identifies if the repository is private.""" - isPrivate: Boolean! + """The ordering direction.""" + direction: OrderDirection! +} - """The repository's name.""" - name: String! +""" +Properties by which enterprise administrator invitation connections can be ordered. +""" +enum EnterpriseAdministratorInvitationOrderField { + """Order enterprise administrator member invitations by creation time""" + CREATED_AT +} - """The repository's name with owner.""" - nameWithOwner: String! +"""The possible administrator roles in an enterprise account.""" +enum EnterpriseAdministratorRole { + """Represents an owner of the enterprise account.""" + OWNER + + """Represents a billing manager of the enterprise account.""" + BILLING_MANAGER } -"""The connection type for EnterpriseRepositoryInfo.""" -type EnterpriseRepositoryInfoConnection { - """A list of edges.""" - edges: [EnterpriseRepositoryInfoEdge] +""" +The possible values for the enterprise allow private repository forking policy value. +""" +enum EnterpriseAllowPrivateRepositoryForkingPolicyValue { + """ + Members can fork a repository to an organization within this enterprise. + """ + ENTERPRISE_ORGANIZATIONS - """A list of nodes.""" - nodes: [EnterpriseRepositoryInfo] + """ + Members can fork a repository only within the same organization (intra-org). + """ + SAME_ORGANIZATION - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + Members can fork a repository to their user account or within the same organization. + """ + SAME_ORGANIZATION_USER_ACCOUNTS - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """ + Members can fork a repository to their enterprise-managed user account or an organization inside this enterprise. + """ + ENTERPRISE_ORGANIZATIONS_USER_ACCOUNTS -"""An edge in a connection.""" -type EnterpriseRepositoryInfoEdge { - """A cursor for use in pagination.""" - cursor: String! + """Members can fork a repository to their user account.""" + USER_ACCOUNTS - """The item at the end of the edge.""" - node: EnterpriseRepositoryInfo + """ + Members can fork a repository to their user account or an organization, either inside or outside of this enterprise. + """ + EVERYWHERE } -"""An Enterprise Server installation.""" -type EnterpriseServerInstallation implements Node { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! +"""Metadata for an audit entry containing enterprise account information.""" +interface EnterpriseAuditEntryData { + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI - """The customer name to which the Enterprise Server installation belongs.""" - customerName: String! + """The slug of the enterprise.""" + enterpriseSlug: String - """The host name of the Enterprise Server installation.""" - hostName: String! - id: ID! + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI +} + +""" +Enterprise billing information visible to enterprise billing managers and owners. +""" +type EnterpriseBillingInfo { + """The number of licenseable users/emails across the enterprise.""" + allLicensableUsersCount: Int! """ - Whether or not the installation is connected to an Enterprise Server installation via GitHub Connect. + The number of data packs used by all organizations owned by the enterprise. """ - isConnected: Boolean! + assetPacks: Int! - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """ + The bandwidth quota in GB for all organizations owned by the enterprise. + """ + bandwidthQuota: Float! - """User accounts on this Enterprise Server installation.""" - userAccounts( - """ - Ordering options for Enterprise Server user accounts returned from the connection. - """ - orderBy: EnterpriseServerUserAccountOrder = {field: LOGIN, direction: ASC} + """ + The bandwidth usage in GB for all organizations owned by the enterprise. + """ + bandwidthUsage: Float! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The bandwidth usage as a percentage of the bandwidth quota.""" + bandwidthUsagePercentage: Int! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The storage quota in GB for all organizations owned by the enterprise.""" + storageQuota: Float! - """Returns the first _n_ elements from the list.""" - first: Int + """The storage usage in GB for all organizations owned by the enterprise.""" + storageUsage: Float! - """Returns the last _n_ elements from the list.""" - last: Int - ): EnterpriseServerUserAccountConnection! + """The storage usage as a percentage of the storage quota.""" + storageUsagePercentage: Int! - """User accounts uploads for the Enterprise Server installation.""" - userAccountsUploads( - """ - Ordering options for Enterprise Server user accounts uploads returned from the connection. - """ - orderBy: EnterpriseServerUserAccountsUploadOrder = {field: CREATED_AT, direction: DESC} + """ + The number of available licenses across all owned organizations based on the unique number of billable users. + """ + totalAvailableLicenses: Int! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The total number of licenses allocated.""" + totalLicenses: Int! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +The possible values for the enterprise base repository permission setting. +""" +enum EnterpriseDefaultRepositoryPermissionSettingValue { + """ + Organizations in the enterprise choose base repository permissions for their members. + """ + NO_POLICY - """Returns the first _n_ elements from the list.""" - first: Int + """ + Organization members will be able to clone, pull, push, and add new collaborators to all organization repositories. + """ + ADMIN - """Returns the last _n_ elements from the list.""" - last: Int - ): EnterpriseServerUserAccountsUploadConnection! + """ + Organization members will be able to clone, pull, and push all organization repositories. + """ + WRITE + + """ + Organization members will be able to clone and pull all organization repositories. + """ + READ + + """ + Organization members will only be able to clone and pull public repositories. + """ + NONE } -"""The connection type for EnterpriseServerInstallation.""" -type EnterpriseServerInstallationConnection { +"""The possible values for an enabled/disabled enterprise setting.""" +enum EnterpriseEnabledDisabledSettingValue { + """The setting is enabled for organizations in the enterprise.""" + ENABLED + + """The setting is disabled for organizations in the enterprise.""" + DISABLED + + """There is no policy set for organizations in the enterprise.""" + NO_POLICY +} + +"""The possible values for an enabled/no policy enterprise setting.""" +enum EnterpriseEnabledSettingValue { + """The setting is enabled for organizations in the enterprise.""" + ENABLED + + """There is no policy set for organizations in the enterprise.""" + NO_POLICY +} + +"""The connection type for OrganizationInvitation.""" +type EnterpriseFailedInvitationConnection { """A list of edges.""" - edges: [EnterpriseServerInstallationEdge] + edges: [EnterpriseFailedInvitationEdge] """A list of nodes.""" - nodes: [EnterpriseServerInstallation] + nodes: [OrganizationInvitation] """Information to aid in pagination.""" pageInfo: PageInfo! """Identifies the total count of items in the connection.""" totalCount: Int! + + """Identifies the total count of unique users in the connection.""" + totalUniqueUserCount: Int! } -"""An edge in a connection.""" -type EnterpriseServerInstallationEdge { +"""A failed invitation to be a member in an enterprise organization.""" +type EnterpriseFailedInvitationEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: EnterpriseServerInstallation -} - -"""Ordering options for Enterprise Server installation connections.""" -input EnterpriseServerInstallationOrder { - """The field to order Enterprise Server installations by.""" - field: EnterpriseServerInstallationOrderField! - - """The ordering direction.""" - direction: OrderDirection! + node: OrganizationInvitation } """ -Properties by which Enterprise Server installation connections can be ordered. +An identity provider configured to provision identities for an enterprise. """ -enum EnterpriseServerInstallationOrderField { - """Order Enterprise Server installations by host name""" - HOST_NAME +type EnterpriseIdentityProvider implements Node { + """ + The digest algorithm used to sign SAML requests for the identity provider. + """ + digestMethod: SamlDigestAlgorithm - """Order Enterprise Server installations by customer name""" - CUSTOMER_NAME + """The enterprise this identity provider belongs to.""" + enterprise: Enterprise - """Order Enterprise Server installations by creation time""" - CREATED_AT -} + """ExternalIdentities provisioned by this identity provider.""" + externalIdentities( + """Filter to external identities with valid org membership only""" + membersOnly: Boolean -"""A user account on an Enterprise Server installation.""" -type EnterpriseServerUserAccount implements Node { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Filter to external identities with the users login""" + login: String - """User emails belonging to this user account.""" - emails( - """ - Ordering options for Enterprise Server user account emails returned from the connection. - """ - orderBy: EnterpriseServerUserAccountEmailOrder = {field: EMAIL, direction: ASC} + """Filter to external identities with the users userName/NameID attribute""" + userName: String """Returns the elements in the list that come after the specified cursor.""" after: String @@ -5785,44 +7783,41 @@ type EnterpriseServerUserAccount implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): EnterpriseServerUserAccountEmailConnection! - - """The Enterprise Server installation on which this user account exists.""" - enterpriseServerInstallation: EnterpriseServerInstallation! + ): ExternalIdentityConnection! id: ID! """ - Whether the user account is a site administrator on the Enterprise Server installation. + The x509 certificate used by the identity provider to sign assertions and responses. """ - isSiteAdmin: Boolean! + idpCertificate: X509Certificate - """The login of the user account on the Enterprise Server installation.""" - login: String! + """The Issuer Entity ID for the SAML identity provider.""" + issuer: String """ - The profile name of the user account on the Enterprise Server installation. + Recovery codes that can be used by admins to access the enterprise if the identity provider is unavailable. """ - profileName: String + recoveryCodes: [String!] """ - The date and time when the user account was created on the Enterprise Server installation. + The signature algorithm used to sign SAML requests for the identity provider. """ - remoteCreatedAt: DateTime! - - """The ID of the user account on the Enterprise Server installation.""" - remoteUserId: Int! + signatureMethod: SamlSignatureAlgorithm - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The URL endpoint for the identity provider's SAML SSO.""" + ssoUrl: URI } -"""The connection type for EnterpriseServerUserAccount.""" -type EnterpriseServerUserAccountConnection { +"""An object that is a member of an enterprise.""" +union EnterpriseMember = EnterpriseUserAccount | User + +"""The connection type for EnterpriseMember.""" +type EnterpriseMemberConnection { """A list of edges.""" - edges: [EnterpriseServerUserAccountEdge] + edges: [EnterpriseMemberEdge] """A list of nodes.""" - nodes: [EnterpriseServerUserAccount] + nodes: [EnterpriseMember] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -5831,132 +7826,73 @@ type EnterpriseServerUserAccountConnection { totalCount: Int! } -"""An edge in a connection.""" -type EnterpriseServerUserAccountEdge { +""" +A User who is a member of an enterprise through one or more organizations. +""" +type EnterpriseMemberEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: EnterpriseServerUserAccount + node: EnterpriseMember } -""" -An email belonging to a user account on an Enterprise Server installation. -""" -type EnterpriseServerUserAccountEmail implements Node { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! +"""Ordering options for enterprise member connections.""" +input EnterpriseMemberOrder { + """The field to order enterprise members by.""" + field: EnterpriseMemberOrderField! - """The email address.""" - email: String! - id: ID! + """The ordering direction.""" + direction: OrderDirection! +} - """ - Indicates whether this is the primary email of the associated user account. - """ - isPrimary: Boolean! +"""Properties by which enterprise member connections can be ordered.""" +enum EnterpriseMemberOrderField { + """Order enterprise members by login""" + LOGIN - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! - - """The user account to which the email belongs.""" - userAccount: EnterpriseServerUserAccount! -} - -"""The connection type for EnterpriseServerUserAccountEmail.""" -type EnterpriseServerUserAccountEmailConnection { - """A list of edges.""" - edges: [EnterpriseServerUserAccountEmailEdge] - - """A list of nodes.""" - nodes: [EnterpriseServerUserAccountEmail] - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """Identifies the total count of items in the connection.""" - totalCount: Int! -} - -"""An edge in a connection.""" -type EnterpriseServerUserAccountEmailEdge { - """A cursor for use in pagination.""" - cursor: String! - - """The item at the end of the edge.""" - node: EnterpriseServerUserAccountEmail -} - -"""Ordering options for Enterprise Server user account email connections.""" -input EnterpriseServerUserAccountEmailOrder { - """The field to order emails by.""" - field: EnterpriseServerUserAccountEmailOrderField! - - """The ordering direction.""" - direction: OrderDirection! -} - -""" -Properties by which Enterprise Server user account email connections can be ordered. -""" -enum EnterpriseServerUserAccountEmailOrderField { - """Order emails by email""" - EMAIL -} - -"""Ordering options for Enterprise Server user account connections.""" -input EnterpriseServerUserAccountOrder { - """The field to order user accounts by.""" - field: EnterpriseServerUserAccountOrderField! - - """The ordering direction.""" - direction: OrderDirection! + """Order enterprise members by creation time""" + CREATED_AT } """ -Properties by which Enterprise Server user account connections can be ordered. +The possible values for the enterprise members can create repositories setting. """ -enum EnterpriseServerUserAccountOrderField { - """Order user accounts by login""" - LOGIN - +enum EnterpriseMembersCanCreateRepositoriesSettingValue { """ - Order user accounts by creation time on the Enterprise Server installation + Organization administrators choose whether to allow members to create repositories. """ - REMOTE_CREATED_AT -} + NO_POLICY -"""A user accounts upload from an Enterprise Server installation.""" -type EnterpriseServerUserAccountsUpload implements Node { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Members will be able to create public and private repositories.""" + ALL - """The enterprise to which this upload belongs.""" - enterprise: Enterprise! + """Members will be able to create only public repositories.""" + PUBLIC - """ - The Enterprise Server installation for which this upload was generated. - """ - enterpriseServerInstallation: EnterpriseServerInstallation! - id: ID! + """Members will be able to create only private repositories.""" + PRIVATE - """The name of the file uploaded.""" - name: String! + """Members will not be able to create public or private repositories.""" + DISABLED +} - """The synchronization state of the upload""" - syncState: EnterpriseServerUserAccountsUploadSyncState! +"""The possible values for the members can make purchases setting.""" +enum EnterpriseMembersCanMakePurchasesSettingValue { + """The setting is enabled for organizations in the enterprise.""" + ENABLED - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The setting is disabled for organizations in the enterprise.""" + DISABLED } -"""The connection type for EnterpriseServerUserAccountsUpload.""" -type EnterpriseServerUserAccountsUploadConnection { +"""The connection type for Organization.""" +type EnterpriseOrganizationMembershipConnection { """A list of edges.""" - edges: [EnterpriseServerUserAccountsUploadEdge] + edges: [EnterpriseOrganizationMembershipEdge] """A list of nodes.""" - nodes: [EnterpriseServerUserAccountsUpload] + nodes: [Organization] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -5965,81 +7901,82 @@ type EnterpriseServerUserAccountsUploadConnection { totalCount: Int! } -"""An edge in a connection.""" -type EnterpriseServerUserAccountsUploadEdge { +"""An enterprise organization that a user is a member of.""" +type EnterpriseOrganizationMembershipEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: EnterpriseServerUserAccountsUpload -} - -""" -Ordering options for Enterprise Server user accounts upload connections. -""" -input EnterpriseServerUserAccountsUploadOrder { - """The field to order user accounts uploads by.""" - field: EnterpriseServerUserAccountsUploadOrderField! + node: Organization - """The ordering direction.""" - direction: OrderDirection! + """The role of the user in the enterprise membership.""" + role: EnterpriseUserAccountMembershipRole! } -""" -Properties by which Enterprise Server user accounts upload connections can be ordered. -""" -enum EnterpriseServerUserAccountsUploadOrderField { - """Order user accounts uploads by creation time""" - CREATED_AT -} +"""The connection type for User.""" +type EnterpriseOutsideCollaboratorConnection { + """A list of edges.""" + edges: [EnterpriseOutsideCollaboratorEdge] -"""Synchronization state of the Enterprise Server user accounts upload""" -enum EnterpriseServerUserAccountsUploadSyncState { - """The synchronization of the upload is pending.""" - PENDING + """A list of nodes.""" + nodes: [User] - """The synchronization of the upload succeeded.""" - SUCCESS + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The synchronization of the upload failed.""" - FAILURE + """Identifies the total count of items in the connection.""" + totalCount: Int! } """ -An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations. +A User who is an outside collaborator of an enterprise through one or more organizations. """ -type EnterpriseUserAccount implements Node & Actor { - """A URL pointing to the enterprise user account's public avatar.""" - avatarUrl( - """The size of the resulting square image.""" - size: Int - ): URI! +type EnterpriseOutsideCollaboratorEdge { + """A cursor for use in pagination.""" + cursor: String! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The item at the end of the edge.""" + node: User - """The enterprise in which this user account exists.""" - enterprise: Enterprise! - id: ID! + """The enterprise organization repositories this user is a member of.""" + repositories( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """ - An identifier for the enterprise user account, a login or email address - """ - login: String! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The name of the enterprise user account""" - name: String + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for repositories.""" + orderBy: RepositoryOrder = {field: NAME, direction: ASC} + ): EnterpriseRepositoryInfoConnection! +} + +"""Enterprise information only visible to enterprise owners.""" +type EnterpriseOwnerInfo { + """A list of all of the administrators for this enterprise.""" + admins( + """Only return members within the organizations with these logins""" + organizationLogins: [String!] - """A list of enterprise organizations this user is a member of.""" - organizations( """The search string to look for.""" query: String - """Ordering options for organizations returned from the connection.""" - orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + """The role to filter by.""" + role: EnterpriseAdministratorRole - """The role of the user in the enterprise organization.""" - role: EnterpriseUserAccountMembershipRole + """Ordering options for administrators returned from the connection.""" + orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + + """Only return administrators with this two-factor authentication status.""" + hasTwoFactorEnabled: Boolean = null """Returns the elements in the list that come after the specified cursor.""" after: String @@ -6054,262 +7991,7328 @@ type EnterpriseUserAccount implements Node & Actor { """Returns the last _n_ elements from the list.""" last: Int - ): EnterpriseOrganizationMembershipConnection! + ): EnterpriseAdministratorConnection! - """The HTTP path for this user.""" - resourcePath: URI! + """ + A list of users in the enterprise who currently have two-factor authentication disabled. + """ + affiliatedUsersWithTwoFactorDisabled( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for this user.""" - url: URI! + """Returns the first _n_ elements from the list.""" + first: Int - """The user within the enterprise.""" - user: User -} + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! -"""The connection type for EnterpriseUserAccount.""" -type EnterpriseUserAccountConnection { - """A list of edges.""" - edges: [EnterpriseUserAccountEdge] + """ + Whether or not affiliated users with two-factor authentication disabled exist in the enterprise. + """ + affiliatedUsersWithTwoFactorDisabledExist: Boolean! - """A list of nodes.""" - nodes: [EnterpriseUserAccount] + """ + The setting value for whether private repository forking is enabled for repositories in organizations in this enterprise. + """ + allowPrivateRepositoryForkingSetting: EnterpriseEnabledDisabledSettingValue! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + A list of enterprise organizations configured with the provided private repository forking setting value. + """ + allowPrivateRepositoryForkingSettingOrganizations( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Identifies the total count of items in the connection.""" + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! + + """ + The value for the allow private repository forking policy on the enterprise. + """ + allowPrivateRepositoryForkingSettingPolicyValue: EnterpriseAllowPrivateRepositoryForkingPolicyValue + + """ + 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The permission to find organizations for.""" + value: DefaultRepositoryPermissionField! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! + + """A list of domains owned by the enterprise.""" + domains( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Filter whether or not the domain is verified.""" + isVerified: Boolean = null + + """Filter whether or not the domain is approved.""" + isApproved: Boolean = null + + """Ordering options for verifiable domains returned.""" + orderBy: VerifiableDomainOrder = {field: DOMAIN, direction: ASC} + ): VerifiableDomainConnection! + + """Enterprise Server installations owned by the enterprise.""" + enterpriseServerInstallations( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """ + Whether or not to only return installations discovered via GitHub Connect. + """ + connectedOnly: Boolean = false + + """Ordering options for Enterprise Server installations returned.""" + orderBy: EnterpriseServerInstallationOrder = {field: HOST_NAME, direction: ASC} + ): EnterpriseServerInstallationConnection! + + """A list of failed invitations in the enterprise.""" + failedInvitations( + """The search string to look for.""" + query: String + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseFailedInvitationConnection! + + """ + 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for IP allow list entries returned.""" + orderBy: IpAllowListEntryOrder = {field: ALLOW_LIST_VALUE, direction: ASC} + ): 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: Boolean! + + """ + Whether the two-factor authentication requirement is currently being enforced. + """ + isUpdatingTwoFactorRequirement: 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! + + """ + The setting value for whether members of organizations in the enterprise can create internal repositories. + """ + membersCanCreateInternalRepositoriesSetting: Boolean + + """ + The setting value for whether members of organizations in the enterprise can create private repositories. + """ + membersCanCreatePrivateRepositoriesSetting: Boolean + + """ + The setting value for whether members of organizations in the enterprise can create public repositories. + """ + membersCanCreatePublicRepositoriesSetting: Boolean + + """ + The setting value for whether members of organizations in the enterprise can create repositories. + """ + membersCanCreateRepositoriesSetting: EnterpriseMembersCanCreateRepositoriesSettingValue + + """ + A list of enterprise organizations configured with the provided repository creation setting value. + """ + membersCanCreateRepositoriesSettingOrganizations( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting to find organizations for.""" + value: OrganizationMembersCanCreateRepositoriesSettingValue! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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: OIDCProvider + + """ + 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! + + """ + A list of outside collaborators across the repositories in the enterprise. + """ + outsideCollaborators( + """The login of one specific outside collaborator.""" + login: String + + """The search string to look for.""" + query: String + + """ + Ordering options for outside collaborators returned from the connection. + """ + orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + + """ + Only return outside collaborators on repositories with this visibility. + """ + visibility: RepositoryVisibility + + """ + Only return outside collaborators with this two-factor authentication status. + """ + hasTwoFactorEnabled: Boolean = null + + """ + Only return outside collaborators within the organizations with these logins + """ + organizationLogins: [String!] + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseOutsideCollaboratorConnection! + + """A list of pending administrator invitations for the enterprise.""" + pendingAdminInvitations( + """The search string to look for.""" + query: String + + """ + Ordering options for pending enterprise administrator invitations returned from the connection. + """ + orderBy: EnterpriseAdministratorInvitationOrder = {field: CREATED_AT, direction: DESC} + + """The role to filter by.""" + role: EnterpriseAdministratorRole + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseAdministratorInvitationConnection! + + """ + A list of pending collaborator invitations across the repositories in the enterprise. + """ + pendingCollaboratorInvitations( + """The search string to look for.""" + query: String + + """ + Ordering options for pending repository collaborator invitations returned from the connection. + """ + orderBy: RepositoryInvitationOrder = {field: CREATED_AT, direction: DESC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): RepositoryInvitationConnection! + + """ + A list of pending member invitations for organizations in the enterprise. + """ + pendingMemberInvitations( + """The search string to look for.""" + query: String + + """Only return invitations within the organizations with these logins""" + organizationLogins: [String!] + + """Only return invitations matching this invitation source""" + invitationSource: OrganizationInvitationSource + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! + + """ + The SAML Identity Provider for the enterprise. When used by a GitHub App, + requires an installation token with read and write access to members. + """ + samlIdentityProvider: EnterpriseIdentityProvider + + """ + A list of enterprise organizations configured with the SAML single sign-on setting value. + """ + samlIdentityProviderSettingOrganizations( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: IdentityProviderConfigurationState! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! + + """A list of members with a support entitlement.""" + supportEntitlements( + """ + Ordering options for support entitlement users returned from the connection. + """ + orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): 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( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The setting value to find organizations for.""" + value: Boolean! + + """Ordering options for organizations with this setting.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + ): OrganizationConnection! +} + +"""The connection type for OrganizationInvitation.""" +type EnterprisePendingMemberInvitationConnection { + """A list of edges.""" + edges: [EnterprisePendingMemberInvitationEdge] + + """A list of nodes.""" + nodes: [OrganizationInvitation] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! + + """Identifies the total count of unique users in the connection.""" + totalUniqueUserCount: Int! +} + +"""An invitation to be a member in an enterprise organization.""" +type EnterprisePendingMemberInvitationEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: OrganizationInvitation +} + +"""A subset of repository information queryable from an enterprise.""" +type EnterpriseRepositoryInfo implements Node { + id: ID! + + """Identifies if the repository is private or internal.""" + isPrivate: Boolean! + + """The repository's name.""" + name: String! + + """The repository's name with owner.""" + nameWithOwner: String! +} + +"""The connection type for EnterpriseRepositoryInfo.""" +type EnterpriseRepositoryInfoConnection { + """A list of edges.""" + edges: [EnterpriseRepositoryInfoEdge] + + """A list of nodes.""" + nodes: [EnterpriseRepositoryInfo] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type EnterpriseRepositoryInfoEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: EnterpriseRepositoryInfo +} + +"""An Enterprise Server installation.""" +type EnterpriseServerInstallation implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The customer name to which the Enterprise Server installation belongs.""" + customerName: String! + + """The host name of the Enterprise Server installation.""" + hostName: String! + id: ID! + + """ + Whether or not the installation is connected to an Enterprise Server installation via GitHub Connect. + """ + isConnected: Boolean! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """User accounts on this Enterprise Server installation.""" + userAccounts( + """ + Ordering options for Enterprise Server user accounts returned from the connection. + """ + orderBy: EnterpriseServerUserAccountOrder = {field: LOGIN, direction: ASC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseServerUserAccountConnection! + + """User accounts uploads for the Enterprise Server installation.""" + userAccountsUploads( + """ + Ordering options for Enterprise Server user accounts uploads returned from the connection. + """ + orderBy: EnterpriseServerUserAccountsUploadOrder = {field: CREATED_AT, direction: DESC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseServerUserAccountsUploadConnection! +} + +"""The connection type for EnterpriseServerInstallation.""" +type EnterpriseServerInstallationConnection { + """A list of edges.""" + edges: [EnterpriseServerInstallationEdge] + + """A list of nodes.""" + nodes: [EnterpriseServerInstallation] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type EnterpriseServerInstallationEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: EnterpriseServerInstallation +} + +"""The connection type for EnterpriseServerInstallation.""" +type EnterpriseServerInstallationMembershipConnection { + """A list of edges.""" + edges: [EnterpriseServerInstallationMembershipEdge] + + """A list of nodes.""" + nodes: [EnterpriseServerInstallation] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An Enterprise Server installation that a user is a member of.""" +type EnterpriseServerInstallationMembershipEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: EnterpriseServerInstallation + + """The role of the user in the enterprise membership.""" + role: EnterpriseUserAccountMembershipRole! +} + +"""Ordering options for Enterprise Server installation connections.""" +input EnterpriseServerInstallationOrder { + """The field to order Enterprise Server installations by.""" + field: EnterpriseServerInstallationOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +""" +Properties by which Enterprise Server installation connections can be ordered. +""" +enum EnterpriseServerInstallationOrderField { + """Order Enterprise Server installations by host name""" + HOST_NAME + + """Order Enterprise Server installations by customer name""" + CUSTOMER_NAME + + """Order Enterprise Server installations by creation time""" + CREATED_AT +} + +"""A user account on an Enterprise Server installation.""" +type EnterpriseServerUserAccount implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """User emails belonging to this user account.""" + emails( + """ + Ordering options for Enterprise Server user account emails returned from the connection. + """ + orderBy: EnterpriseServerUserAccountEmailOrder = {field: EMAIL, direction: ASC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseServerUserAccountEmailConnection! + + """The Enterprise Server installation on which this user account exists.""" + enterpriseServerInstallation: EnterpriseServerInstallation! + id: ID! + + """ + Whether the user account is a site administrator on the Enterprise Server installation. + """ + isSiteAdmin: Boolean! + + """The login of the user account on the Enterprise Server installation.""" + login: String! + + """ + The profile name of the user account on the Enterprise Server installation. + """ + profileName: String + + """ + The date and time when the user account was created on the Enterprise Server installation. + """ + remoteCreatedAt: DateTime! + + """The ID of the user account on the Enterprise Server installation.""" + remoteUserId: Int! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} + +"""The connection type for EnterpriseServerUserAccount.""" +type EnterpriseServerUserAccountConnection { + """A list of edges.""" + edges: [EnterpriseServerUserAccountEdge] + + """A list of nodes.""" + nodes: [EnterpriseServerUserAccount] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type EnterpriseServerUserAccountEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: EnterpriseServerUserAccount +} + +""" +An email belonging to a user account on an Enterprise Server installation. +""" +type EnterpriseServerUserAccountEmail implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The email address.""" + email: String! + id: ID! + + """ + Indicates whether this is the primary email of the associated user account. + """ + isPrimary: Boolean! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The user account to which the email belongs.""" + userAccount: EnterpriseServerUserAccount! +} + +"""The connection type for EnterpriseServerUserAccountEmail.""" +type EnterpriseServerUserAccountEmailConnection { + """A list of edges.""" + edges: [EnterpriseServerUserAccountEmailEdge] + + """A list of nodes.""" + nodes: [EnterpriseServerUserAccountEmail] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type EnterpriseServerUserAccountEmailEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: EnterpriseServerUserAccountEmail +} + +"""Ordering options for Enterprise Server user account email connections.""" +input EnterpriseServerUserAccountEmailOrder { + """The field to order emails by.""" + field: EnterpriseServerUserAccountEmailOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +""" +Properties by which Enterprise Server user account email connections can be ordered. +""" +enum EnterpriseServerUserAccountEmailOrderField { + """Order emails by email""" + EMAIL +} + +"""Ordering options for Enterprise Server user account connections.""" +input EnterpriseServerUserAccountOrder { + """The field to order user accounts by.""" + field: EnterpriseServerUserAccountOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +""" +Properties by which Enterprise Server user account connections can be ordered. +""" +enum EnterpriseServerUserAccountOrderField { + """Order user accounts by login""" + LOGIN + + """ + Order user accounts by creation time on the Enterprise Server installation + """ + REMOTE_CREATED_AT +} + +"""A user accounts upload from an Enterprise Server installation.""" +type EnterpriseServerUserAccountsUpload implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The enterprise to which this upload belongs.""" + enterprise: Enterprise! + + """ + The Enterprise Server installation for which this upload was generated. + """ + enterpriseServerInstallation: EnterpriseServerInstallation! + id: ID! + + """The name of the file uploaded.""" + name: String! + + """The synchronization state of the upload""" + syncState: EnterpriseServerUserAccountsUploadSyncState! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} + +"""The connection type for EnterpriseServerUserAccountsUpload.""" +type EnterpriseServerUserAccountsUploadConnection { + """A list of edges.""" + edges: [EnterpriseServerUserAccountsUploadEdge] + + """A list of nodes.""" + nodes: [EnterpriseServerUserAccountsUpload] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type EnterpriseServerUserAccountsUploadEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: EnterpriseServerUserAccountsUpload +} + +""" +Ordering options for Enterprise Server user accounts upload connections. +""" +input EnterpriseServerUserAccountsUploadOrder { + """The field to order user accounts uploads by.""" + field: EnterpriseServerUserAccountsUploadOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +""" +Properties by which Enterprise Server user accounts upload connections can be ordered. +""" +enum EnterpriseServerUserAccountsUploadOrderField { + """Order user accounts uploads by creation time""" + CREATED_AT +} + +"""Synchronization state of the Enterprise Server user accounts upload""" +enum EnterpriseServerUserAccountsUploadSyncState { + """The synchronization of the upload is pending.""" + PENDING + + """The synchronization of the upload succeeded.""" + SUCCESS + + """The synchronization of the upload failed.""" + FAILURE +} + +""" +An account for a user who is an admin of an enterprise or a member of an enterprise through one or more organizations. +""" +type EnterpriseUserAccount implements Actor & Node { + """A URL pointing to the enterprise user account's public avatar.""" + avatarUrl( + """The size of the resulting square image.""" + size: Int + ): URI! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The enterprise in which this user account exists.""" + enterprise: Enterprise! + + """A list of Enterprise Server installations this user is a member of.""" + enterpriseInstallations( + """The search string to look for.""" + query: String + + """Ordering options for installations returned from the connection.""" + orderBy: EnterpriseServerInstallationOrder = {field: HOST_NAME, direction: ASC} + + """The role of the user in the installation.""" + role: EnterpriseUserAccountMembershipRole + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseServerInstallationMembershipConnection! + id: ID! + + """ + An identifier for the enterprise user account, a login or email address + """ + login: String! + + """The name of the enterprise user account""" + name: String + + """A list of enterprise organizations this user is a member of.""" + organizations( + """The search string to look for.""" + query: String + + """Ordering options for organizations returned from the connection.""" + orderBy: OrganizationOrder = {field: LOGIN, direction: ASC} + + """The role of the user in the enterprise organization.""" + role: EnterpriseUserAccountMembershipRole + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnterpriseOrganizationMembershipConnection! + + """The HTTP path for this user.""" + resourcePath: URI! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this user.""" + url: URI! + + """The user within the enterprise.""" + user: User +} + +"""The possible roles for enterprise membership.""" +enum EnterpriseUserAccountMembershipRole { + """The user is a member of an organization in the enterprise.""" + MEMBER + + """The user is an owner of an organization in the enterprise.""" + OWNER + + """ + The user is not an owner of the enterprise, and not a member or owner of any + organizations in the enterprise; only for EMU-enabled enterprises. + """ + UNAFFILIATED +} + +"""The possible GitHub Enterprise deployments where this user can exist.""" +enum EnterpriseUserDeployment { + """The user is part of a GitHub Enterprise Cloud deployment.""" + CLOUD + + """The user is part of a GitHub Enterprise Server deployment.""" + SERVER +} + +"""An environment.""" +type Environment implements Node { + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! + + """The name of the environment""" + name: String! + + """The protection rules defined for this environment""" + protectionRules( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): DeploymentProtectionRuleConnection! +} + +"""The connection type for Environment.""" +type EnvironmentConnection { + """A list of edges.""" + edges: [EnvironmentEdge] + + """A list of nodes.""" + nodes: [Environment] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type EnvironmentEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Environment +} + +"""An external identity provisioned by SAML SSO or SCIM.""" +type ExternalIdentity implements Node { + """The GUID for this identity""" + guid: String! + id: ID! + + """Organization invitation for this SCIM-provisioned external identity""" + organizationInvitation: OrganizationInvitation + + """SAML Identity attributes""" + samlIdentity: ExternalIdentitySamlAttributes + + """SCIM Identity attributes""" + scimIdentity: ExternalIdentityScimAttributes + + """ + User linked to this external identity. Will be NULL if this identity has not been claimed by an organization member. + """ + user: User +} + +"""An attribute for the External Identity attributes collection""" +type ExternalIdentityAttribute { + """The attribute metadata as JSON""" + metadata: String + + """The attribute name""" + name: String! + + """The attribute value""" + value: String! +} + +"""The connection type for ExternalIdentity.""" +type ExternalIdentityConnection { + """A list of edges.""" + edges: [ExternalIdentityEdge] + + """A list of nodes.""" + nodes: [ExternalIdentity] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type ExternalIdentityEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: ExternalIdentity +} + +"""SAML attributes for the External Identity""" +type ExternalIdentitySamlAttributes { + """SAML Identity attributes""" + attributes: [ExternalIdentityAttribute!]! + + """The emails associated with the SAML identity""" + emails: [UserEmailMetadata!] + + """Family name of the SAML identity""" + familyName: String + + """Given name of the SAML identity""" + givenName: String + + """The groups linked to this identity in IDP""" + groups: [String!] + + """The NameID of the SAML identity""" + nameId: String + + """The userName of the SAML identity""" + username: String +} + +"""SCIM attributes for the External Identity""" +type ExternalIdentityScimAttributes { + """The emails associated with the SCIM identity""" + emails: [UserEmailMetadata!] + + """Family name of the SCIM identity""" + familyName: String + + """Given name of the SCIM identity""" + givenName: String + + """The groups linked to this identity in IDP""" + groups: [String!] + + """The userName of the SCIM identity""" + username: String +} + +""" +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. +""" +input FileAddition { + """The path in the repository where the file will be located""" + path: String! + + """The base64 encoded contents of the file""" + contents: Base64String! +} + +""" +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") + } + ] + } + +""" +input FileChanges { + """Files to delete.""" + deletions: [FileDeletion!] = [] + + """File to add or change.""" + additions: [FileAddition!] = [] +} + +"""A command to delete the file at the given path as part of a commit.""" +input FileDeletion { + """The path to delete""" + path: String! +} + +"""The possible viewed states of a file .""" +enum FileViewedState { + """The file has new changes since last viewed.""" + DISMISSED + + """The file has been marked as viewed.""" + VIEWED + + """The file has not been marked as viewed.""" + UNVIEWED +} + +"""The connection type for User.""" +type FollowerConnection { + """A list of edges.""" + edges: [UserEdge] + + """A list of nodes.""" + nodes: [User] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""The connection type for User.""" +type FollowingConnection { + """A list of edges.""" + edges: [UserEdge] + + """A list of nodes.""" + nodes: [User] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""Autogenerated input type of FollowOrganization""" +input FollowOrganizationInput { + """ID of the organization to follow.""" + organizationId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of FollowOrganization""" +type FollowOrganizationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The organization that was followed.""" + organization: Organization +} + +"""Autogenerated input type of FollowUser""" +input FollowUserInput { + """ID of the user to follow.""" + userId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of FollowUser""" +type FollowUserPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The user that was followed.""" + user: User +} + +"""A funding platform link for a repository.""" +type FundingLink { + """The funding platform this link is for.""" + platform: FundingPlatform! + + """The configured URL for this funding link.""" + url: URI! +} + +"""The possible funding platforms for repository funding links.""" +enum FundingPlatform { + """GitHub funding platform.""" + GITHUB + + """Patreon funding platform.""" + PATREON + + """Open Collective funding platform.""" + OPEN_COLLECTIVE + + """Ko-fi funding platform.""" + KO_FI + + """Tidelift funding platform.""" + TIDELIFT + + """Community Bridge funding platform.""" + COMMUNITY_BRIDGE + + """Liberapay funding platform.""" + LIBERAPAY + + """IssueHunt funding platform.""" + ISSUEHUNT + + """Otechie funding platform.""" + OTECHIE + + """LFX Crowdfunding funding platform.""" + LFX_CROWDFUNDING + + """Custom funding platform.""" + CUSTOM +} + +"""A generic hovercard context with a message and icon""" +type GenericHovercardContext implements HovercardContext { + """A string describing this context""" + message: String! + + """An octicon to accompany this context""" + octicon: String! +} + +"""A Gist.""" +type Gist implements Node & Starrable & UniformResourceLocatable { + """A list of comments associated with the gist""" + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): GistCommentConnection! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The gist description.""" + description: String + + """The files in this gist.""" + files( + """The maximum number of files to return.""" + limit: Int = 10 + + """The oid of the files to return""" + oid: GitObjectID + ): [GistFile] + + """A list of forks associated with the gist""" + forks( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for gists returned from the connection""" + orderBy: GistOrder + ): GistConnection! + id: ID! + + """Identifies if the gist is a fork.""" + isFork: Boolean! + + """Whether the gist is public or not.""" + isPublic: Boolean! + + """The gist name.""" + name: String! + + """The gist owner.""" + owner: RepositoryOwner + + """Identifies when the gist was last pushed to.""" + pushedAt: DateTime + + """The HTML path to this resource.""" + resourcePath: URI! + + """ + Returns a count of how many stargazers there are on this object + + """ + stargazerCount: Int! + + """A list of users who have starred this starrable.""" + stargazers( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Order for connection""" + orderBy: StarOrder + ): StargazerConnection! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this Gist.""" + url: URI! + + """ + Returns a boolean indicating whether the viewing user has starred this starrable. + """ + viewerHasStarred: Boolean! +} + +"""Represents a comment on an Gist.""" +type GistComment implements Node & Comment & Deletable & Minimizable & Updatable & UpdatableComment { + """The actor who authored the comment.""" + author: Actor + + """Author's association with the gist.""" + authorAssociation: CommentAuthorAssociation! + + """Identifies the comment body.""" + body: String! + + """The body rendered to HTML.""" + bodyHTML: HTML! + + """The body rendered to text.""" + bodyText: String! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The actor who edited the comment.""" + editor: Actor + + """The associated gist.""" + gist: Gist! + id: ID! + + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! + + """Returns whether or not a comment has been minimized.""" + isMinimized: Boolean! + + """The moment the editor made the last edit""" + lastEditedAt: DateTime + + """ + Returns why the comment was minimized. One of `abuse`, `off-topic`, + `outdated`, `resolved`, `duplicate` and `spam`. Note that the case and + formatting of these values differs from the inputs to the `MinimizeComment` mutation. + """ + minimizedReason: String + + """Identifies when the comment was published at.""" + publishedAt: DateTime + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection + + """Check if the current viewer can delete this object.""" + viewerCanDelete: Boolean! + + """Check if the current viewer can minimize this object.""" + viewerCanMinimize: Boolean! + + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! + + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! +} + +"""The connection type for GistComment.""" +type GistCommentConnection { + """A list of edges.""" + edges: [GistCommentEdge] + + """A list of nodes.""" + nodes: [GistComment] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type GistCommentEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: GistComment +} + +"""The connection type for Gist.""" +type GistConnection { + """A list of edges.""" + edges: [GistEdge] + + """A list of nodes.""" + nodes: [Gist] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type GistEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Gist +} + +"""A file in a gist.""" +type GistFile { + """ + The file name encoded to remove characters that are invalid in URL paths. + """ + encodedName: String + + """The gist file encoding.""" + encoding: String + + """The file extension from the file name.""" + extension: String + + """Indicates if this file is an image.""" + isImage: Boolean! + + """Whether the file's contents were truncated.""" + isTruncated: Boolean! + + """The programming language this file is written in.""" + language: Language + + """The gist file name.""" + name: String + + """The gist file size in bytes.""" + size: Int + + """UTF8 text data or null if the file is binary""" + text( + """Optionally truncate the returned file to this length.""" + truncate: Int + ): String +} + +"""Ordering options for gist connections""" +input GistOrder { + """The field to order repositories by.""" + field: GistOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which gist connections can be ordered.""" +enum GistOrderField { + """Order gists by creation time""" + CREATED_AT + + """Order gists by update time""" + UPDATED_AT + + """Order gists by push time""" + PUSHED_AT +} + +"""The privacy of a Gist""" +enum GistPrivacy { + """Public""" + PUBLIC + + """Secret""" + SECRET + + """Gists that are public and secret""" + ALL +} + +"""Represents an actor in a Git commit (ie. an author or committer).""" +type GitActor { + """A URL pointing to the author's public avatar.""" + avatarUrl( + """The size of the resulting square image.""" + size: Int + ): URI! + + """The timestamp of the Git action (authoring or committing).""" + date: GitTimestamp + + """The email in the Git commit.""" + email: String + + """The name in the Git commit.""" + name: String + + """ + The GitHub user corresponding to the email field. Null if no such user exists. + """ + user: User +} + +"""The connection type for GitActor.""" +type GitActorConnection { + """A list of edges.""" + edges: [GitActorEdge] + + """A list of nodes.""" + nodes: [GitActor] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type GitActorEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: GitActor +} + +"""Represents information about the GitHub instance.""" +type GitHubMetadata { + """Returns a String that's a SHA of `github-services`""" + gitHubServicesSha: GitObjectID! + + """IP addresses that users connect to for git operations""" + gitIpAddresses: [String!] + + """IP addresses that service hooks are sent from""" + hookIpAddresses: [String!] + + """IP addresses that the importer connects from""" + importerIpAddresses: [String!] + + """Whether or not users are verified""" + isPasswordAuthenticationVerifiable: Boolean! + + """IP addresses for GitHub Pages' A records""" + pagesIpAddresses: [String!] +} + +"""Represents a Git object.""" +interface GitObject { + """An abbreviated version of the Git object ID""" + abbreviatedOid: String! + + """The HTTP path for this Git object""" + commitResourcePath: URI! + + """The HTTP URL for this Git object""" + commitUrl: URI! + id: ID! + + """The Git object ID""" + oid: GitObjectID! + + """The Repository the Git object belongs to""" + repository: Repository! +} + +"""A Git object ID.""" +scalar GitObjectID + +"""Information about a signature (GPG or S/MIME) on a Commit or Tag.""" +interface GitSignature { + """Email used to sign this object.""" + email: String! + + """True if the signature is valid and verified by GitHub.""" + isValid: Boolean! + + """ + Payload for GPG signing object. Raw ODB object without the signature header. + """ + payload: String! + + """ASCII-armored signature header from object.""" + signature: String! + + """GitHub user corresponding to the email signing this commit.""" + signer: User + + """ + The state of this signature. `VALID` if signature is valid and verified by + GitHub, otherwise represents reason why signature is considered invalid. + """ + state: GitSignatureState! + + """True if the signature was made with GitHub's signing key.""" + wasSignedByGitHub: Boolean! +} + +"""The state of a Git signature.""" +enum GitSignatureState { + """Valid signature and verified by GitHub""" + VALID + + """Invalid signature""" + INVALID + + """Malformed signature""" + MALFORMED_SIG + + """Key used for signing not known to GitHub""" + UNKNOWN_KEY + + """Invalid email used for signing""" + BAD_EMAIL + + """Email used for signing unverified on GitHub""" + UNVERIFIED_EMAIL + + """Email used for signing not known to GitHub""" + NO_USER + + """Unknown signature type""" + UNKNOWN_SIG_TYPE + + """Unsigned""" + UNSIGNED + + """ + Internal error - the GPG verification service is unavailable at the moment + """ + GPGVERIFY_UNAVAILABLE + + """Internal error - the GPG verification service misbehaved""" + GPGVERIFY_ERROR + + """The usage flags for the key that signed this don't allow signing""" + NOT_SIGNING_KEY + + """Signing key expired""" + EXPIRED_KEY + + """Valid signature, pending certificate revocation checking""" + OCSP_PENDING + + """Valid signature, though certificate revocation check failed""" + OCSP_ERROR + + """The signing certificate or its chain could not be verified""" + BAD_CERT + + """One or more certificates in chain has been revoked""" + OCSP_REVOKED +} + +"""Git SSH string""" +scalar GitSSHRemote + +""" +An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC. +""" +scalar GitTimestamp + +"""Represents a GPG signature on a Commit or Tag.""" +type GpgSignature implements GitSignature { + """Email used to sign this object.""" + email: String! + + """True if the signature is valid and verified by GitHub.""" + isValid: Boolean! + + """Hex-encoded ID of the key that signed this object.""" + keyId: String + + """ + Payload for GPG signing object. Raw ODB object without the signature header. + """ + payload: String! + + """ASCII-armored signature header from object.""" + signature: String! + + """GitHub user corresponding to the email signing this commit.""" + signer: User + + """ + The state of this signature. `VALID` if signature is valid and verified by + GitHub, otherwise represents reason why signature is considered invalid. + """ + state: GitSignatureState! + + """True if the signature was made with GitHub's signing key.""" + wasSignedByGitHub: Boolean! +} + +"""Autogenerated input type of GrantEnterpriseOrganizationsMigratorRole""" +input GrantEnterpriseOrganizationsMigratorRoleInput { + """ + The ID of the enterprise to which all organizations managed by it will be granted the migrator role. + """ + enterpriseId: ID! + + """The login of the user to grant the migrator role""" + login: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of GrantEnterpriseOrganizationsMigratorRole""" +type GrantEnterpriseOrganizationsMigratorRolePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """ + The organizations that had the migrator role applied to for the given user. + """ + organizations( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): OrganizationConnection +} + +"""Autogenerated input type of GrantMigratorRole""" +input GrantMigratorRoleInput { + """The ID of the organization that the user/team belongs to.""" + organizationId: ID! + + """The user login or Team slug to grant the migrator role.""" + actor: 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: String +} + +"""Autogenerated return type of GrantMigratorRole""" +type GrantMigratorRolePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """Did the operation succeed?""" + success: Boolean +} + +"""Represents a 'head_ref_deleted' event on a given pull request.""" +type HeadRefDeletedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the Ref associated with the `head_ref_deleted` event.""" + headRef: Ref + + """ + Identifies the name of the Ref associated with the `head_ref_deleted` event. + """ + headRefName: String! + id: ID! + + """PullRequest referenced by event.""" + pullRequest: PullRequest! +} + +"""Represents a 'head_ref_force_pushed' event on a given pull request.""" +type HeadRefForcePushedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the after commit SHA for the 'head_ref_force_pushed' event.""" + afterCommit: Commit + + """ + Identifies the before commit SHA for the 'head_ref_force_pushed' event. + """ + beforeCommit: Commit + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """PullRequest referenced by event.""" + pullRequest: PullRequest! + + """ + Identifies the fully qualified ref name for the 'head_ref_force_pushed' event. + """ + ref: Ref +} + +"""Represents a 'head_ref_restored' event on a given pull request.""" +type HeadRefRestoredEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """PullRequest referenced by event.""" + pullRequest: PullRequest! +} + +"""Detail needed to display a hovercard for a user""" +type Hovercard { + """Each of the contexts for this hovercard""" + contexts: [HovercardContext!]! +} + +"""An individual line of a hovercard""" +interface HovercardContext { + """A string describing this context""" + message: String! + + """An octicon to accompany this context""" + octicon: String! +} + +"""A string containing HTML code.""" +scalar HTML + +""" +The possible states in which authentication can be configured with an identity provider. +""" +enum IdentityProviderConfigurationState { + """Authentication with an identity provider is configured and enforced.""" + ENFORCED + + """ + Authentication with an identity provider is configured but not enforced. + """ + CONFIGURED + + """Authentication with an identity provider is not configured.""" + UNCONFIGURED +} + +"""Autogenerated input type of InviteEnterpriseAdmin""" +input InviteEnterpriseAdminInput { + """The ID of the enterprise to which you want to invite an administrator.""" + enterpriseId: ID! + + """The login of a user to invite as an administrator.""" + invitee: String + + """The email of the person to invite as an administrator.""" + email: String + + """The role of the administrator.""" + role: EnterpriseAdministratorRole + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of InviteEnterpriseAdmin""" +type InviteEnterpriseAdminPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The created enterprise administrator invitation.""" + invitation: EnterpriseAdministratorInvitation +} + +"""The possible values for the IP allow list enabled setting.""" +enum IpAllowListEnabledSettingValue { + """The setting is enabled for the owner.""" + ENABLED + + """The setting is disabled for the owner.""" + DISABLED +} + +""" +An IP address or range of addresses that is allowed to access an owner's resources. +""" +type IpAllowListEntry implements Node { + """A single IP address or range of IP addresses in CIDR notation.""" + allowListValue: String! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Whether the entry is currently active.""" + isActive: Boolean! + + """The name of the IP allow list entry.""" + name: String + + """The owner of the IP allow list entry.""" + owner: IpAllowListOwner! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} + +"""The connection type for IpAllowListEntry.""" +type IpAllowListEntryConnection { + """A list of edges.""" + edges: [IpAllowListEntryEdge] + + """A list of nodes.""" + nodes: [IpAllowListEntry] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type IpAllowListEntryEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: IpAllowListEntry +} + +"""Ordering options for IP allow list entry connections.""" +input IpAllowListEntryOrder { + """The field to order IP allow list entries by.""" + field: IpAllowListEntryOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which IP allow list entry connections can be ordered.""" +enum IpAllowListEntryOrderField { + """Order IP allow list entries by creation time.""" + CREATED_AT + + """Order IP allow list entries by the allow list value.""" + ALLOW_LIST_VALUE +} + +""" +The possible values for the IP allow list configuration for installed GitHub Apps setting. +""" +enum IpAllowListForInstalledAppsEnabledSettingValue { + """The setting is enabled for the owner.""" + ENABLED + + """The setting is disabled for the owner.""" + DISABLED +} + +"""Types that can own an IP allow list.""" +union IpAllowListOwner = App | Enterprise | Organization + +""" +An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. +""" +type Issue implements Node & Assignable & Closable & Comment & Updatable & UpdatableComment & Labelable & Lockable & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable & ProjectV2Owner { + """Reason that the conversation was locked.""" + activeLockReason: LockReason + + """A list of Users assigned to this object.""" + assignees( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! + + """The actor who authored the comment.""" + author: Actor + + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! + + """Identifies the body of the issue.""" + body: String! + + """The body rendered to HTML.""" + bodyHTML: HTML! + + """The http path for this issue body""" + bodyResourcePath: URI! + + """Identifies the body of the issue rendered to text.""" + bodyText: String! + + """The http URL for this issue body""" + bodyUrl: URI! + + """ + Indicates if the object is closed (definition of closed may depend on type) + """ + closed: Boolean! + + """Identifies the date and time when the object was closed.""" + closedAt: DateTime + + """A list of comments associated with the Issue.""" + comments( + """Ordering options for issue comments returned from the connection.""" + orderBy: IssueCommentOrder + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueCommentConnection! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The actor who edited the comment.""" + editor: Actor + + """Identifies the primary key from the database as a BigInt.""" + fullDatabaseId: BigInt + + """The hovercard information for this issue""" + hovercard( + """Whether or not to include notification contexts""" + includeNotificationContexts: Boolean = true + ): Hovercard! + id: ID! + + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! + + """ + Indicates whether or not this issue is currently pinned to the repository issues list + """ + isPinned: Boolean + + """Is this issue read by the viewer""" + isReadByViewer: Boolean + + """A list of labels associated with the object.""" + labels( + """Ordering options for labels returned from the connection.""" + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): LabelConnection + + """The moment the editor made the last edit""" + lastEditedAt: DateTime + + """Branches linked to this issue.""" + linkedBranches( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): LinkedBranchConnection! + + """`true` if the object is locked""" + locked: Boolean! + + """Identifies the milestone associated with the issue.""" + milestone: Milestone + + """Identifies the issue number.""" + number: Int! + + """A list of Users that are participating in the Issue conversation.""" + participants( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! + + """List of project cards associated with this issue.""" + projectCards( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """A list of archived states to filter the cards by""" + archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] + ): ProjectCardConnection! + + """List of project items associated with this issue.""" + projectItems( + """Include archived items.""" + includeArchived: Boolean = true + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2ItemConnection! + + """Find a project by number.""" + projectV2( + """The project number.""" + number: Int! + ): ProjectV2 + + """A list of projects under the owner.""" + projectsV2( + """A project to search for under the the owner.""" + query: String + + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! + + """Identifies when the comment was published at.""" + publishedAt: DateTime + + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] + + """A list of Reactions left on the Issue.""" + reactions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Allows filtering Reactions by emoji.""" + content: ReactionContent + + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! + + """The repository associated with this node.""" + repository: Repository! + + """The HTTP path for this issue""" + resourcePath: URI! + + """Identifies the state of the issue.""" + state: IssueState! + + """Identifies the reason for the issue state.""" + stateReason: IssueStateReason + + """A list of events, comments, commits, etc. associated with the issue.""" + timelineItems( + """Filter timeline items by a `since` timestamp.""" + since: DateTime + + """Skips the first _n_ elements in the list.""" + skip: Int + + """Filter timeline items by type.""" + itemTypes: [IssueTimelineItemsItemType!] + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueTimelineItemsConnection! + + """Identifies the issue title.""" + title: String! + + """Identifies the issue title rendered to HTML.""" + titleHTML: String! + + """A list of issues that track this issue""" + trackedInIssues( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueConnection! + + """A list of issues tracked inside the current issue""" + trackedIssues( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueConnection! + + """The number of tracked issues for this issue""" + trackedIssuesCount( + """Limit the count to tracked issues with the specified states.""" + states: [TrackedIssueStates] + ): Int! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this issue""" + url: URI! + + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection + + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! + + """Can user react to this subject""" + viewerCanReact: Boolean! + + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! + + """ + Check if the viewer is able to change their subscription status for the repository. + """ + viewerCanSubscribe: Boolean! + + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! + + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! + + """ + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. + """ + viewerSubscription: SubscriptionState +} + +"""The possible state reasons of a closed issue.""" +enum IssueClosedStateReason { + """An issue that has been closed as completed""" + COMPLETED + + """An issue that has been closed as not planned""" + NOT_PLANNED +} + +"""Represents a comment on an Issue.""" +type IssueComment implements Node & Comment & Deletable & Minimizable & Updatable & UpdatableComment & Reactable & RepositoryNode { + """The actor who authored the comment.""" + author: Actor + + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! + + """The body as Markdown.""" + body: String! + + """The body rendered to HTML.""" + bodyHTML: HTML! + + """The body rendered to text.""" + bodyText: String! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The actor who edited the comment.""" + editor: Actor + + """Identifies the primary key from the database as a BigInt.""" + fullDatabaseId: BigInt + id: ID! + + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! + + """Returns whether or not a comment has been minimized.""" + isMinimized: Boolean! + + """Identifies the issue associated with the comment.""" + issue: Issue! + + """The moment the editor made the last edit""" + lastEditedAt: DateTime + + """ + Returns why the comment was minimized. One of `abuse`, `off-topic`, + `outdated`, `resolved`, `duplicate` and `spam`. Note that the case and + formatting of these values differs from the inputs to the `MinimizeComment` mutation. + """ + minimizedReason: String + + """Identifies when the comment was published at.""" + publishedAt: DateTime + + """ + Returns the pull request associated with the comment, if this comment was made on a + pull request. + + """ + pullRequest: PullRequest + + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] + + """A list of Reactions left on the Issue.""" + reactions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Allows filtering Reactions by emoji.""" + content: ReactionContent + + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! + + """The repository associated with this node.""" + repository: Repository! + + """The HTTP path for this issue comment""" + resourcePath: URI! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this issue comment""" + url: URI! + + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection + + """Check if the current viewer can delete this object.""" + viewerCanDelete: Boolean! + + """Check if the current viewer can minimize this object.""" + viewerCanMinimize: Boolean! + + """Can user react to this subject""" + viewerCanReact: Boolean! + + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! + + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! +} + +"""The connection type for IssueComment.""" +type IssueCommentConnection { + """A list of edges.""" + edges: [IssueCommentEdge] + + """A list of nodes.""" + nodes: [IssueComment] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type IssueCommentEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: IssueComment +} + +"""Ways in which lists of issue comments can be ordered upon return.""" +input IssueCommentOrder { + """The field in which to order issue comments by.""" + field: IssueCommentOrderField! + + """The direction in which to order issue comments by the specified field.""" + direction: OrderDirection! +} + +"""Properties by which issue comment connections can be ordered.""" +enum IssueCommentOrderField { + """Order issue comments by update time""" + UPDATED_AT +} + +"""The connection type for Issue.""" +type IssueConnection { + """A list of edges.""" + edges: [IssueEdge] + + """A list of nodes.""" + nodes: [Issue] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""This aggregates issues opened by a user within one repository.""" +type IssueContributionsByRepository { + """The issue contributions.""" + contributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for contributions returned from the connection.""" + orderBy: ContributionOrder = {direction: DESC} + ): CreatedIssueContributionConnection! + + """The repository in which the issues were opened.""" + repository: Repository! +} + +"""An edge in a connection.""" +type IssueEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Issue +} + +"""Ways in which to filter lists of issues.""" +input IssueFilters { + """ + List issues assigned to given name. Pass in `null` for issues with no assigned + user, and `*` for issues assigned to any user. + """ + assignee: String + + """List issues created by given name.""" + createdBy: String + + """List issues where the list of label names exist on the issue.""" + labels: [String!] + + """List issues where the given name is mentioned in the issue.""" + mentioned: String + + """ + List issues by given milestone argument. If an string representation of an + integer is passed, it should refer to a milestone by its database ID. Pass in + `null` for issues with no milestone, and `*` for issues that are assigned to any milestone. + """ + milestone: String + + """ + 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. + """ + milestoneNumber: String + + """List issues that have been updated at or after the given date.""" + since: DateTime + + """List issues filtered by the list of states given.""" + states: [IssueState!] + + """List issues subscribed to by viewer.""" + viewerSubscribed: Boolean = false +} + +"""Ways in which lists of issues can be ordered upon return.""" +input IssueOrder { + """The field in which to order issues by.""" + field: IssueOrderField! + + """The direction in which to order issues by the specified field.""" + direction: OrderDirection! +} + +"""Properties by which issue connections can be ordered.""" +enum IssueOrderField { + """Order issues by creation time""" + CREATED_AT + + """Order issues by update time""" + UPDATED_AT + + """Order issues by comment count""" + COMMENTS +} + +"""Used for return value of Repository.issueOrPullRequest.""" +union IssueOrPullRequest = Issue | PullRequest + +"""The possible states of an issue.""" +enum IssueState { + """An issue that is still open""" + OPEN + + """An issue that has been closed""" + CLOSED +} + +"""The possible state reasons of an issue.""" +enum IssueStateReason { + """An issue that has been reopened""" + REOPENED + + """An issue that has been closed as not planned""" + NOT_PLANNED + + """An issue that has been closed as completed""" + COMPLETED +} + +"""A repository issue template.""" +type IssueTemplate { + """The template purpose.""" + about: String + + """The suggested issue body.""" + body: String + + """The template filename.""" + filename: String! + + """The template name.""" + name: String! + + """The suggested issue title.""" + title: String +} + +"""The connection type for IssueTimelineItem.""" +type IssueTimelineConnection { + """A list of edges.""" + edges: [IssueTimelineItemEdge] + + """A list of nodes.""" + nodes: [IssueTimelineItem] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An item in an issue timeline""" +union IssueTimelineItem = AssignedEvent | ClosedEvent | Commit | CrossReferencedEvent | DemilestonedEvent | IssueComment | LabeledEvent | LockedEvent | MilestonedEvent | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent | UserBlockedEvent + +"""An edge in a connection.""" +type IssueTimelineItemEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: IssueTimelineItem +} + +"""An item in an issue timeline""" +union 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.""" +type IssueTimelineItemsConnection { + """A list of edges.""" + edges: [IssueTimelineItemsEdge] + + """ + Identifies the count of items after applying `before` and `after` filters. + """ + filteredCount: Int! + + """A list of nodes.""" + nodes: [IssueTimelineItems] + + """ + Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing. + """ + pageCount: Int! + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! + + """Identifies the date and time when the timeline was last updated.""" + updatedAt: DateTime! +} + +"""An edge in a connection.""" +type IssueTimelineItemsEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: IssueTimelineItems +} + +"""The possible item types found in a timeline.""" +enum IssueTimelineItemsItemType { + """Represents a comment on an Issue.""" + ISSUE_COMMENT + + """Represents a mention made by one issue or pull request to another.""" + CROSS_REFERENCED_EVENT + + """ + Represents a 'added_to_project' event on a given issue or pull request. + """ + ADDED_TO_PROJECT_EVENT + + """Represents an 'assigned' event on any assignable object.""" + ASSIGNED_EVENT + + """Represents a 'closed' event on any `Closable`.""" + CLOSED_EVENT + + """Represents a 'comment_deleted' event on a given issue or pull request.""" + COMMENT_DELETED_EVENT + + """Represents a 'connected' event on a given issue or pull request.""" + CONNECTED_EVENT + + """ + Represents a 'converted_note_to_issue' event on a given issue or pull request. + """ + CONVERTED_NOTE_TO_ISSUE_EVENT + + """Represents a 'converted_to_discussion' event on a given issue.""" + CONVERTED_TO_DISCUSSION_EVENT + + """Represents a 'demilestoned' event on a given issue or pull request.""" + DEMILESTONED_EVENT + + """Represents a 'disconnected' event on a given issue or pull request.""" + DISCONNECTED_EVENT + + """Represents a 'labeled' event on a given issue or pull request.""" + LABELED_EVENT + + """Represents a 'locked' event on a given issue or pull request.""" + LOCKED_EVENT + + """ + Represents a 'marked_as_duplicate' event on a given issue or pull request. + """ + MARKED_AS_DUPLICATE_EVENT + + """Represents a 'mentioned' event on a given issue or pull request.""" + MENTIONED_EVENT + + """Represents a 'milestoned' event on a given issue or pull request.""" + MILESTONED_EVENT + + """ + Represents a 'moved_columns_in_project' event on a given issue or pull request. + """ + MOVED_COLUMNS_IN_PROJECT_EVENT + + """Represents a 'pinned' event on a given issue or pull request.""" + PINNED_EVENT + + """Represents a 'referenced' event on a given `ReferencedSubject`.""" + REFERENCED_EVENT + + """ + Represents a 'removed_from_project' event on a given issue or pull request. + """ + REMOVED_FROM_PROJECT_EVENT + + """Represents a 'renamed' event on a given issue or pull request""" + RENAMED_TITLE_EVENT + + """Represents a 'reopened' event on any `Closable`.""" + REOPENED_EVENT + + """Represents a 'subscribed' event on a given `Subscribable`.""" + SUBSCRIBED_EVENT + + """Represents a 'transferred' event on a given issue or pull request.""" + TRANSFERRED_EVENT + + """Represents an 'unassigned' event on any assignable object.""" + UNASSIGNED_EVENT + + """Represents an 'unlabeled' event on a given issue or pull request.""" + UNLABELED_EVENT + + """Represents an 'unlocked' event on a given issue or pull request.""" + UNLOCKED_EVENT + + """Represents a 'user_blocked' event on a given user.""" + USER_BLOCKED_EVENT + + """ + Represents an 'unmarked_as_duplicate' event on a given issue or pull request. + """ + UNMARKED_AS_DUPLICATE_EVENT + + """Represents an 'unpinned' event on a given issue or pull request.""" + UNPINNED_EVENT + + """Represents an 'unsubscribed' event on a given `Subscribable`.""" + UNSUBSCRIBED_EVENT +} + +"""Represents a user signing up for a GitHub account.""" +type JoinedGitHubContribution implements 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: Boolean! + + """When this contribution was made.""" + occurredAt: DateTime! + + """The HTTP path for this contribution.""" + resourcePath: URI! + + """The HTTP URL for this contribution.""" + url: URI! + + """ + The user who made this contribution. + + """ + user: User! +} + +""" +A label for categorizing Issues, Pull Requests, Milestones, or Discussions with a given Repository. +""" +type Label implements Node { + """Identifies the label color.""" + color: String! + + """Identifies the date and time when the label was created.""" + createdAt: DateTime + + """A brief description of this label.""" + description: String + id: ID! + + """Indicates whether or not this is a default label.""" + isDefault: Boolean! + + """A list of issues associated with this label.""" + issues( + """Ordering options for issues returned from the connection.""" + orderBy: IssueOrder + + """A list of label names to filter the pull requests by.""" + labels: [String!] + + """A list of states to filter the issues by.""" + states: [IssueState!] + + """Filtering options for issues returned from the connection.""" + filterBy: IssueFilters + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueConnection! + + """Identifies the label name.""" + name: String! + + """A list of pull requests associated with this label.""" + pullRequests( + """A list of states to filter the pull requests by.""" + states: [PullRequestState!] + + """A list of label names to filter the pull requests by.""" + labels: [String!] + + """The head ref name to filter the pull requests by.""" + headRefName: String + + """The base ref name to filter the pull requests by.""" + baseRefName: String + + """Ordering options for pull requests returned from the connection.""" + orderBy: IssueOrder + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestConnection! + + """The repository associated with this label.""" + repository: Repository! + + """The HTTP path for this label.""" + resourcePath: URI! + + """Identifies the date and time when the label was last updated.""" + updatedAt: DateTime + + """The HTTP URL for this label.""" + url: URI! +} + +"""An object that can have labels assigned to it.""" +interface Labelable { + """A list of labels associated with the object.""" + labels( + """Ordering options for labels returned from the connection.""" + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): LabelConnection +} + +"""The connection type for Label.""" +type LabelConnection { + """A list of edges.""" + edges: [LabelEdge] + + """A list of nodes.""" + nodes: [Label] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""Represents a 'labeled' event on a given issue or pull request.""" +type LabeledEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Identifies the label associated with the 'labeled' event.""" + label: Label! + + """Identifies the `Labelable` associated with the event.""" + labelable: Labelable! +} + +"""An edge in a connection.""" +type LabelEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Label +} + +"""Ways in which lists of labels can be ordered upon return.""" +input LabelOrder { + """The field in which to order labels by.""" + field: LabelOrderField! + + """The direction in which to order labels by the specified field.""" + direction: OrderDirection! +} + +"""Properties by which label connections can be ordered.""" +enum LabelOrderField { + """Order labels by name """ + NAME + + """Order labels by creation time""" + CREATED_AT +} + +"""Represents a given language found in repositories.""" +type Language implements Node { + """The color defined for the current language.""" + color: String + id: ID! + + """The name of the current language.""" + name: String! +} + +"""A list of languages associated with the parent.""" +type LanguageConnection { + """A list of edges.""" + edges: [LanguageEdge] + + """A list of nodes.""" + nodes: [Language] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! + + """The total size in bytes of files written in that language.""" + totalSize: Int! +} + +"""Represents the language of a repository.""" +type LanguageEdge { + cursor: String! + node: Language! + + """The number of bytes of code written in the language.""" + size: Int! +} + +"""Ordering options for language connections.""" +input LanguageOrder { + """The field to order languages by.""" + field: LanguageOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which language connections can be ordered.""" +enum LanguageOrderField { + """Order languages by the size of all files containing the language""" + SIZE +} + +"""A repository's open source license""" +type License implements Node { + """The full text of the license""" + body: String! + + """The conditions set by the license""" + conditions: [LicenseRule]! + + """A human-readable description of the license""" + description: String + + """Whether the license should be featured""" + featured: Boolean! + + """Whether the license should be displayed in license pickers""" + hidden: Boolean! + id: ID! + + """Instructions on how to implement the license""" + implementation: String + + """The lowercased SPDX ID of the license""" + key: String! + + """The limitations set by the license""" + limitations: [LicenseRule]! + + """The license full name specified by """ + name: String! + + """Customary short name if applicable (e.g, GPLv3)""" + nickname: String + + """The permissions set by the license""" + permissions: [LicenseRule]! + + """ + Whether the license is a pseudo-license placeholder (e.g., other, no-license) + """ + pseudoLicense: Boolean! + + """Short identifier specified by """ + spdxId: String + + """URL to the license on """ + url: URI +} + +"""Describes a License's conditions, permissions, and limitations""" +type LicenseRule { + """A description of the rule""" + description: String! + + """The machine-readable rule key""" + key: String! + + """The human-readable rule label""" + label: String! +} + +"""A branch linked to an issue.""" +type LinkedBranch implements Node { + id: ID! + + """The branch's ref.""" + ref: Ref +} + +"""The connection type for LinkedBranch.""" +type LinkedBranchConnection { + """A list of edges.""" + edges: [LinkedBranchEdge] + + """A list of nodes.""" + nodes: [LinkedBranch] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type LinkedBranchEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: LinkedBranch +} + +"""Autogenerated input type of LinkProjectV2ToRepository""" +input LinkProjectV2ToRepositoryInput { + """The ID of the project to link to the repository.""" + projectId: ID! + + """The ID of the repository to link to the project.""" + repositoryId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of LinkProjectV2ToRepository""" +type LinkProjectV2ToRepositoryPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The repository the project is linked to.""" + repository: Repository +} + +"""Autogenerated input type of LinkProjectV2ToTeam""" +input LinkProjectV2ToTeamInput { + """The ID of the project to link to the team.""" + projectId: ID! + + """The ID of the team to link to the project.""" + teamId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of LinkProjectV2ToTeam""" +type LinkProjectV2ToTeamPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The team the project is linked to""" + team: Team +} + +"""Autogenerated input type of LinkRepositoryToProject""" +input LinkRepositoryToProjectInput { + """The ID of the Project to link to a Repository""" + projectId: ID! + + """The ID of the Repository to link to a Project.""" + repositoryId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of LinkRepositoryToProject""" +type LinkRepositoryToProjectPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The linked Project.""" + project: Project + + """The linked Repository.""" + repository: Repository +} + +"""An object that can be locked.""" +interface Lockable { + """Reason that the conversation was locked.""" + activeLockReason: LockReason + + """`true` if the object is locked""" + locked: Boolean! +} + +"""Represents a 'locked' event on a given issue or pull request.""" +type LockedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Reason that the conversation was locked (optional).""" + lockReason: LockReason + + """Object that was locked.""" + lockable: Lockable! +} + +"""Autogenerated input type of LockLockable""" +input LockLockableInput { + """ID of the item to be locked.""" + lockableId: ID! + + """A reason for why the item will be locked.""" + lockReason: LockReason + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of LockLockable""" +type LockLockablePayload { + """Identifies the actor who performed the event.""" + actor: Actor + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The item that was locked.""" + lockedRecord: Lockable +} + +"""The possible reasons that an issue or pull request was locked.""" +enum LockReason { + """ + The issue or pull request was locked because the conversation was off-topic. + """ + OFF_TOPIC + + """ + The issue or pull request was locked because the conversation was too heated. + """ + TOO_HEATED + + """ + The issue or pull request was locked because the conversation was resolved. + """ + RESOLVED + + """ + The issue or pull request was locked because the conversation was spam. + """ + SPAM +} + +"""A placeholder user for attribution of imported data on GitHub.""" +type Mannequin implements Node & Actor & UniformResourceLocatable { + """A URL pointing to the GitHub App's public avatar.""" + avatarUrl( + """The size of the resulting square image.""" + size: Int + ): URI! + + """The user that has claimed the data attributed to this mannequin.""" + claimant: User + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The mannequin's email on the source instance.""" + email: String + id: ID! + + """The username of the actor.""" + login: String! + + """The HTML path to this resource.""" + resourcePath: URI! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The URL to this resource.""" + url: URI! +} + +"""The connection type for Mannequin.""" +type MannequinConnection { + """A list of edges.""" + edges: [MannequinEdge] + + """A list of nodes.""" + nodes: [Mannequin] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""Represents a mannequin.""" +type MannequinEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Mannequin +} + +"""Ordering options for mannequins.""" +input MannequinOrder { + """The field to order mannequins by.""" + field: MannequinOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which mannequins can be ordered.""" +enum MannequinOrderField { + """Order mannequins alphabetically by their source login.""" + LOGIN + + """Order mannequins why when they were created.""" + CREATED_AT +} + +"""Autogenerated input type of MarkDiscussionCommentAsAnswer""" +input MarkDiscussionCommentAsAnswerInput { + """The Node ID of the discussion comment to mark as an answer.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MarkDiscussionCommentAsAnswer""" +type MarkDiscussionCommentAsAnswerPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The discussion that includes the chosen comment.""" + discussion: Discussion +} + +""" +Represents a 'marked_as_duplicate' event on a given issue or pull request. +""" +type MarkedAsDuplicateEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """ + The authoritative issue or pull request which has been duplicated by another. + """ + canonical: IssueOrPullRequest + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """ + The issue or pull request which has been marked as a duplicate of another. + """ + duplicate: IssueOrPullRequest + id: ID! + + """Canonical and duplicate belong to different repositories.""" + isCrossRepository: Boolean! +} + +"""A public description of a Marketplace category.""" +type MarketplaceCategory implements Node { + """The category's description.""" + description: String + + """ + The technical description of how apps listed in this category work with GitHub. + """ + howItWorks: String + id: ID! + + """The category's name.""" + name: String! + + """How many Marketplace listings have this as their primary category.""" + primaryListingCount: Int! + + """The HTTP path for this Marketplace category.""" + resourcePath: URI! + + """How many Marketplace listings have this as their secondary category.""" + secondaryListingCount: Int! + + """The short name of the category used in its URL.""" + slug: String! + + """The HTTP URL for this Marketplace category.""" + url: URI! +} + +"""A listing in the GitHub integration marketplace.""" +type MarketplaceListing implements Node { + """The GitHub App this listing represents.""" + app: App + + """URL to the listing owner's company site.""" + companyUrl: URI + + """ + The HTTP path for configuring access to the listing's integration or OAuth app + """ + configurationResourcePath: URI! + + """ + The HTTP URL for configuring access to the listing's integration or OAuth app + """ + configurationUrl: URI! + + """URL to the listing's documentation.""" + documentationUrl: URI + + """The listing's detailed description.""" + extendedDescription: String + + """The listing's detailed description rendered to HTML.""" + extendedDescriptionHTML: HTML! + + """The listing's introductory description.""" + fullDescription: String! + + """The listing's introductory description rendered to HTML.""" + fullDescriptionHTML: HTML! + + """Does this listing have any plans with a free trial?""" + hasPublishedFreeTrialPlans: Boolean! + + """Does this listing have a terms of service link?""" + hasTermsOfService: Boolean! + + """Whether the creator of the app is a verified org""" + hasVerifiedOwner: Boolean! + + """A technical description of how this app works with GitHub.""" + howItWorks: String + + """The listing's technical description rendered to HTML.""" + howItWorksHTML: HTML! + id: ID! + + """URL to install the product to the viewer's account or organization.""" + installationUrl: URI + + """Whether this listing's app has been installed for the current viewer""" + installedForViewer: Boolean! + + """Whether this listing has been removed from the Marketplace.""" + isArchived: Boolean! + + """ + Whether this listing is still an editable draft that has not been submitted + for review and is not publicly visible in the Marketplace. + """ + isDraft: Boolean! + + """ + Whether the product this listing represents is available as part of a paid plan. + """ + isPaid: Boolean! + + """Whether this listing has been approved for display in the Marketplace.""" + isPublic: Boolean! + + """ + Whether this listing has been rejected by GitHub for display in the Marketplace. + """ + isRejected: Boolean! + + """ + Whether this listing has been approved for unverified display in the Marketplace. + """ + isUnverified: Boolean! + + """ + Whether this draft listing has been submitted for review for approval to be unverified in the Marketplace. + """ + isUnverifiedPending: Boolean! + + """ + Whether this draft listing has been submitted for review from GitHub for approval to be verified in the Marketplace. + """ + isVerificationPendingFromDraft: Boolean! + + """ + Whether this unverified listing has been submitted for review from GitHub for approval to be verified in the Marketplace. + """ + isVerificationPendingFromUnverified: Boolean! + + """ + Whether this listing has been approved for verified display in the Marketplace. + """ + isVerified: Boolean! + + """The hex color code, without the leading '#', for the logo background.""" + logoBackgroundColor: String! + + """URL for the listing's logo image.""" + logoUrl( + """The size in pixels of the resulting square image.""" + size: Int = 400 + ): URI + + """The listing's full name.""" + name: String! + + """ + The listing's very short description without a trailing period or ampersands. + """ + normalizedShortDescription: String! + + """URL to the listing's detailed pricing.""" + pricingUrl: URI + + """The category that best describes the listing.""" + primaryCategory: MarketplaceCategory! + + """ + URL to the listing's privacy policy, may return an empty string for listings that do not require a privacy policy URL. + """ + privacyPolicyUrl: URI! + + """The HTTP path for the Marketplace listing.""" + resourcePath: URI! + + """The URLs for the listing's screenshots.""" + screenshotUrls: [String]! + + """An alternate category that describes the listing.""" + secondaryCategory: MarketplaceCategory + + """The listing's very short description.""" + shortDescription: String! + + """The short name of the listing used in its URL.""" + slug: String! + + """URL to the listing's status page.""" + statusUrl: URI + + """An email address for support for this listing's app.""" + supportEmail: String + + """ + Either a URL or an email address for support for this listing's app, may + return an empty string for listings that do not require a support URL. + """ + supportUrl: URI! + + """URL to the listing's terms of service.""" + termsOfServiceUrl: URI + + """The HTTP URL for the Marketplace listing.""" + url: URI! + + """Can the current viewer add plans for this Marketplace listing.""" + viewerCanAddPlans: Boolean! + + """Can the current viewer approve this Marketplace listing.""" + viewerCanApprove: Boolean! + + """Can the current viewer delist this Marketplace listing.""" + viewerCanDelist: Boolean! + + """Can the current viewer edit this Marketplace listing.""" + viewerCanEdit: Boolean! + + """ + Can the current viewer edit the primary and secondary category of this + Marketplace listing. + + """ + viewerCanEditCategories: Boolean! + + """Can the current viewer edit the plans for this Marketplace listing.""" + viewerCanEditPlans: Boolean! + + """ + Can the current viewer return this Marketplace listing to draft state + so it becomes editable again. + + """ + viewerCanRedraft: Boolean! + + """ + Can the current viewer reject this Marketplace listing by returning it to + an editable draft state or rejecting it entirely. + + """ + viewerCanReject: Boolean! + + """ + Can the current viewer request this listing be reviewed for display in + the Marketplace as verified. + + """ + viewerCanRequestApproval: Boolean! + + """ + Indicates whether the current user has an active subscription to this Marketplace listing. + + """ + viewerHasPurchased: Boolean! + + """ + Indicates if the current user has purchased a subscription to this Marketplace listing + for all of the organizations the user owns. + + """ + viewerHasPurchasedForAllOrganizations: Boolean! + + """ + Does the current viewer role allow them to administer this Marketplace listing. + + """ + viewerIsListingAdmin: Boolean! +} + +"""Look up Marketplace Listings""" +type MarketplaceListingConnection { + """A list of edges.""" + edges: [MarketplaceListingEdge] + + """A list of nodes.""" + nodes: [MarketplaceListing] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type MarketplaceListingEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: MarketplaceListing +} + +"""Autogenerated input type of MarkFileAsViewed""" +input MarkFileAsViewedInput { + """The Node ID of the pull request.""" + pullRequestId: ID! + + """The path of the file to mark as viewed""" + path: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MarkFileAsViewed""" +type MarkFileAsViewedPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated pull request.""" + pullRequest: PullRequest +} + +"""Autogenerated input type of MarkPullRequestReadyForReview""" +input MarkPullRequestReadyForReviewInput { + """ID of the pull request to be marked as ready for review.""" + pullRequestId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MarkPullRequestReadyForReview""" +type MarkPullRequestReadyForReviewPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The pull request that is ready for review.""" + pullRequest: PullRequest +} + +"""Audit log entry for a members_can_delete_repos.clear event.""" +type MembersCanDeleteReposClearAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI + id: ID! + + """The corresponding operation type for the action""" + operationType: OperationType + + """The Organization associated with the Audit Entry.""" + organization: Organization + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI +} + +"""Audit log entry for a members_can_delete_repos.disable event.""" +type MembersCanDeleteReposDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI + id: ID! + + """The corresponding operation type for the action""" + operationType: OperationType + + """The Organization associated with the Audit Entry.""" + organization: Organization + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI +} + +"""Audit log entry for a members_can_delete_repos.enable event.""" +type MembersCanDeleteReposEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI + id: ID! + + """The corresponding operation type for the action""" + operationType: OperationType + + """The Organization associated with the Audit Entry.""" + organization: Organization + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI +} + +"""Entities that have members who can set status messages.""" +interface MemberStatusable { + """ + Get the status messages members of this entity have set that are either public or visible only to the organization. + """ + memberStatuses( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for user statuses returned from the connection.""" + orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC} + ): UserStatusConnection! +} + +"""Represents a 'mentioned' event on a given issue or pull request.""" +type MentionedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! +} + +"""Whether or not a PullRequest can be merged.""" +enum MergeableState { + """The pull request can be merged.""" + MERGEABLE + + """The pull request cannot be merged due to merge conflicts.""" + CONFLICTING + + """The mergeability of the pull request is still being calculated.""" + UNKNOWN +} + +"""Autogenerated input type of MergeBranch""" +input MergeBranchInput { + """ + The Node ID of the Repository containing the base branch that will be modified. + """ + repositoryId: ID! + + """ + The name of the base branch that the provided head will be merged into. + """ + base: String! + + """ + The head to merge into the base branch. This can be a branch name or a commit GitObjectID. + """ + head: String! + + """ + Message to use for the merge commit. If omitted, a default will be used. + """ + commitMessage: String + + """The email address to associate with this commit.""" + authorEmail: String + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MergeBranch""" +type MergeBranchPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The resulting merge Commit.""" + mergeCommit: Commit +} + +"""The possible default commit messages for merges.""" +enum MergeCommitMessage { + """Default to the pull request's title.""" + PR_TITLE + + """Default to the pull request's body.""" + PR_BODY + + """Default to a blank commit message.""" + BLANK +} + +"""The possible default commit titles for merges.""" +enum MergeCommitTitle { + """Default to the pull request's title.""" + PR_TITLE + + """ + Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + """ + MERGE_MESSAGE +} + +"""Represents a 'merged' event on a given pull request.""" +type MergedEvent implements Node & UniformResourceLocatable { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the commit associated with the `merge` event.""" + commit: Commit + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Identifies the Ref associated with the `merge` event.""" + mergeRef: Ref + + """Identifies the name of the Ref associated with the `merge` event.""" + mergeRefName: String! + + """PullRequest referenced by event.""" + pullRequest: PullRequest! + + """The HTTP path for this merged event.""" + resourcePath: URI! + + """The HTTP URL for this merged event.""" + url: URI! +} + +"""Autogenerated input type of MergePullRequest""" +input MergePullRequestInput { + """ID of the pull request to be merged.""" + pullRequestId: ID! + + """ + Commit headline to use for the merge commit; if omitted, a default message will be used. + """ + commitHeadline: String + + """ + Commit body to use for the merge commit; if omitted, a default message will be used + """ + commitBody: String + + """ + OID that the pull request head ref must match to allow merge; if omitted, no check is performed. + """ + expectedHeadOid: GitObjectID + + """The merge method to use. If omitted, defaults to 'MERGE'""" + mergeMethod: PullRequestMergeMethod = MERGE + + """The email address to associate with this merge.""" + authorEmail: String + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MergePullRequest""" +type MergePullRequestPayload { + """Identifies the actor who performed the event.""" + actor: Actor + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The pull request that was merged.""" + pullRequest: PullRequest +} + +""" +The queue of pull request entries to be merged into a protected branch in a repository. +""" +type MergeQueue implements Node { + """The configuration for this merge queue""" + configuration: MergeQueueConfiguration + + """The entries in the queue""" + entries( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): MergeQueueEntryConnection + id: ID! + + """ + The estimated time in seconds until a newly added entry would be merged + """ + nextEntryEstimatedTimeToMerge: Int + + """The repository this merge queue belongs to""" + repository: Repository + + """The HTTP path for this merge queue""" + resourcePath: URI! + + """The HTTP URL for this merge queue""" + url: URI! +} + +"""Configuration for a MergeQueue""" +type MergeQueueConfiguration { + """ + The amount of time in minutes to wait for a check response before considering it a failure. + """ + checkResponseTimeout: Int + + """The maximum number of entries to build at once.""" + maximumEntriesToBuild: Int + + """The maximum number of entries to merge at once.""" + maximumEntriesToMerge: Int + + """The merge method to use for this queue.""" + mergeMethod: PullRequestMergeMethod + + """The strategy to use when merging entries.""" + mergingStrategy: MergeQueueMergingStrategy + + """The minimum number of entries required to merge at once.""" + minimumEntriesToMerge: Int + + """ + The amount of time in minutes to wait before ignoring the minumum number of + entries in the queue requirement and merging a collection of entries + """ + minimumEntriesToMergeWaitTime: Int +} + +"""Entries in a MergeQueue""" +type MergeQueueEntry implements Node { + """The base commit for this entry""" + baseCommit: Commit + + """The date and time this entry was added to the merge queue""" + enqueuedAt: DateTime! + + """The actor that enqueued this entry""" + enqueuer: Actor! + + """The estimated time in seconds until this entry will be merged""" + estimatedTimeToMerge: Int + + """The head commit for this entry""" + headCommit: Commit + id: ID! + + """Whether this pull request should jump the queue""" + jump: Boolean! + + """The merge queue that this entry belongs to""" + mergeQueue: MergeQueue + + """The position of this entry in the queue""" + position: Int! + + """The pull request that will be added to a merge group""" + pullRequest: PullRequest + + """Does this pull request need to be deployed on its own""" + solo: Boolean! + + """The state of this entry in the queue""" + state: MergeQueueEntryState! +} + +"""The connection type for MergeQueueEntry.""" +type MergeQueueEntryConnection { + """A list of edges.""" + edges: [MergeQueueEntryEdge] + + """A list of nodes.""" + nodes: [MergeQueueEntry] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type MergeQueueEntryEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: MergeQueueEntry +} + +"""The possible states for a merge queue entry.""" +enum MergeQueueEntryState { + """The entry is currently queued.""" + QUEUED + + """The entry is currently waiting for checks to pass.""" + AWAITING_CHECKS + + """The entry is currently mergeable.""" + MERGEABLE + + """The entry is currently unmergeable.""" + UNMERGEABLE + + """The entry is currently locked.""" + LOCKED +} + +"""The possible merging strategies for a merge queue.""" +enum MergeQueueMergingStrategy { + """Entries only allowed to merge if they are passing.""" + ALLGREEN + + """Failing Entires are allowed to merge if they are with a passing entry.""" + HEADGREEN +} + +"""Represents a GitHub Enterprise Importer (GEI) migration.""" +interface Migration { + """The migration flag to continue on error.""" + continueOnError: Boolean! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: String + + """The reason the migration failed.""" + failureReason: String + id: ID! + + """ + The URL for the migration log (expires 1 day after migration completes). + """ + migrationLogUrl: URI + + """The migration source.""" + migrationSource: MigrationSource! + + """The target repository name.""" + repositoryName: String! + + """ + The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. + """ + sourceUrl: URI! + + """The migration state.""" + state: MigrationState! +} + +"""A GitHub Enterprise Importer (GEI) migration source.""" +type MigrationSource implements Node { + id: ID! + + """The migration source name.""" + name: String! + + """The migration source type.""" + type: MigrationSourceType! + + """ + The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. + """ + url: URI! +} + +""" +Represents the different GitHub Enterprise Importer (GEI) migration sources. +""" +enum MigrationSourceType { + """An Azure DevOps migration source.""" + AZURE_DEVOPS + + """A Bitbucket Server migration source.""" + BITBUCKET_SERVER + + """A GitHub Migration API source.""" + GITHUB_ARCHIVE +} + +"""The GitHub Enterprise Importer (GEI) migration state.""" +enum MigrationState { + """The migration has not started.""" + NOT_STARTED + + """The migration has been queued.""" + QUEUED + + """The migration is in progress.""" + IN_PROGRESS + + """The migration has succeeded.""" + SUCCEEDED + + """The migration has failed.""" + FAILED + + """The migration needs to have its credentials validated.""" + PENDING_VALIDATION + + """The migration has invalid credentials.""" + FAILED_VALIDATION +} + +"""Represents a Milestone object on a given repository.""" +type Milestone implements Node & Closable & UniformResourceLocatable { + """ + Indicates if the object is closed (definition of closed may depend on type) + """ + closed: Boolean! + + """Identifies the date and time when the object was closed.""" + closedAt: DateTime + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the actor who created the milestone.""" + creator: Actor + + """Identifies the description of the milestone.""" + description: String + + """Identifies the due date of the milestone.""" + dueOn: DateTime + id: ID! + + """A list of issues associated with the milestone.""" + issues( + """Ordering options for issues returned from the connection.""" + orderBy: IssueOrder + + """A list of label names to filter the pull requests by.""" + labels: [String!] + + """A list of states to filter the issues by.""" + states: [IssueState!] + + """Filtering options for issues returned from the connection.""" + filterBy: IssueFilters + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueConnection! + + """Identifies the number of the milestone.""" + number: Int! + + """Identifies the percentage complete for the milestone""" + progressPercentage: Float! + + """A list of pull requests associated with the milestone.""" + pullRequests( + """A list of states to filter the pull requests by.""" + states: [PullRequestState!] + + """A list of label names to filter the pull requests by.""" + labels: [String!] + + """The head ref name to filter the pull requests by.""" + headRefName: String + + """The base ref name to filter the pull requests by.""" + baseRefName: String + + """Ordering options for pull requests returned from the connection.""" + orderBy: IssueOrder + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestConnection! + + """The repository associated with this milestone.""" + repository: Repository! + + """The HTTP path for this milestone""" + resourcePath: URI! + + """Identifies the state of the milestone.""" + state: MilestoneState! + + """Identifies the title of the milestone.""" + title: String! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this milestone""" + url: URI! + + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! + + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! +} + +"""The connection type for Milestone.""" +type MilestoneConnection { + """A list of edges.""" + edges: [MilestoneEdge] + + """A list of nodes.""" + nodes: [Milestone] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" totalCount: Int! } -"""An edge in a connection.""" -type EnterpriseUserAccountEdge { - """A cursor for use in pagination.""" - cursor: String! +"""Represents a 'milestoned' event on a given issue or pull request.""" +type MilestonedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Identifies the milestone title associated with the 'milestoned' event.""" + milestoneTitle: String! + + """Object referenced by event.""" + subject: MilestoneItem! +} + +"""An edge in a connection.""" +type MilestoneEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Milestone +} + +"""Types that can be inside a Milestone.""" +union MilestoneItem = Issue | PullRequest + +"""Ordering options for milestone connections.""" +input MilestoneOrder { + """The field to order milestones by.""" + field: MilestoneOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which milestone connections can be ordered.""" +enum MilestoneOrderField { + """Order milestones by when they are due.""" + DUE_DATE + + """Order milestones by when they were created.""" + CREATED_AT + + """Order milestones by when they were last updated.""" + UPDATED_AT + + """Order milestones by their number.""" + NUMBER +} + +"""The possible states of a milestone.""" +enum MilestoneState { + """A milestone that is still open.""" + OPEN + + """A milestone that has been closed.""" + CLOSED +} + +"""Entities that can be minimized.""" +interface Minimizable { + """Returns whether or not a comment has been minimized.""" + isMinimized: Boolean! + + """ + Returns why the comment was minimized. One of `abuse`, `off-topic`, + `outdated`, `resolved`, `duplicate` and `spam`. Note that the case and + formatting of these values differs from the inputs to the `MinimizeComment` mutation. + """ + minimizedReason: String + + """Check if the current viewer can minimize this object.""" + viewerCanMinimize: Boolean! +} + +"""Autogenerated input type of MinimizeComment""" +input MinimizeCommentInput { + """The Node ID of the subject to modify.""" + subjectId: ID! + + """The classification of comment""" + classifier: ReportedContentClassifiers! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MinimizeComment""" +type MinimizeCommentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The comment that was minimized.""" + minimizedComment: Minimizable +} + +""" +Represents a 'moved_columns_in_project' event on a given issue or pull request. +""" +type MovedColumnsInProjectEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! +} + +"""Autogenerated input type of MoveProjectCard""" +input MoveProjectCardInput { + """The id of the card to move.""" + cardId: ID! + + """The id of the column to move it into.""" + columnId: ID! + + """ + Place the new card after the card with this id. Pass null to place it at the top. + """ + afterCardId: ID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MoveProjectCard""" +type MoveProjectCardPayload { + """The new edge of the moved card.""" + cardEdge: ProjectCardEdge + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated input type of MoveProjectColumn""" +input MoveProjectColumnInput { + """The id of the column to move.""" + columnId: ID! + + """ + Place the new column after the column with this id. Pass null to place it at the front. + """ + afterColumnId: ID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of MoveProjectColumn""" +type MoveProjectColumnPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new edge of the moved column.""" + columnEdge: ProjectColumnEdge +} + +"""The root query for implementing GraphQL mutations.""" +type Mutation { + """Clear all of a customer's queued migrations""" + abortQueuedMigrations( + """Parameters for AbortQueuedMigrations""" + input: AbortQueuedMigrationsInput! + ): AbortQueuedMigrationsPayload + + """ + Accepts a pending invitation for a user to become an administrator of an enterprise. + """ + acceptEnterpriseAdministratorInvitation( + """Parameters for AcceptEnterpriseAdministratorInvitation""" + input: AcceptEnterpriseAdministratorInvitationInput! + ): AcceptEnterpriseAdministratorInvitationPayload + + """Applies a suggested topic to the repository.""" + acceptTopicSuggestion( + """Parameters for AcceptTopicSuggestion""" + input: AcceptTopicSuggestionInput! + ): AcceptTopicSuggestionPayload + + """Adds assignees to an assignable object.""" + addAssigneesToAssignable( + """Parameters for AddAssigneesToAssignable""" + input: AddAssigneesToAssignableInput! + ): AddAssigneesToAssignablePayload + + """Adds a comment to an Issue or Pull Request.""" + addComment( + """Parameters for AddComment""" + input: AddCommentInput! + ): AddCommentPayload + + """ + Adds a comment to a Discussion, possibly as a reply to another comment. + """ + addDiscussionComment( + """Parameters for AddDiscussionComment""" + input: AddDiscussionCommentInput! + ): AddDiscussionCommentPayload + + """Vote for an option in a discussion poll.""" + addDiscussionPollVote( + """Parameters for AddDiscussionPollVote""" + input: AddDiscussionPollVoteInput! + ): AddDiscussionPollVotePayload + + """Adds enterprise members to an organization within the enterprise.""" + addEnterpriseOrganizationMember( + """Parameters for AddEnterpriseOrganizationMember""" + input: AddEnterpriseOrganizationMemberInput! + ): AddEnterpriseOrganizationMemberPayload + + """Adds a support entitlement to an enterprise member.""" + addEnterpriseSupportEntitlement( + """Parameters for AddEnterpriseSupportEntitlement""" + input: AddEnterpriseSupportEntitlementInput! + ): AddEnterpriseSupportEntitlementPayload + + """Adds labels to a labelable object.""" + addLabelsToLabelable( + """Parameters for AddLabelsToLabelable""" + input: AddLabelsToLabelableInput! + ): AddLabelsToLabelablePayload + + """ + Adds a card to a ProjectColumn. Either `contentId` or `note` must be provided but **not** both. + """ + addProjectCard( + """Parameters for AddProjectCard""" + input: AddProjectCardInput! + ): AddProjectCardPayload + + """Adds a column to a Project.""" + addProjectColumn( + """Parameters for AddProjectColumn""" + input: AddProjectColumnInput! + ): AddProjectColumnPayload + + """Creates a new draft issue and add it to a Project.""" + addProjectV2DraftIssue( + """Parameters for AddProjectV2DraftIssue""" + input: AddProjectV2DraftIssueInput! + ): AddProjectV2DraftIssuePayload + + """Links an existing content instance to a Project.""" + addProjectV2ItemById( + """Parameters for AddProjectV2ItemById""" + input: AddProjectV2ItemByIdInput! + ): AddProjectV2ItemByIdPayload + + """Adds a review to a Pull Request.""" + addPullRequestReview( + """Parameters for AddPullRequestReview""" + input: AddPullRequestReviewInput! + ): AddPullRequestReviewPayload + + """Adds a comment to a review.""" + addPullRequestReviewComment( + """Parameters for AddPullRequestReviewComment""" + input: AddPullRequestReviewCommentInput! + ): AddPullRequestReviewCommentPayload + + """Adds a new thread to a pending Pull Request Review.""" + addPullRequestReviewThread( + """Parameters for AddPullRequestReviewThread""" + input: AddPullRequestReviewThreadInput! + ): AddPullRequestReviewThreadPayload + + """Adds a reaction to a subject.""" + addReaction( + """Parameters for AddReaction""" + input: AddReactionInput! + ): AddReactionPayload + + """Adds a star to a Starrable.""" + addStar( + """Parameters for AddStar""" + input: AddStarInput! + ): AddStarPayload + + """Add an upvote to a discussion or discussion comment.""" + addUpvote( + """Parameters for AddUpvote""" + input: AddUpvoteInput! + ): AddUpvotePayload + + """Adds a verifiable domain to an owning account.""" + addVerifiableDomain( + """Parameters for AddVerifiableDomain""" + input: AddVerifiableDomainInput! + ): AddVerifiableDomainPayload + + """Approve all pending deployments under one or more environments""" + approveDeployments( + """Parameters for ApproveDeployments""" + input: ApproveDeploymentsInput! + ): ApproveDeploymentsPayload + + """Approve a verifiable domain for notification delivery.""" + approveVerifiableDomain( + """Parameters for ApproveVerifiableDomain""" + input: ApproveVerifiableDomainInput! + ): ApproveVerifiableDomainPayload + + """Archives a ProjectV2Item""" + archiveProjectV2Item( + """Parameters for ArchiveProjectV2Item""" + input: ArchiveProjectV2ItemInput! + ): ArchiveProjectV2ItemPayload + + """Marks a repository as archived.""" + archiveRepository( + """Parameters for ArchiveRepository""" + input: ArchiveRepositoryInput! + ): ArchiveRepositoryPayload + + """ + Cancels a pending invitation for an administrator to join an enterprise. + """ + cancelEnterpriseAdminInvitation( + """Parameters for CancelEnterpriseAdminInvitation""" + input: CancelEnterpriseAdminInvitationInput! + ): CancelEnterpriseAdminInvitationPayload + + """Cancel an active sponsorship.""" + cancelSponsorship( + """Parameters for CancelSponsorship""" + input: CancelSponsorshipInput! + ): CancelSponsorshipPayload + + """Update your status on GitHub.""" + changeUserStatus( + """Parameters for ChangeUserStatus""" + input: ChangeUserStatusInput! + ): ChangeUserStatusPayload + + """Clears all labels from a labelable object.""" + clearLabelsFromLabelable( + """Parameters for ClearLabelsFromLabelable""" + input: ClearLabelsFromLabelableInput! + ): ClearLabelsFromLabelablePayload + + """ + This mutation clears the value of a field for an item in a Project. Currently + only text, number, date, assignees, labels, single-select, iteration and + milestone fields are supported. + """ + clearProjectV2ItemFieldValue( + """Parameters for ClearProjectV2ItemFieldValue""" + input: ClearProjectV2ItemFieldValueInput! + ): ClearProjectV2ItemFieldValuePayload + + """ + Creates a new project by cloning configuration from an existing project. + """ + cloneProject( + """Parameters for CloneProject""" + input: CloneProjectInput! + ): CloneProjectPayload + + """ + Create a new repository with the same files and directory structure as a template repository. + """ + cloneTemplateRepository( + """Parameters for CloneTemplateRepository""" + input: CloneTemplateRepositoryInput! + ): CloneTemplateRepositoryPayload + + """Close a discussion.""" + closeDiscussion( + """Parameters for CloseDiscussion""" + input: CloseDiscussionInput! + ): CloseDiscussionPayload + + """Close an issue.""" + closeIssue( + """Parameters for CloseIssue""" + input: CloseIssueInput! + ): CloseIssuePayload + + """Close a pull request.""" + closePullRequest( + """Parameters for ClosePullRequest""" + input: ClosePullRequestInput! + ): ClosePullRequestPayload + + """ + Convert a project note card to one associated with a newly created issue. + """ + convertProjectCardNoteToIssue( + """Parameters for ConvertProjectCardNoteToIssue""" + input: ConvertProjectCardNoteToIssueInput! + ): ConvertProjectCardNoteToIssuePayload + + """Converts a pull request to draft""" + convertPullRequestToDraft( + """Parameters for ConvertPullRequestToDraft""" + input: ConvertPullRequestToDraftInput! + ): ConvertPullRequestToDraftPayload + + """Copy a project.""" + copyProjectV2( + """Parameters for CopyProjectV2""" + input: CopyProjectV2Input! + ): CopyProjectV2Payload + + """Invites a user to claim reattributable data""" + createAttributionInvitation( + """Parameters for CreateAttributionInvitation""" + input: CreateAttributionInvitationInput! + ): CreateAttributionInvitationPayload + + """Create a new branch protection rule""" + createBranchProtectionRule( + """Parameters for CreateBranchProtectionRule""" + input: CreateBranchProtectionRuleInput! + ): CreateBranchProtectionRulePayload + + """Create a check run.""" + createCheckRun( + """Parameters for CreateCheckRun""" + input: CreateCheckRunInput! + ): CreateCheckRunPayload + + """Create a check suite""" + createCheckSuite( + """Parameters for CreateCheckSuite""" + input: CreateCheckSuiteInput! + ): CreateCheckSuitePayload + + """ + Appends a commit to the given branch as the authenticated user. + + This mutation creates a commit whose parent is the HEAD of the provided + branch and also updates that branch to point to the new commit. + It can be thought of as similar to `git commit`. + + ### Locating a Branch + + Commits are appended to a `branch` of type `Ref`. + This must refer to a git branch (i.e. the fully qualified path must + begin with `refs/heads/`, although including this prefix is optional. + + Callers may specify the `branch` to commit to either by its global node + ID or by passing both of `repositoryNameWithOwner` and `refName`. For + more details see the documentation for `CommittableBranch`. + + ### Describing Changes + + `fileChanges` are specified as a `FilesChanges` object describing + `FileAdditions` and `FileDeletions`. + + Please see the documentation for `FileChanges` for more information on + how to use this argument to describe any set of file changes. + + ### Authorship + + Similar to the web commit interface, this mutation does not support + specifying the author or committer of the commit and will not add + support for this in the future. + + A commit created by a successful execution of this mutation will be + authored by the owner of the credential which authenticates the API + request. The committer will be identical to that of commits authored + using the web interface. + + If you need full control over author and committer information, please + use the Git Database REST API instead. + + ### Commit Signing + + Commits made using this mutation are automatically signed by GitHub if + supported and will be marked as verified in the user interface. + + """ + createCommitOnBranch( + """Parameters for CreateCommitOnBranch""" + input: CreateCommitOnBranchInput! + ): CreateCommitOnBranchPayload + + """Create a discussion.""" + createDiscussion( + """Parameters for CreateDiscussion""" + input: CreateDiscussionInput! + ): CreateDiscussionPayload + + """Creates an organization as part of an enterprise account.""" + createEnterpriseOrganization( + """Parameters for CreateEnterpriseOrganization""" + input: CreateEnterpriseOrganizationInput! + ): CreateEnterpriseOrganizationPayload + + """Creates an environment or simply returns it if already exists.""" + createEnvironment( + """Parameters for CreateEnvironment""" + input: CreateEnvironmentInput! + ): CreateEnvironmentPayload + + """Creates a new IP allow list entry.""" + createIpAllowListEntry( + """Parameters for CreateIpAllowListEntry""" + input: CreateIpAllowListEntryInput! + ): CreateIpAllowListEntryPayload + + """Creates a new issue.""" + createIssue( + """Parameters for CreateIssue""" + input: CreateIssueInput! + ): CreateIssuePayload + + """Create a branch linked to an issue.""" + createLinkedBranch( + """Parameters for CreateLinkedBranch""" + input: CreateLinkedBranchInput! + ): CreateLinkedBranchPayload + + """Creates a GitHub Enterprise Importer (GEI) migration source.""" + createMigrationSource( + """Parameters for CreateMigrationSource""" + input: CreateMigrationSourceInput! + ): CreateMigrationSourcePayload + + """Creates a new project.""" + createProject( + """Parameters for CreateProject""" + input: CreateProjectInput! + ): CreateProjectPayload + + """Creates a new project.""" + createProjectV2( + """Parameters for CreateProjectV2""" + input: CreateProjectV2Input! + ): CreateProjectV2Payload + + """Create a new project field.""" + createProjectV2Field( + """Parameters for CreateProjectV2Field""" + input: CreateProjectV2FieldInput! + ): CreateProjectV2FieldPayload + + """Create a new pull request""" + createPullRequest( + """Parameters for CreatePullRequest""" + input: CreatePullRequestInput! + ): CreatePullRequestPayload + + """Create a new Git Ref.""" + createRef( + """Parameters for CreateRef""" + input: CreateRefInput! + ): CreateRefPayload + + """Create a new repository.""" + createRepository( + """Parameters for CreateRepository""" + input: CreateRepositoryInput! + ): CreateRepositoryPayload + + """ + Create a GitHub Sponsors profile to allow others to sponsor you or your organization. + """ + createSponsorsListing( + """Parameters for CreateSponsorsListing""" + input: CreateSponsorsListingInput! + ): CreateSponsorsListingPayload + + """Create a new payment tier for your GitHub Sponsors profile.""" + createSponsorsTier( + """Parameters for CreateSponsorsTier""" + input: CreateSponsorsTierInput! + ): CreateSponsorsTierPayload + + """ + Start a new sponsorship of a maintainer in GitHub Sponsors, or reactivate a past sponsorship. + """ + createSponsorship( + """Parameters for CreateSponsorship""" + input: CreateSponsorshipInput! + ): CreateSponsorshipPayload + + """ + Make many one-time sponsorships for different sponsorable users or + organizations at once. Can only sponsor those who have a public GitHub + Sponsors profile. + """ + createSponsorships( + """Parameters for CreateSponsorships""" + input: CreateSponsorshipsInput! + ): CreateSponsorshipsPayload + + """Creates a new team discussion.""" + createTeamDiscussion( + """Parameters for CreateTeamDiscussion""" + input: CreateTeamDiscussionInput! + ): CreateTeamDiscussionPayload + + """Creates a new team discussion comment.""" + createTeamDiscussionComment( + """Parameters for CreateTeamDiscussionComment""" + input: CreateTeamDiscussionCommentInput! + ): CreateTeamDiscussionCommentPayload + + """Rejects a suggested topic for the repository.""" + declineTopicSuggestion( + """Parameters for DeclineTopicSuggestion""" + input: DeclineTopicSuggestionInput! + ): DeclineTopicSuggestionPayload + + """Delete a branch protection rule""" + deleteBranchProtectionRule( + """Parameters for DeleteBranchProtectionRule""" + input: DeleteBranchProtectionRuleInput! + ): DeleteBranchProtectionRulePayload + + """Deletes a deployment.""" + deleteDeployment( + """Parameters for DeleteDeployment""" + input: DeleteDeploymentInput! + ): DeleteDeploymentPayload + + """Delete a discussion and all of its replies.""" + deleteDiscussion( + """Parameters for DeleteDiscussion""" + input: DeleteDiscussionInput! + ): DeleteDiscussionPayload + + """Delete a discussion comment. If it has replies, wipe it instead.""" + deleteDiscussionComment( + """Parameters for DeleteDiscussionComment""" + input: DeleteDiscussionCommentInput! + ): DeleteDiscussionCommentPayload + + """Deletes an environment""" + deleteEnvironment( + """Parameters for DeleteEnvironment""" + input: DeleteEnvironmentInput! + ): DeleteEnvironmentPayload + + """Deletes an IP allow list entry.""" + deleteIpAllowListEntry( + """Parameters for DeleteIpAllowListEntry""" + input: DeleteIpAllowListEntryInput! + ): DeleteIpAllowListEntryPayload + + """Deletes an Issue object.""" + deleteIssue( + """Parameters for DeleteIssue""" + input: DeleteIssueInput! + ): DeleteIssuePayload + + """Deletes an IssueComment object.""" + deleteIssueComment( + """Parameters for DeleteIssueComment""" + input: DeleteIssueCommentInput! + ): DeleteIssueCommentPayload + + """Unlink a branch from an issue.""" + deleteLinkedBranch( + """Parameters for DeleteLinkedBranch""" + input: DeleteLinkedBranchInput! + ): DeleteLinkedBranchPayload + + """Deletes a project.""" + deleteProject( + """Parameters for DeleteProject""" + input: DeleteProjectInput! + ): DeleteProjectPayload + + """Deletes a project card.""" + deleteProjectCard( + """Parameters for DeleteProjectCard""" + input: DeleteProjectCardInput! + ): DeleteProjectCardPayload + + """Deletes a project column.""" + deleteProjectColumn( + """Parameters for DeleteProjectColumn""" + input: DeleteProjectColumnInput! + ): DeleteProjectColumnPayload + + """Delete a project.""" + deleteProjectV2( + """Parameters for DeleteProjectV2""" + input: DeleteProjectV2Input! + ): DeleteProjectV2Payload + + """Delete a project field.""" + deleteProjectV2Field( + """Parameters for DeleteProjectV2Field""" + input: DeleteProjectV2FieldInput! + ): DeleteProjectV2FieldPayload + + """Deletes an item from a Project.""" + deleteProjectV2Item( + """Parameters for DeleteProjectV2Item""" + input: DeleteProjectV2ItemInput! + ): DeleteProjectV2ItemPayload + + """Deletes a project workflow.""" + deleteProjectV2Workflow( + """Parameters for DeleteProjectV2Workflow""" + input: DeleteProjectV2WorkflowInput! + ): DeleteProjectV2WorkflowPayload + + """Deletes a pull request review.""" + deletePullRequestReview( + """Parameters for DeletePullRequestReview""" + input: DeletePullRequestReviewInput! + ): DeletePullRequestReviewPayload + + """Deletes a pull request review comment.""" + deletePullRequestReviewComment( + """Parameters for DeletePullRequestReviewComment""" + input: DeletePullRequestReviewCommentInput! + ): DeletePullRequestReviewCommentPayload + + """Delete a Git Ref.""" + deleteRef( + """Parameters for DeleteRef""" + input: DeleteRefInput! + ): DeleteRefPayload + + """Deletes a team discussion.""" + deleteTeamDiscussion( + """Parameters for DeleteTeamDiscussion""" + input: DeleteTeamDiscussionInput! + ): DeleteTeamDiscussionPayload + + """Deletes a team discussion comment.""" + deleteTeamDiscussionComment( + """Parameters for DeleteTeamDiscussionComment""" + input: DeleteTeamDiscussionCommentInput! + ): DeleteTeamDiscussionCommentPayload + + """Deletes a verifiable domain.""" + deleteVerifiableDomain( + """Parameters for DeleteVerifiableDomain""" + input: DeleteVerifiableDomainInput! + ): DeleteVerifiableDomainPayload + + """Remove a pull request from the merge queue.""" + dequeuePullRequest( + """Parameters for DequeuePullRequest""" + input: DequeuePullRequestInput! + ): DequeuePullRequestPayload + + """Disable auto merge on the given pull request""" + disablePullRequestAutoMerge( + """Parameters for DisablePullRequestAutoMerge""" + input: DisablePullRequestAutoMergeInput! + ): DisablePullRequestAutoMergePayload + + """Dismisses an approved or rejected pull request review.""" + dismissPullRequestReview( + """Parameters for DismissPullRequestReview""" + input: DismissPullRequestReviewInput! + ): DismissPullRequestReviewPayload + + """Dismisses the Dependabot alert.""" + dismissRepositoryVulnerabilityAlert( + """Parameters for DismissRepositoryVulnerabilityAlert""" + input: DismissRepositoryVulnerabilityAlertInput! + ): DismissRepositoryVulnerabilityAlertPayload + + """Enable the default auto-merge on a pull request.""" + enablePullRequestAutoMerge( + """Parameters for EnablePullRequestAutoMerge""" + input: EnablePullRequestAutoMergeInput! + ): EnablePullRequestAutoMergePayload + + """Add a pull request to the merge queue.""" + enqueuePullRequest( + """Parameters for EnqueuePullRequest""" + input: EnqueuePullRequestInput! + ): EnqueuePullRequestPayload + + """Follow an organization.""" + followOrganization( + """Parameters for FollowOrganization""" + input: FollowOrganizationInput! + ): FollowOrganizationPayload + + """Follow a user.""" + followUser( + """Parameters for FollowUser""" + input: FollowUserInput! + ): FollowUserPayload + + """ + Grant the migrator role to a user for all organizations under an enterprise account. + """ + grantEnterpriseOrganizationsMigratorRole( + """Parameters for GrantEnterpriseOrganizationsMigratorRole""" + input: GrantEnterpriseOrganizationsMigratorRoleInput! + ): GrantEnterpriseOrganizationsMigratorRolePayload + + """Grant the migrator role to a user or a team.""" + grantMigratorRole( + """Parameters for GrantMigratorRole""" + input: GrantMigratorRoleInput! + ): GrantMigratorRolePayload + + """Invite someone to become an administrator of the enterprise.""" + inviteEnterpriseAdmin( + """Parameters for InviteEnterpriseAdmin""" + input: InviteEnterpriseAdminInput! + ): InviteEnterpriseAdminPayload + + """Links a project to a repository.""" + linkProjectV2ToRepository( + """Parameters for LinkProjectV2ToRepository""" + input: LinkProjectV2ToRepositoryInput! + ): LinkProjectV2ToRepositoryPayload + + """Links a project to a team.""" + linkProjectV2ToTeam( + """Parameters for LinkProjectV2ToTeam""" + input: LinkProjectV2ToTeamInput! + ): LinkProjectV2ToTeamPayload + + """Creates a repository link for a project.""" + linkRepositoryToProject( + """Parameters for LinkRepositoryToProject""" + input: LinkRepositoryToProjectInput! + ): LinkRepositoryToProjectPayload + + """Lock a lockable object""" + lockLockable( + """Parameters for LockLockable""" + input: LockLockableInput! + ): LockLockablePayload + + """ + Mark a discussion comment as the chosen answer for discussions in an answerable category. + """ + markDiscussionCommentAsAnswer( + """Parameters for MarkDiscussionCommentAsAnswer""" + input: MarkDiscussionCommentAsAnswerInput! + ): MarkDiscussionCommentAsAnswerPayload + + """Mark a pull request file as viewed""" + markFileAsViewed( + """Parameters for MarkFileAsViewed""" + input: MarkFileAsViewedInput! + ): MarkFileAsViewedPayload + + """Marks a pull request ready for review.""" + markPullRequestReadyForReview( + """Parameters for MarkPullRequestReadyForReview""" + input: MarkPullRequestReadyForReviewInput! + ): MarkPullRequestReadyForReviewPayload + + """Merge a head into a branch.""" + mergeBranch( + """Parameters for MergeBranch""" + input: MergeBranchInput! + ): MergeBranchPayload + + """Merge a pull request.""" + mergePullRequest( + """Parameters for MergePullRequest""" + input: MergePullRequestInput! + ): MergePullRequestPayload + + """Minimizes a comment on an Issue, Commit, Pull Request, or Gist""" + minimizeComment( + """Parameters for MinimizeComment""" + input: MinimizeCommentInput! + ): MinimizeCommentPayload + + """Moves a project card to another place.""" + moveProjectCard( + """Parameters for MoveProjectCard""" + input: MoveProjectCardInput! + ): MoveProjectCardPayload + + """Moves a project column to another place.""" + moveProjectColumn( + """Parameters for MoveProjectColumn""" + input: MoveProjectColumnInput! + ): MoveProjectColumnPayload + + """Pin an issue to a repository""" + pinIssue( + """Parameters for PinIssue""" + input: PinIssueInput! + ): PinIssuePayload + + """ + Publish an existing sponsorship tier that is currently still a draft to a GitHub Sponsors profile. + """ + publishSponsorsTier( + """Parameters for PublishSponsorsTier""" + input: PublishSponsorsTierInput! + ): PublishSponsorsTierPayload + + """Regenerates the identity provider recovery codes for an enterprise""" + regenerateEnterpriseIdentityProviderRecoveryCodes( + """Parameters for RegenerateEnterpriseIdentityProviderRecoveryCodes""" + input: RegenerateEnterpriseIdentityProviderRecoveryCodesInput! + ): RegenerateEnterpriseIdentityProviderRecoveryCodesPayload + + """Regenerates a verifiable domain's verification token.""" + regenerateVerifiableDomainToken( + """Parameters for RegenerateVerifiableDomainToken""" + input: RegenerateVerifiableDomainTokenInput! + ): RegenerateVerifiableDomainTokenPayload + + """Reject all pending deployments under one or more environments""" + rejectDeployments( + """Parameters for RejectDeployments""" + input: RejectDeploymentsInput! + ): RejectDeploymentsPayload + + """Removes assignees from an assignable object.""" + removeAssigneesFromAssignable( + """Parameters for RemoveAssigneesFromAssignable""" + input: RemoveAssigneesFromAssignableInput! + ): RemoveAssigneesFromAssignablePayload + + """Removes an administrator from the enterprise.""" + removeEnterpriseAdmin( + """Parameters for RemoveEnterpriseAdmin""" + input: RemoveEnterpriseAdminInput! + ): RemoveEnterpriseAdminPayload + + """Removes the identity provider from an enterprise""" + removeEnterpriseIdentityProvider( + """Parameters for RemoveEnterpriseIdentityProvider""" + input: RemoveEnterpriseIdentityProviderInput! + ): RemoveEnterpriseIdentityProviderPayload + + """Removes a user from all organizations within the enterprise""" + removeEnterpriseMember( + """Parameters for RemoveEnterpriseMember""" + input: RemoveEnterpriseMemberInput! + ): RemoveEnterpriseMemberPayload + + """Removes an organization from the enterprise""" + removeEnterpriseOrganization( + """Parameters for RemoveEnterpriseOrganization""" + input: RemoveEnterpriseOrganizationInput! + ): RemoveEnterpriseOrganizationPayload + + """Removes a support entitlement from an enterprise member.""" + removeEnterpriseSupportEntitlement( + """Parameters for RemoveEnterpriseSupportEntitlement""" + input: RemoveEnterpriseSupportEntitlementInput! + ): RemoveEnterpriseSupportEntitlementPayload + + """Removes labels from a Labelable object.""" + removeLabelsFromLabelable( + """Parameters for RemoveLabelsFromLabelable""" + input: RemoveLabelsFromLabelableInput! + ): RemoveLabelsFromLabelablePayload + + """Removes outside collaborator from all repositories in an organization.""" + removeOutsideCollaborator( + """Parameters for RemoveOutsideCollaborator""" + input: RemoveOutsideCollaboratorInput! + ): RemoveOutsideCollaboratorPayload + + """Removes a reaction from a subject.""" + removeReaction( + """Parameters for RemoveReaction""" + input: RemoveReactionInput! + ): RemoveReactionPayload + + """Removes a star from a Starrable.""" + removeStar( + """Parameters for RemoveStar""" + input: RemoveStarInput! + ): RemoveStarPayload + + """Remove an upvote to a discussion or discussion comment.""" + removeUpvote( + """Parameters for RemoveUpvote""" + input: RemoveUpvoteInput! + ): RemoveUpvotePayload + + """Reopen a discussion.""" + reopenDiscussion( + """Parameters for ReopenDiscussion""" + input: ReopenDiscussionInput! + ): ReopenDiscussionPayload + + """Reopen a issue.""" + reopenIssue( + """Parameters for ReopenIssue""" + input: ReopenIssueInput! + ): ReopenIssuePayload + + """Reopen a pull request.""" + reopenPullRequest( + """Parameters for ReopenPullRequest""" + input: ReopenPullRequestInput! + ): ReopenPullRequestPayload + + """Set review requests on a pull request.""" + requestReviews( + """Parameters for RequestReviews""" + input: RequestReviewsInput! + ): RequestReviewsPayload + + """Rerequests an existing check suite.""" + rerequestCheckSuite( + """Parameters for RerequestCheckSuite""" + input: RerequestCheckSuiteInput! + ): RerequestCheckSuitePayload + + """Marks a review thread as resolved.""" + resolveReviewThread( + """Parameters for ResolveReviewThread""" + input: ResolveReviewThreadInput! + ): ResolveReviewThreadPayload + + """ + Retire a published payment tier from your GitHub Sponsors profile so it cannot be used to start new sponsorships. + """ + retireSponsorsTier( + """Parameters for RetireSponsorsTier""" + input: RetireSponsorsTierInput! + ): RetireSponsorsTierPayload + + """ + Create a pull request that reverts the changes from a merged pull request. + """ + revertPullRequest( + """Parameters for RevertPullRequest""" + input: RevertPullRequestInput! + ): RevertPullRequestPayload + + """ + Revoke the migrator role to a user for all organizations under an enterprise account. + """ + revokeEnterpriseOrganizationsMigratorRole( + """Parameters for RevokeEnterpriseOrganizationsMigratorRole""" + input: RevokeEnterpriseOrganizationsMigratorRoleInput! + ): RevokeEnterpriseOrganizationsMigratorRolePayload + + """Revoke the migrator role from a user or a team.""" + revokeMigratorRole( + """Parameters for RevokeMigratorRole""" + input: RevokeMigratorRoleInput! + ): RevokeMigratorRolePayload + + """Creates or updates the identity provider for an enterprise.""" + setEnterpriseIdentityProvider( + """Parameters for SetEnterpriseIdentityProvider""" + input: SetEnterpriseIdentityProviderInput! + ): SetEnterpriseIdentityProviderPayload + + """ + Set an organization level interaction limit for an organization's public repositories. + """ + setOrganizationInteractionLimit( + """Parameters for SetOrganizationInteractionLimit""" + input: SetOrganizationInteractionLimitInput! + ): SetOrganizationInteractionLimitPayload + + """Sets an interaction limit setting for a repository.""" + setRepositoryInteractionLimit( + """Parameters for SetRepositoryInteractionLimit""" + input: SetRepositoryInteractionLimitInput! + ): SetRepositoryInteractionLimitPayload + + """Set a user level interaction limit for an user's public repositories.""" + setUserInteractionLimit( + """Parameters for SetUserInteractionLimit""" + input: SetUserInteractionLimitInput! + ): SetUserInteractionLimitPayload + + """Starts a GitHub Enterprise Importer organization migration.""" + startOrganizationMigration( + """Parameters for StartOrganizationMigration""" + input: StartOrganizationMigrationInput! + ): StartOrganizationMigrationPayload + + """Starts a GitHub Enterprise Importer (GEI) repository migration.""" + startRepositoryMigration( + """Parameters for StartRepositoryMigration""" + input: StartRepositoryMigrationInput! + ): StartRepositoryMigrationPayload + + """Submits a pending pull request review.""" + submitPullRequestReview( + """Parameters for SubmitPullRequestReview""" + input: SubmitPullRequestReviewInput! + ): SubmitPullRequestReviewPayload + + """Transfer an organization from one enterprise to another enterprise.""" + transferEnterpriseOrganization( + """Parameters for TransferEnterpriseOrganization""" + input: TransferEnterpriseOrganizationInput! + ): TransferEnterpriseOrganizationPayload + + """Transfer an issue to a different repository""" + transferIssue( + """Parameters for TransferIssue""" + input: TransferIssueInput! + ): TransferIssuePayload + + """Unarchives a ProjectV2Item""" + unarchiveProjectV2Item( + """Parameters for UnarchiveProjectV2Item""" + input: UnarchiveProjectV2ItemInput! + ): UnarchiveProjectV2ItemPayload + + """Unarchives a repository.""" + unarchiveRepository( + """Parameters for UnarchiveRepository""" + input: UnarchiveRepositoryInput! + ): UnarchiveRepositoryPayload + + """Unfollow an organization.""" + unfollowOrganization( + """Parameters for UnfollowOrganization""" + input: UnfollowOrganizationInput! + ): UnfollowOrganizationPayload + + """Unfollow a user.""" + unfollowUser( + """Parameters for UnfollowUser""" + input: UnfollowUserInput! + ): UnfollowUserPayload + + """Unlinks a project from a repository.""" + unlinkProjectV2FromRepository( + """Parameters for UnlinkProjectV2FromRepository""" + input: UnlinkProjectV2FromRepositoryInput! + ): UnlinkProjectV2FromRepositoryPayload + + """Unlinks a project to a team.""" + unlinkProjectV2FromTeam( + """Parameters for UnlinkProjectV2FromTeam""" + input: UnlinkProjectV2FromTeamInput! + ): UnlinkProjectV2FromTeamPayload + + """Deletes a repository link from a project.""" + unlinkRepositoryFromProject( + """Parameters for UnlinkRepositoryFromProject""" + input: UnlinkRepositoryFromProjectInput! + ): UnlinkRepositoryFromProjectPayload + + """Unlock a lockable object""" + unlockLockable( + """Parameters for UnlockLockable""" + input: UnlockLockableInput! + ): UnlockLockablePayload + + """ + Unmark a discussion comment as the chosen answer for discussions in an answerable category. + """ + unmarkDiscussionCommentAsAnswer( + """Parameters for UnmarkDiscussionCommentAsAnswer""" + input: UnmarkDiscussionCommentAsAnswerInput! + ): UnmarkDiscussionCommentAsAnswerPayload + + """Unmark a pull request file as viewed""" + unmarkFileAsViewed( + """Parameters for UnmarkFileAsViewed""" + input: UnmarkFileAsViewedInput! + ): UnmarkFileAsViewedPayload + + """Unmark an issue as a duplicate of another issue.""" + unmarkIssueAsDuplicate( + """Parameters for UnmarkIssueAsDuplicate""" + input: UnmarkIssueAsDuplicateInput! + ): UnmarkIssueAsDuplicatePayload + + """Unminimizes a comment on an Issue, Commit, Pull Request, or Gist""" + unminimizeComment( + """Parameters for UnminimizeComment""" + input: UnminimizeCommentInput! + ): UnminimizeCommentPayload + + """Unpin a pinned issue from a repository""" + unpinIssue( + """Parameters for UnpinIssue""" + input: UnpinIssueInput! + ): UnpinIssuePayload + + """Marks a review thread as unresolved.""" + unresolveReviewThread( + """Parameters for UnresolveReviewThread""" + input: UnresolveReviewThreadInput! + ): UnresolveReviewThreadPayload + + """Update a branch protection rule""" + updateBranchProtectionRule( + """Parameters for UpdateBranchProtectionRule""" + input: UpdateBranchProtectionRuleInput! + ): UpdateBranchProtectionRulePayload + + """Update a check run""" + updateCheckRun( + """Parameters for UpdateCheckRun""" + input: UpdateCheckRunInput! + ): UpdateCheckRunPayload + + """Modifies the settings of an existing check suite""" + updateCheckSuitePreferences( + """Parameters for UpdateCheckSuitePreferences""" + input: UpdateCheckSuitePreferencesInput! + ): UpdateCheckSuitePreferencesPayload + + """Update a discussion""" + updateDiscussion( + """Parameters for UpdateDiscussion""" + input: UpdateDiscussionInput! + ): UpdateDiscussionPayload + + """Update the contents of a comment on a Discussion""" + updateDiscussionComment( + """Parameters for UpdateDiscussionComment""" + input: UpdateDiscussionCommentInput! + ): UpdateDiscussionCommentPayload + + """Updates the role of an enterprise administrator.""" + updateEnterpriseAdministratorRole( + """Parameters for UpdateEnterpriseAdministratorRole""" + input: UpdateEnterpriseAdministratorRoleInput! + ): UpdateEnterpriseAdministratorRolePayload + + """Sets whether private repository forks are enabled for an enterprise.""" + updateEnterpriseAllowPrivateRepositoryForkingSetting( + """Parameters for UpdateEnterpriseAllowPrivateRepositoryForkingSetting""" + input: UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput! + ): UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload + + """ + Sets the base repository permission for organizations in an enterprise. + """ + updateEnterpriseDefaultRepositoryPermissionSetting( + """Parameters for UpdateEnterpriseDefaultRepositoryPermissionSetting""" + input: UpdateEnterpriseDefaultRepositoryPermissionSettingInput! + ): UpdateEnterpriseDefaultRepositoryPermissionSettingPayload + + """ + Sets whether organization members with admin permissions on a repository can change repository visibility. + """ + updateEnterpriseMembersCanChangeRepositoryVisibilitySetting( + """ + Parameters for UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting + """ + input: UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput! + ): UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload + + """Sets the members can create repositories setting for an enterprise.""" + updateEnterpriseMembersCanCreateRepositoriesSetting( + """Parameters for UpdateEnterpriseMembersCanCreateRepositoriesSetting""" + input: UpdateEnterpriseMembersCanCreateRepositoriesSettingInput! + ): UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload + + """Sets the members can delete issues setting for an enterprise.""" + updateEnterpriseMembersCanDeleteIssuesSetting( + """Parameters for UpdateEnterpriseMembersCanDeleteIssuesSetting""" + input: UpdateEnterpriseMembersCanDeleteIssuesSettingInput! + ): UpdateEnterpriseMembersCanDeleteIssuesSettingPayload + + """Sets the members can delete repositories setting for an enterprise.""" + updateEnterpriseMembersCanDeleteRepositoriesSetting( + """Parameters for UpdateEnterpriseMembersCanDeleteRepositoriesSetting""" + input: UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput! + ): UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload + + """ + Sets whether members can invite collaborators are enabled for an enterprise. + """ + updateEnterpriseMembersCanInviteCollaboratorsSetting( + """Parameters for UpdateEnterpriseMembersCanInviteCollaboratorsSetting""" + input: UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput! + ): UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload + + """Sets whether or not an organization admin can make purchases.""" + updateEnterpriseMembersCanMakePurchasesSetting( + """Parameters for UpdateEnterpriseMembersCanMakePurchasesSetting""" + input: UpdateEnterpriseMembersCanMakePurchasesSettingInput! + ): UpdateEnterpriseMembersCanMakePurchasesSettingPayload + + """ + Sets the members can update protected branches setting for an enterprise. + """ + updateEnterpriseMembersCanUpdateProtectedBranchesSetting( + """ + Parameters for UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting + """ + input: UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput! + ): UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload + + """Sets the members can view dependency insights for an enterprise.""" + updateEnterpriseMembersCanViewDependencyInsightsSetting( + """Parameters for UpdateEnterpriseMembersCanViewDependencyInsightsSetting""" + input: UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput! + ): UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload + + """Sets whether organization projects are enabled for an enterprise.""" + updateEnterpriseOrganizationProjectsSetting( + """Parameters for UpdateEnterpriseOrganizationProjectsSetting""" + input: UpdateEnterpriseOrganizationProjectsSettingInput! + ): UpdateEnterpriseOrganizationProjectsSettingPayload + + """Updates the role of an enterprise owner with an organization.""" + updateEnterpriseOwnerOrganizationRole( + """Parameters for UpdateEnterpriseOwnerOrganizationRole""" + input: UpdateEnterpriseOwnerOrganizationRoleInput! + ): UpdateEnterpriseOwnerOrganizationRolePayload + + """Updates an enterprise's profile.""" + updateEnterpriseProfile( + """Parameters for UpdateEnterpriseProfile""" + input: UpdateEnterpriseProfileInput! + ): UpdateEnterpriseProfilePayload + + """Sets whether repository projects are enabled for a enterprise.""" + updateEnterpriseRepositoryProjectsSetting( + """Parameters for UpdateEnterpriseRepositoryProjectsSetting""" + input: UpdateEnterpriseRepositoryProjectsSettingInput! + ): UpdateEnterpriseRepositoryProjectsSettingPayload + + """Sets whether team discussions are enabled for an enterprise.""" + updateEnterpriseTeamDiscussionsSetting( + """Parameters for UpdateEnterpriseTeamDiscussionsSetting""" + input: UpdateEnterpriseTeamDiscussionsSettingInput! + ): UpdateEnterpriseTeamDiscussionsSettingPayload + + """ + Sets whether two factor authentication is required for all users in an enterprise. + """ + updateEnterpriseTwoFactorAuthenticationRequiredSetting( + """Parameters for UpdateEnterpriseTwoFactorAuthenticationRequiredSetting""" + input: UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput! + ): UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload + + """Updates an environment.""" + updateEnvironment( + """Parameters for UpdateEnvironment""" + input: UpdateEnvironmentInput! + ): UpdateEnvironmentPayload + + """Sets whether an IP allow list is enabled on an owner.""" + updateIpAllowListEnabledSetting( + """Parameters for UpdateIpAllowListEnabledSetting""" + input: UpdateIpAllowListEnabledSettingInput! + ): UpdateIpAllowListEnabledSettingPayload + + """Updates an IP allow list entry.""" + updateIpAllowListEntry( + """Parameters for UpdateIpAllowListEntry""" + input: UpdateIpAllowListEntryInput! + ): UpdateIpAllowListEntryPayload + + """ + Sets whether IP allow list configuration for installed GitHub Apps is enabled on an owner. + """ + updateIpAllowListForInstalledAppsEnabledSetting( + """Parameters for UpdateIpAllowListForInstalledAppsEnabledSetting""" + input: UpdateIpAllowListForInstalledAppsEnabledSettingInput! + ): UpdateIpAllowListForInstalledAppsEnabledSettingPayload + + """Updates an Issue.""" + updateIssue( + """Parameters for UpdateIssue""" + input: UpdateIssueInput! + ): UpdateIssuePayload + + """Updates an IssueComment object.""" + updateIssueComment( + """Parameters for UpdateIssueComment""" + input: UpdateIssueCommentInput! + ): UpdateIssueCommentPayload + + """ + Update the setting to restrict notifications to only verified or approved domains available to an owner. + """ + updateNotificationRestrictionSetting( + """Parameters for UpdateNotificationRestrictionSetting""" + input: UpdateNotificationRestrictionSettingInput! + ): UpdateNotificationRestrictionSettingPayload + + """Sets whether private repository forks are enabled for an organization.""" + updateOrganizationAllowPrivateRepositoryForkingSetting( + """Parameters for UpdateOrganizationAllowPrivateRepositoryForkingSetting""" + input: UpdateOrganizationAllowPrivateRepositoryForkingSettingInput! + ): UpdateOrganizationAllowPrivateRepositoryForkingSettingPayload + + """ + Sets whether contributors are required to sign off on web-based commits for repositories in an organization. + """ + updateOrganizationWebCommitSignoffSetting( + """Parameters for UpdateOrganizationWebCommitSignoffSetting""" + input: UpdateOrganizationWebCommitSignoffSettingInput! + ): UpdateOrganizationWebCommitSignoffSettingPayload + + """Updates an existing project.""" + updateProject( + """Parameters for UpdateProject""" + input: UpdateProjectInput! + ): UpdateProjectPayload + + """Updates an existing project card.""" + updateProjectCard( + """Parameters for UpdateProjectCard""" + input: UpdateProjectCardInput! + ): UpdateProjectCardPayload + + """Updates an existing project column.""" + updateProjectColumn( + """Parameters for UpdateProjectColumn""" + input: UpdateProjectColumnInput! + ): UpdateProjectColumnPayload + + """Updates an existing project (beta).""" + updateProjectV2( + """Parameters for UpdateProjectV2""" + input: UpdateProjectV2Input! + ): UpdateProjectV2Payload + + """Updates a draft issue within a Project.""" + updateProjectV2DraftIssue( + """Parameters for UpdateProjectV2DraftIssue""" + input: UpdateProjectV2DraftIssueInput! + ): UpdateProjectV2DraftIssuePayload + + """ + This mutation updates the value of a field for an item in a Project. Currently + only single-select, text, number, date, and iteration fields are supported. + """ + updateProjectV2ItemFieldValue( + """Parameters for UpdateProjectV2ItemFieldValue""" + input: UpdateProjectV2ItemFieldValueInput! + ): UpdateProjectV2ItemFieldValuePayload + + """ + This mutation updates the position of the item in the project, where the position represents the priority of an item. + """ + updateProjectV2ItemPosition( + """Parameters for UpdateProjectV2ItemPosition""" + input: UpdateProjectV2ItemPositionInput! + ): UpdateProjectV2ItemPositionPayload + + """Update a pull request""" + updatePullRequest( + """Parameters for UpdatePullRequest""" + input: UpdatePullRequestInput! + ): UpdatePullRequestPayload + + """Merge or Rebase HEAD from upstream branch into pull request branch""" + updatePullRequestBranch( + """Parameters for UpdatePullRequestBranch""" + input: UpdatePullRequestBranchInput! + ): UpdatePullRequestBranchPayload + + """Updates the body of a pull request review.""" + updatePullRequestReview( + """Parameters for UpdatePullRequestReview""" + input: UpdatePullRequestReviewInput! + ): UpdatePullRequestReviewPayload + + """Updates a pull request review comment.""" + updatePullRequestReviewComment( + """Parameters for UpdatePullRequestReviewComment""" + input: UpdatePullRequestReviewCommentInput! + ): UpdatePullRequestReviewCommentPayload + + """Update a Git Ref.""" + updateRef( + """Parameters for UpdateRef""" + input: UpdateRefInput! + ): UpdateRefPayload + + """Update information about a repository.""" + updateRepository( + """Parameters for UpdateRepository""" + input: UpdateRepositoryInput! + ): UpdateRepositoryPayload + + """ + Sets whether contributors are required to sign off on web-based commits for a repository. + """ + updateRepositoryWebCommitSignoffSetting( + """Parameters for UpdateRepositoryWebCommitSignoffSetting""" + input: UpdateRepositoryWebCommitSignoffSettingInput! + ): UpdateRepositoryWebCommitSignoffSettingPayload + + """ + Change visibility of your sponsorship and opt in or out of email updates from the maintainer. + """ + updateSponsorshipPreferences( + """Parameters for UpdateSponsorshipPreferences""" + input: UpdateSponsorshipPreferencesInput! + ): UpdateSponsorshipPreferencesPayload + + """Updates the state for subscribable subjects.""" + updateSubscription( + """Parameters for UpdateSubscription""" + input: UpdateSubscriptionInput! + ): UpdateSubscriptionPayload + + """Updates a team discussion.""" + updateTeamDiscussion( + """Parameters for UpdateTeamDiscussion""" + input: UpdateTeamDiscussionInput! + ): UpdateTeamDiscussionPayload + + """Updates a discussion comment.""" + updateTeamDiscussionComment( + """Parameters for UpdateTeamDiscussionComment""" + input: UpdateTeamDiscussionCommentInput! + ): UpdateTeamDiscussionCommentPayload + + """Update team repository.""" + updateTeamsRepository( + """Parameters for UpdateTeamsRepository""" + input: UpdateTeamsRepositoryInput! + ): UpdateTeamsRepositoryPayload + + """Replaces the repository's topics with the given topics.""" + updateTopics( + """Parameters for UpdateTopics""" + input: UpdateTopicsInput! + ): UpdateTopicsPayload + + """Verify that a verifiable domain has the expected DNS record.""" + verifyVerifiableDomain( + """Parameters for VerifyVerifiableDomain""" + input: VerifyVerifiableDomainInput! + ): VerifyVerifiableDomainPayload +} + +"""An object with an ID.""" +interface Node { + """ID of the object.""" + id: ID! +} + +"""The possible values for the notification restriction setting.""" +enum NotificationRestrictionSettingValue { + """The setting is enabled for the owner.""" + ENABLED + + """The setting is disabled for the owner.""" + DISABLED +} + +"""Metadata for an audit entry with action oauth_application.*""" +interface OauthApplicationAuditEntryData { + """The name of the OAuth Application.""" + oauthApplicationName: String + + """The HTTP path for the OAuth Application""" + oauthApplicationResourcePath: URI + + """The HTTP URL for the OAuth Application""" + oauthApplicationUrl: URI +} + +"""Audit log entry for a oauth_application.create event.""" +type OauthApplicationCreateAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The application URL of the OAuth Application.""" + applicationUrl: URI + + """The callback URL of the OAuth Application.""" + callbackUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! + + """The name of the OAuth Application.""" + oauthApplicationName: String + + """The HTTP path for the OAuth Application""" + oauthApplicationResourcePath: URI + + """The HTTP URL for the OAuth Application""" + oauthApplicationUrl: URI + + """The corresponding operation type for the action""" + operationType: OperationType + + """The Organization associated with the Audit Entry.""" + organization: Organization + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The rate limit of the OAuth Application.""" + rateLimit: Int + + """The state of the OAuth Application.""" + state: OauthApplicationCreateAuditEntryState + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI +} + +"""The state of an OAuth Application when it was created.""" +enum OauthApplicationCreateAuditEntryState { + """The OAuth Application was active and allowed to have OAuth Accesses.""" + ACTIVE + + """ + The OAuth Application was suspended from generating OAuth Accesses due to abuse or security concerns. + """ + SUSPENDED + + """The OAuth Application was in the process of being deleted.""" + PENDING_DELETION +} + +""" +An OIDC identity provider configured to provision identities for an enterprise. +""" +type OIDCProvider implements Node { + """The enterprise this identity provider belongs to.""" + enterprise: Enterprise + + """ExternalIdentities provisioned by this identity provider.""" + externalIdentities( + """Filter to external identities with valid org membership only""" + membersOnly: Boolean + + """Filter to external identities with the users login""" + login: String + + """Filter to external identities with the users userName/NameID attribute""" + userName: String + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ExternalIdentityConnection! + id: ID! + + """The OIDC identity provider type""" + providerType: OIDCProviderType! + + """The id of the tenant this provider is attached to""" + tenantId: String! +} + +"""The OIDC identity provider type""" +enum OIDCProviderType { + """Azure Active Directory""" + AAD +} + +"""The corresponding operation type for the action""" +enum OperationType { + """An existing resource was accessed""" + ACCESS + + """A resource performed an authentication event""" + AUTHENTICATION + + """A new resource was created""" + CREATE + + """An existing resource was modified""" + MODIFY + + """An existing resource was removed""" + REMOVE + + """An existing resource was restored""" + RESTORE + + """An existing resource was transferred between multiple resources""" + TRANSFER +} + +""" +Possible directions in which to order a list of items when provided an `orderBy` argument. +""" +enum OrderDirection { + """Specifies an ascending order for a given `orderBy` argument.""" + ASC - """The item at the end of the edge.""" - node: EnterpriseUserAccount + """Specifies a descending order for a given `orderBy` argument.""" + DESC } -"""The possible roles for enterprise membership.""" -enum EnterpriseUserAccountMembershipRole { - """The user is a member of the enterprise membership.""" - MEMBER +"""Audit log entry for a org.add_billing_manager""" +type OrgAddBillingManagerAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The user is an owner of the enterprise membership.""" - OWNER -} + """The user who initiated the action""" + actor: AuditEntryActor -"""The possible GitHub Enterprise deployments where this user can exist.""" -enum EnterpriseUserDeployment { - """The user is part of a GitHub Enterprise Cloud deployment.""" - CLOUD + """The IP address of the actor""" + actorIp: String - """The user is part of a GitHub Enterprise Server deployment.""" - SERVER + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! + + """ + The email address used to invite a billing manager for the organization. + """ + invitationEmail: String + + """The corresponding operation type for the action""" + operationType: OperationType + + """The Organization associated with the Audit Entry.""" + organization: Organization + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI } -"""An external identity provisioned by SAML SSO or SCIM.""" -type ExternalIdentity implements Node { - """The GUID for this identity""" - guid: String! +"""Audit log entry for a org.add_member""" +type OrgAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """Organization invitation for this SCIM-provisioned external identity""" - organizationInvitation: OrganizationInvitation + """The corresponding operation type for the action""" + operationType: OperationType - """SAML Identity attributes""" - samlIdentity: ExternalIdentitySamlAttributes + """The Organization associated with the Audit Entry.""" + organization: Organization - """SCIM Identity attributes""" - scimIdentity: ExternalIdentityScimAttributes + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The permission level of the member added to the organization.""" + permission: OrgAddMemberAuditEntryPermission + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI +} + +"""The permissions available to members on an Organization.""" +enum OrgAddMemberAuditEntryPermission { + """Can read and clone repositories.""" + READ + + """Can read, clone, push, and add collaborators to repositories.""" + ADMIN +} + +""" +An account on GitHub, with one or more owners, that has repositories, members and teams. +""" +type Organization implements Node & Actor & PackageOwner & ProjectOwner & ProjectV2Owner & ProjectV2Recent & RepositoryDiscussionAuthor & RepositoryDiscussionCommentAuthor & RepositoryOwner & UniformResourceLocatable & MemberStatusable & ProfileOwner & Sponsorable & AnnouncementBanner { + """The text of the announcement""" + announcement: String + + """The expiration date of the announcement, if any""" + announcementExpiresAt: DateTime + + """Whether the announcement can be dismissed by the user""" + announcementUserDismissible: Boolean + + """ + Determine if this repository owner has any items that can be pinned to their profile. + """ + anyPinnableItems( + """Filter to only a particular kind of pinnable item.""" + type: PinnableItemType + ): Boolean! + + """Audit log entries of the organization""" + auditLog( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The query string to filter audit entries""" + query: String + + """Ordering options for the returned audit log entries.""" + orderBy: AuditLogOrder = {field: CREATED_AT, direction: DESC} + ): OrganizationAuditEntryConnection! + + """A URL pointing to the organization's public avatar.""" + avatarUrl( + """The size of the resulting square image.""" + size: Int + ): URI! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The organization's public profile description.""" + description: String + + """The organization's public profile description rendered to HTML.""" + descriptionHTML: String + + """A list of domains owned by the organization.""" + domains( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Filter by if the domain is verified.""" + isVerified: Boolean = null + + """Filter by if the domain is approved.""" + isApproved: Boolean = null + + """Ordering options for verifiable domains returned.""" + orderBy: VerifiableDomainOrder = {field: DOMAIN, direction: ASC} + ): VerifiableDomainConnection + + """The organization's public email.""" + email: String + + """A list of owners of the organization's enterprise account.""" + enterpriseOwners( + """The search string to look for.""" + query: String + + """The organization role to filter by.""" + organizationRole: RoleInOrganization + + """Ordering options for enterprise owners returned from the connection.""" + orderBy: OrgEnterpriseOwnerOrder = {field: LOGIN, direction: ASC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): OrganizationEnterpriseOwnerConnection! + + """ + The estimated next GitHub Sponsors payout for this user/organization in cents (USD). + """ + estimatedNextSponsorsPayoutInCents: Int! + + """True if this user/organization has a GitHub Sponsors listing.""" + hasSponsorsListing: Boolean! + id: ID! + + """The interaction ability settings for this organization.""" + interactionAbility: RepositoryInteractionAbility """ - User linked to this external identity. Will be NULL if this identity has not been claimed by an organization member. + The setting value for whether the organization has an IP allow list enabled. """ - user: User -} + ipAllowListEnabledSetting: IpAllowListEnabledSettingValue! -"""The connection type for ExternalIdentity.""" -type ExternalIdentityConnection { - """A list of edges.""" - edges: [ExternalIdentityEdge] + """ + The IP addresses that are allowed to access resources owned by the organization. + """ + ipAllowListEntries( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A list of nodes.""" - nodes: [ExternalIdentity] + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Returns the last _n_ elements from the list.""" + last: Int -"""An edge in a connection.""" -type ExternalIdentityEdge { - """A cursor for use in pagination.""" - cursor: String! + """Ordering options for IP allow list entries returned.""" + orderBy: IpAllowListEntryOrder = {field: ALLOW_LIST_VALUE, direction: ASC} + ): IpAllowListEntryConnection! - """The item at the end of the edge.""" - node: ExternalIdentity -} + """ + The setting value for whether the organization has IP allow list configuration for installed GitHub Apps enabled. + """ + ipAllowListForInstalledAppsEnabledSetting: IpAllowListForInstalledAppsEnabledSettingValue! -"""SAML attributes for the External Identity""" -type ExternalIdentitySamlAttributes { - """The emails associated with the SAML identity""" - emails: [UserEmailMetadata!] + """Whether the given account is sponsoring this user/organization.""" + isSponsoredBy( + """The target account's login.""" + accountLogin: String! + ): Boolean! - """Family name of the SAML identity""" - familyName: String + """True if the viewer is sponsored by this user/organization.""" + isSponsoringViewer: Boolean! - """Given name of the SAML identity""" - givenName: String + """Whether the organization has verified its profile email and website.""" + isVerified: Boolean! - """The groups linked to this identity in IDP""" - groups: [String!] + """ + Showcases a selection of repositories and gists that the profile owner has + either curated or that have been selected automatically based on popularity. + """ + itemShowcase: ProfileItemShowcase! - """The NameID of the SAML identity""" - nameId: String + """The organization's public profile location.""" + location: String - """The userName of the SAML identity""" - username: String -} + """The organization's login name.""" + login: String! -"""SCIM attributes for the External Identity""" -type ExternalIdentityScimAttributes { - """The emails associated with the SCIM identity""" - emails: [UserEmailMetadata!] + """A list of all mannequins for this organization.""" + mannequins( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Family name of the SCIM identity""" - familyName: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Given name of the SCIM identity""" - givenName: String + """Returns the first _n_ elements from the list.""" + first: Int - """The groups linked to this identity in IDP""" - groups: [String!] + """Returns the last _n_ elements from the list.""" + last: Int - """The userName of the SCIM identity""" - username: String -} + """Ordering options for mannequins returned from the connection.""" + orderBy: MannequinOrder = {field: CREATED_AT, direction: ASC} + ): MannequinConnection! -"""The possible viewed states of a file .""" -enum FileViewedState { - """The file has new changes since last viewed.""" - DISMISSED + """ + Get the status messages members of this entity have set that are either public or visible only to the organization. + """ + memberStatuses( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The file has been marked as viewed.""" - VIEWED + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The file has not been marked as viewed.""" - UNVIEWED -} + """Returns the first _n_ elements from the list.""" + first: Int -"""The connection type for User.""" -type FollowerConnection { - """A list of edges.""" - edges: [UserEdge] + """Returns the last _n_ elements from the list.""" + last: Int - """A list of nodes.""" - nodes: [User] + """Ordering options for user statuses returned from the connection.""" + orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC} + ): UserStatusConnection! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Members can fork private repositories in this organization""" + membersCanForkPrivateRepositories: Boolean! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """A list of users who are members of this organization.""" + membersWithRole( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""The connection type for User.""" -type FollowingConnection { - """A list of edges.""" - edges: [UserEdge] + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """A list of nodes.""" - nodes: [User] + """Returns the first _n_ elements from the list.""" + first: Int - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Returns the last _n_ elements from the list.""" + last: Int + ): OrganizationMemberConnection! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """ + The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). + """ + monthlyEstimatedSponsorsIncomeInCents: Int! -"""Autogenerated input type of FollowUser""" -input FollowUserInput { - """ID of the user to follow.""" - userId: ID! + """The organization's public profile name.""" + name: String - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The HTTP path creating a new team""" + newTeamResourcePath: URI! -"""Autogenerated return type of FollowUser""" -type FollowUserPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL creating a new team""" + newTeamUrl: URI! - """The user that was followed.""" - user: User -} + """ + Indicates if email notification delivery for this organization is restricted to verified or approved domains. + """ + notificationDeliveryRestrictionEnabledSetting: NotificationRestrictionSettingValue! -"""A funding platform link for a repository.""" -type FundingLink { - """The funding platform this link is for.""" - platform: FundingPlatform! + """The billing email for the organization.""" + organizationBillingEmail: String - """The configured URL for this funding link.""" - url: URI! -} + """A list of packages under the owner.""" + packages( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""The possible funding platforms for repository funding links.""" -enum FundingPlatform { - """GitHub funding platform.""" - GITHUB + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Patreon funding platform.""" - PATREON + """Returns the first _n_ elements from the list.""" + first: Int - """Open Collective funding platform.""" - OPEN_COLLECTIVE + """Returns the last _n_ elements from the list.""" + last: Int - """Ko-fi funding platform.""" - KO_FI + """Find packages by their names.""" + names: [String] - """Tidelift funding platform.""" - TIDELIFT + """Find packages in a repository by ID.""" + repositoryId: ID - """Community Bridge funding platform.""" - COMMUNITY_BRIDGE + """Filter registry package by type.""" + packageType: PackageType - """Liberapay funding platform.""" - LIBERAPAY + """Ordering of the returned packages.""" + orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} + ): PackageConnection! - """IssueHunt funding platform.""" - ISSUEHUNT + """A list of users who have been invited to join this organization.""" + pendingMembers( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Otechie funding platform.""" - OTECHIE + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Custom funding platform.""" - CUSTOM -} + """Returns the first _n_ elements from the list.""" + first: Int -"""A generic hovercard context with a message and icon""" -type GenericHovercardContext implements HovercardContext { - """A string describing this context""" - message: String! + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! - """An octicon to accompany this context""" - octicon: String! -} + """ + A list of repositories and gists this profile owner can pin to their profile. + """ + pinnableItems( + """Filter the types of pinnable items that are returned.""" + types: [PinnableItemType!] -"""A Gist.""" -type Gist implements Node & Starrable & UniformResourceLocatable { - """A list of comments associated with the gist""" - comments( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -6323,25 +15326,15 @@ type Gist implements Node & Starrable & UniformResourceLocatable { """Returns the last _n_ elements from the list.""" last: Int - ): GistCommentConnection! - - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - - """The gist description.""" - description: String - - """The files in this gist.""" - files( - """The maximum number of files to return.""" - limit: Int = 10 + ): PinnableItemConnection! - """The oid of the files to return""" - oid: GitObjectID - ): [GistFile] + """ + A list of repositories and gists this profile owner has pinned to their profile + """ + pinnedItems( + """Filter the types of pinned items that are returned.""" + types: [PinnableItemType!] - """A list of forks associated with the gist""" - forks( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -6355,38 +15348,36 @@ type Gist implements Node & Starrable & UniformResourceLocatable { """Returns the last _n_ elements from the list.""" last: Int + ): PinnableItemConnection! - """Ordering options for gists returned from the connection""" - orderBy: GistOrder - ): GistConnection! - id: ID! - - """Identifies if the gist is a fork.""" - isFork: Boolean! - - """Whether the gist is public or not.""" - isPublic: Boolean! + """ + Returns how many more items this profile owner can pin to their profile. + """ + pinnedItemsRemaining: Int! - """The gist name.""" - name: String! + """Find project by number.""" + project( + """The project number to find.""" + number: Int! + ): Project - """The gist owner.""" - owner: RepositoryOwner + """Find a project by number.""" + projectV2( + """The project number.""" + number: Int! + ): ProjectV2 - """Identifies when the gist was last pushed to.""" - pushedAt: DateTime + """A list of projects under the owner.""" + projects( + """Ordering options for projects returned from the connection""" + orderBy: ProjectOrder - """The HTML path to this resource.""" - resourcePath: URI! + """Query to search projects by, currently only searching by name.""" + search: String - """ - Returns a count of how many stargazers there are on this object - - """ - stargazerCount: Int! + """A list of states to filter the projects by.""" + states: [ProjectState!] - """A list of users who have starred this starrable.""" - stargazers( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -6400,78 +15391,41 @@ type Gist implements Node & Starrable & UniformResourceLocatable { """Returns the last _n_ elements from the list.""" last: Int + ): ProjectConnection! - """Order for connection""" - orderBy: StarOrder - ): StargazerConnection! - - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! - - """The HTTP URL for this Gist.""" - url: URI! - - """ - Returns a boolean indicating whether the viewing user has starred this starrable. - """ - viewerHasStarred: Boolean! -} - -"""Represents a comment on an Gist.""" -type GistComment implements Node & Comment & Deletable & Minimizable & Updatable & UpdatableComment { - """The actor who authored the comment.""" - author: Actor - - """Author's association with the gist.""" - authorAssociation: CommentAuthorAssociation! - - """Identifies the comment body.""" - body: String! + """The HTTP path listing organization's projects""" + projectsResourcePath: URI! - """The body rendered to HTML.""" - bodyHTML: HTML! + """The HTTP URL listing organization's projects""" + projectsUrl: URI! - """The body rendered to text.""" - bodyText: String! + """A list of projects under the owner.""" + projectsV2( + """A project to search for under the the owner.""" + query: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """Check if this comment was created via an email reply.""" - createdViaEmail: Boolean! + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Identifies the primary key from the database.""" - databaseId: Int + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The actor who edited the comment.""" - editor: Actor + """Returns the first _n_ elements from the list.""" + first: Int - """The associated gist.""" - gist: Gist! - id: ID! + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! """ - Check if this comment was edited and includes an edit with the creation data + Recent projects that this user has modified in the context of the owner. """ - includesCreatedEdit: Boolean! - - """Returns whether or not a comment has been minimized.""" - isMinimized: Boolean! - - """The moment the editor made the last edit""" - lastEditedAt: DateTime - - """Returns why the comment was minimized.""" - minimizedReason: String - - """Identifies when the comment was published at.""" - publishedAt: DateTime - - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! - - """A list of edits to this content.""" - userContentEdits( + recentProjects( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -6485,516 +15439,535 @@ type GistComment implements Node & Comment & Deletable & Minimizable & Updatable """Returns the last _n_ elements from the list.""" last: Int - ): UserContentEditConnection - - """Check if the current viewer can delete this object.""" - viewerCanDelete: Boolean! - - """Check if the current viewer can minimize this object.""" - viewerCanMinimize: Boolean! - - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! - - """Reasons why the current viewer can not update this comment.""" - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! - - """Did the viewer author this comment.""" - viewerDidAuthor: Boolean! -} - -"""The connection type for GistComment.""" -type GistCommentConnection { - """A list of edges.""" - edges: [GistCommentEdge] + ): ProjectV2Connection! - """A list of nodes.""" - nodes: [GistComment] + """A list of repositories that the user owns.""" + repositories( + """If non-null, filters repositories according to privacy""" + privacy: RepositoryPrivacy - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Ordering options for repositories returned from the connection""" + orderBy: RepositoryOrder - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """ + Array of viewer's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + current viewer owns. + """ + affiliations: [RepositoryAffiliation] -"""An edge in a connection.""" -type GistCommentEdge { - """A cursor for use in pagination.""" - cursor: String! + """ + Array of owner's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + organization or user being viewed owns. + """ + ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] - """The item at the end of the edge.""" - node: GistComment -} + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean -"""The connection type for Gist.""" -type GistConnection { - """A list of edges.""" - edges: [GistEdge] + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A list of nodes.""" - nodes: [Gist] + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Returns the last _n_ elements from the list.""" + last: Int -"""An edge in a connection.""" -type GistEdge { - """A cursor for use in pagination.""" - cursor: String! + """ + If non-null, filters repositories according to whether they are forks of another repository + """ + isFork: Boolean + ): RepositoryConnection! - """The item at the end of the edge.""" - node: Gist -} + """Find Repository.""" + repository( + """Name of Repository to find.""" + name: String! -"""A file in a gist.""" -type GistFile { - """ - The file name encoded to remove characters that are invalid in URL paths. - """ - encodedName: String + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + ): Repository - """The gist file encoding.""" - encoding: String + """Discussion comments this user has authored.""" + repositoryDiscussionComments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The file extension from the file name.""" - extension: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Indicates if this file is an image.""" - isImage: Boolean! + """Returns the first _n_ elements from the list.""" + first: Int - """Whether the file's contents were truncated.""" - isTruncated: Boolean! + """Returns the last _n_ elements from the list.""" + last: Int - """The programming language this file is written in.""" - language: Language + """Filter discussion comments to only those in a specific repository.""" + repositoryId: ID - """The gist file name.""" - name: String + """ + Filter discussion comments to only those that were marked as the answer + """ + onlyAnswers: Boolean = false + ): DiscussionCommentConnection! - """The gist file size in bytes.""" - size: Int + """Discussions this user has started.""" + repositoryDiscussions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """UTF8 text data or null if the file is binary""" - text( - """Optionally truncate the returned file to this length.""" - truncate: Int - ): String -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Ordering options for gist connections""" -input GistOrder { - """The field to order repositories by.""" - field: GistOrderField! + """Returns the first _n_ elements from the list.""" + first: Int - """The ordering direction.""" - direction: OrderDirection! -} + """Returns the last _n_ elements from the list.""" + last: Int -"""Properties by which gist connections can be ordered.""" -enum GistOrderField { - """Order gists by creation time""" - CREATED_AT + """Ordering options for discussions returned from the connection.""" + orderBy: DiscussionOrder = {field: CREATED_AT, direction: DESC} - """Order gists by update time""" - UPDATED_AT + """Filter discussions to only those in a specific repository.""" + repositoryId: ID - """Order gists by push time""" - PUSHED_AT -} + """ + Filter discussions to only those that have been answered or not. Defaults to + including both answered and unanswered discussions. + """ + answered: Boolean = null -"""The privacy of a Gist""" -enum GistPrivacy { - """Public""" - PUBLIC + """A list of states to filter the discussions by.""" + states: [DiscussionState!] = [] + ): DiscussionConnection! - """Secret""" - SECRET + """A list of all repository migrations for this organization.""" + repositoryMigrations( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Gists that are public and secret""" - ALL -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Represents an actor in a Git commit (ie. an author or committer).""" -type GitActor { - """A URL pointing to the author's public avatar.""" - avatarUrl( - """The size of the resulting square image.""" - size: Int - ): URI! + """Returns the first _n_ elements from the list.""" + first: Int - """The timestamp of the Git action (authoring or committing).""" - date: GitTimestamp + """Returns the last _n_ elements from the list.""" + last: Int - """The email in the Git commit.""" - email: String + """Filter repository migrations by state.""" + state: MigrationState - """The name in the Git commit.""" - name: String + """Filter repository migrations by repository name.""" + repositoryName: String + + """Ordering options for repository migrations returned.""" + orderBy: RepositoryMigrationOrder = {field: CREATED_AT, direction: ASC} + ): RepositoryMigrationConnection! """ - The GitHub user corresponding to the email field. Null if no such user exists. + When true the organization requires all members, billing managers, and outside + collaborators to enable two-factor authentication. """ - user: User -} + requiresTwoFactorAuthentication: Boolean -"""The connection type for GitActor.""" -type GitActorConnection { - """A list of edges.""" - edges: [GitActorEdge] + """The HTTP path for this organization.""" + resourcePath: URI! - """A list of nodes.""" - nodes: [GitActor] + """The Organization's SAML identity providers""" + samlIdentityProvider: OrganizationIdentityProvider - """Information to aid in pagination.""" - pageInfo: PageInfo! + """List of users and organizations this entity is sponsoring.""" + sponsoring( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""An edge in a connection.""" -type GitActorEdge { - """A cursor for use in pagination.""" - cursor: String! + """Returns the first _n_ elements from the list.""" + first: Int - """The item at the end of the edge.""" - node: GitActor -} + """Returns the last _n_ elements from the list.""" + last: Int -"""Represents information about the GitHub instance.""" -type GitHubMetadata { - """Returns a String that's a SHA of `github-services`""" - gitHubServicesSha: GitObjectID! + """ + Ordering options for the users and organizations returned from the connection. + """ + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + ): SponsorConnection! - """IP addresses that users connect to for git operations""" - gitIpAddresses: [String!] + """List of sponsors for this user or organization.""" + sponsors( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """IP addresses that service hooks are sent from""" - hookIpAddresses: [String!] + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """IP addresses that the importer connects from""" - importerIpAddresses: [String!] + """Returns the first _n_ elements from the list.""" + first: Int - """Whether or not users are verified""" - isPasswordAuthenticationVerifiable: Boolean! + """Returns the last _n_ elements from the list.""" + last: Int - """IP addresses for GitHub Pages' A records""" - pagesIpAddresses: [String!] -} + """ + If given, will filter for sponsors at the given tier. Will only return + sponsors whose tier the viewer is permitted to see. + """ + tierId: ID -"""Represents a Git object.""" -interface GitObject { - """An abbreviated version of the Git object ID""" - abbreviatedOid: String! + """Ordering options for sponsors returned from the connection.""" + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + ): SponsorConnection! - """The HTTP path for this Git object""" - commitResourcePath: URI! + """Events involving this sponsorable, such as new sponsorships.""" + sponsorsActivities( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for this Git object""" - commitUrl: URI! - id: ID! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The Git object ID""" - oid: GitObjectID! + """Returns the first _n_ elements from the list.""" + first: Int - """The Repository the Git object belongs to""" - repository: Repository! -} + """Returns the last _n_ elements from the list.""" + last: Int -"""A Git object ID.""" -scalar GitObjectID + """ + Filter activities returned to only those that occurred in the most recent + specified time period. Set to ALL to avoid filtering by when the activity + occurred. Will be ignored if `since` or `until` is given. + """ + period: SponsorsActivityPeriod = MONTH -"""Information about a signature (GPG or S/MIME) on a Commit or Tag.""" -interface GitSignature { - """Email used to sign this object.""" - email: String! + """Filter activities to those that occurred on or after this time.""" + since: DateTime - """True if the signature is valid and verified by GitHub.""" - isValid: Boolean! + """Filter activities to those that occurred before this time.""" + until: DateTime - """ - Payload for GPG signing object. Raw ODB object without the signature header. - """ - payload: String! + """Ordering options for activity returned from the connection.""" + orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} - """ASCII-armored signature header from object.""" - signature: String! + """Filter activities to only the specified actions.""" + actions: [SponsorsActivityAction!] = [] - """GitHub user corresponding to the email signing this commit.""" - signer: User + """ + Whether to include those events where this sponsorable acted as the sponsor. + Defaults to only including events where this sponsorable was the recipient + of a sponsorship. + """ + includeAsSponsor: Boolean = false + ): SponsorsActivityConnection! + + """The GitHub Sponsors listing for this user or organization.""" + sponsorsListing: SponsorsListing """ - The state of this signature. `VALID` if signature is valid and verified by - GitHub, otherwise represents reason why signature is considered invalid. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - state: GitSignatureState! - - """True if the signature was made with GitHub's signing key.""" - wasSignedByGitHub: Boolean! -} - -"""The state of a Git signature.""" -enum GitSignatureState { - """Valid signature and verified by GitHub""" - VALID - - """Invalid signature""" - INVALID - - """Malformed signature""" - MALFORMED_SIG + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship - """Key used for signing not known to GitHub""" - UNKNOWN_KEY + """ + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. + """ + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship - """Invalid email used for signing""" - BAD_EMAIL + """List of sponsorship updates sent from this sponsorable to sponsors.""" + sponsorshipNewsletters( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Email used for signing unverified on GitHub""" - UNVERIFIED_EMAIL + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Email used for signing not known to GitHub""" - NO_USER + """Returns the first _n_ elements from the list.""" + first: Int - """Unknown signature type""" - UNKNOWN_SIG_TYPE + """Returns the last _n_ elements from the list.""" + last: Int - """Unsigned""" - UNSIGNED + """Ordering options for sponsorship updates returned from the connection.""" + orderBy: SponsorshipNewsletterOrder = {field: CREATED_AT, direction: DESC} + ): SponsorshipNewsletterConnection! """ - Internal error - the GPG verification service is unavailable at the moment + The sponsorships where this user or organization is the maintainer receiving the funds. """ - GPGVERIFY_UNAVAILABLE + sponsorshipsAsMaintainer( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Internal error - the GPG verification service misbehaved""" - GPGVERIFY_ERROR + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The usage flags for the key that signed this don't allow signing""" - NOT_SIGNING_KEY + """Returns the first _n_ elements from the list.""" + first: Int - """Signing key expired""" - EXPIRED_KEY + """Returns the last _n_ elements from the list.""" + last: Int - """Valid signature, pending certificate revocation checking""" - OCSP_PENDING + """Whether or not to include private sponsorships in the result set""" + includePrivate: Boolean = false - """Valid siganture, though certificate revocation check failed""" - OCSP_ERROR + """ + Ordering options for sponsorships returned from this connection. If left + blank, the sponsorships will be ordered based on relevancy to the viewer. + """ + orderBy: SponsorshipOrder - """The signing certificate or its chain could not be verified""" - BAD_CERT + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + ): SponsorshipConnection! - """One or more certificates in chain has been revoked""" - OCSP_REVOKED -} + """The sponsorships where this user or organization is the funder.""" + sponsorshipsAsSponsor( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""Git SSH string""" -scalar GitSSHRemote + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -""" -An ISO-8601 encoded date string. Unlike the DateTime type, GitTimestamp is not converted in UTC. -""" -scalar GitTimestamp + """Returns the first _n_ elements from the list.""" + first: Int -"""Represents a GPG signature on a Commit or Tag.""" -type GpgSignature implements GitSignature { - """Email used to sign this object.""" - email: String! + """Returns the last _n_ elements from the list.""" + last: Int - """True if the signature is valid and verified by GitHub.""" - isValid: Boolean! + """ + Ordering options for sponsorships returned from this connection. If left + blank, the sponsorships will be ordered based on relevancy to the viewer. + """ + orderBy: SponsorshipOrder - """Hex-encoded ID of the key that signed this object.""" - keyId: String + """ + Filter sponsorships returned to those for the specified maintainers. That + is, the recipient of the sponsorship is a user or organization with one of + the given logins. + """ + maintainerLogins: [String!] - """ - Payload for GPG signing object. Raw ODB object without the signature header. - """ - payload: String! + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + ): SponsorshipConnection! - """ASCII-armored signature header from object.""" - signature: String! + """Find an organization's team by its slug.""" + team( + """The name or slug of the team to find.""" + slug: String! + ): Team - """GitHub user corresponding to the email signing this commit.""" - signer: User + """A list of teams in this organization.""" + teams( + """If non-null, filters teams according to privacy""" + privacy: TeamPrivacy - """ - The state of this signature. `VALID` if signature is valid and verified by - GitHub, otherwise represents reason why signature is considered invalid. - """ - state: GitSignatureState! + """If non-null, filters teams according to notification setting""" + notificationSetting: TeamNotificationSetting - """True if the signature was made with GitHub's signing key.""" - wasSignedByGitHub: Boolean! -} + """ + If non-null, filters teams according to whether the viewer is an admin or member on team + """ + role: TeamRole -"""Represents a 'head_ref_deleted' event on a given pull request.""" -type HeadRefDeletedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """If non-null, filters teams with query on team name and team slug""" + query: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """User logins to filter by""" + userLogins: [String!] - """Identifies the Ref associated with the `head_ref_deleted` event.""" - headRef: Ref + """Ordering options for teams returned from the connection""" + orderBy: TeamOrder - """ - Identifies the name of the Ref associated with the `head_ref_deleted` event. - """ - headRefName: String! - id: ID! + """ + If true, filters teams that are mapped to an LDAP Group (Enterprise only) + """ + ldapMapped: Boolean - """PullRequest referenced by event.""" - pullRequest: PullRequest! -} + """If true, restrict to only root teams""" + rootTeamsOnly: Boolean = false -"""Represents a 'head_ref_force_pushed' event on a given pull request.""" -type HeadRefForcePushedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Identifies the after commit SHA for the 'head_ref_force_pushed' event.""" - afterCommit: Commit + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - Identifies the before commit SHA for the 'head_ref_force_pushed' event. - """ - beforeCommit: Commit + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """Returns the last _n_ elements from the list.""" + last: Int + ): TeamConnection! - """PullRequest referenced by event.""" - pullRequest: PullRequest! + """The HTTP path listing organization's teams""" + teamsResourcePath: URI! + + """The HTTP URL listing organization's teams""" + teamsUrl: URI! """ - Identifies the fully qualified ref name for the 'head_ref_force_pushed' event. + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. """ - ref: Ref -} + totalSponsorshipAmountAsSponsorInCents( + """Filter payments to those that occurred on or after this time.""" + since: DateTime -"""Represents a 'head_ref_restored' event on a given pull request.""" -type HeadRefRestoredEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """Filter payments to those that occurred before this time.""" + until: DateTime - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + ): Int - """PullRequest referenced by event.""" - pullRequest: PullRequest! -} + """The organization's Twitter username.""" + twitterUsername: String -"""Detail needed to display a hovercard for a user""" -type Hovercard { - """Each of the contexts for this hovercard""" - contexts: [HovercardContext!]! -} + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! -"""An individual line of a hovercard""" -interface HovercardContext { - """A string describing this context""" - message: String! + """The HTTP URL for this organization.""" + url: URI! - """An octicon to accompany this context""" - octicon: String! -} + """Organization is adminable by the viewer.""" + viewerCanAdminister: Boolean! -"""A string containing HTML code.""" -scalar HTML + """Can the viewer pin repositories and gists to the profile?""" + viewerCanChangePinnedItems: Boolean! -""" -The possible states in which authentication can be configured with an identity provider. -""" -enum IdentityProviderConfigurationState { - """Authentication with an identity provider is configured and enforced.""" - ENFORCED + """Can the current viewer create new projects on this owner.""" + viewerCanCreateProjects: Boolean! - """ - Authentication with an identity provider is configured but not enforced. - """ - CONFIGURED + """Viewer can create repositories on this organization""" + viewerCanCreateRepositories: Boolean! - """Authentication with an identity provider is not configured.""" - UNCONFIGURED -} + """Viewer can create teams on this organization.""" + viewerCanCreateTeams: Boolean! -"""Autogenerated input type of InviteEnterpriseAdmin""" -input InviteEnterpriseAdminInput { - """The ID of the enterprise to which you want to invite an administrator.""" - enterpriseId: ID! + """Whether or not the viewer is able to sponsor this user/organization.""" + viewerCanSponsor: Boolean! - """The login of a user to invite as an administrator.""" - invitee: String + """Viewer is an active member of this organization.""" + viewerIsAMember: Boolean! - """The email of the person to invite as an administrator.""" - email: String + """Whether or not this Organization is followed by the viewer.""" + viewerIsFollowing: Boolean! - """The role of the administrator.""" - role: EnterpriseAdministratorRole + """True if the viewer is sponsoring this user/organization.""" + viewerIsSponsoring: Boolean! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """ + Whether contributors are required to sign off on web-based commits for repositories in this organization. + """ + webCommitSignoffRequired: Boolean! + + """The organization's public profile URL.""" + websiteUrl: URI } -"""Autogenerated return type of InviteEnterpriseAdmin""" -type InviteEnterpriseAdminPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +"""An audit entry in an organization audit log.""" +union OrganizationAuditEntry = MembersCanDeleteReposClearAuditEntry | MembersCanDeleteReposDisableAuditEntry | MembersCanDeleteReposEnableAuditEntry | OauthApplicationCreateAuditEntry | OrgAddBillingManagerAuditEntry | OrgAddMemberAuditEntry | OrgBlockUserAuditEntry | OrgConfigDisableCollaboratorsOnlyAuditEntry | OrgConfigEnableCollaboratorsOnlyAuditEntry | OrgCreateAuditEntry | OrgDisableOauthAppRestrictionsAuditEntry | OrgDisableSamlAuditEntry | OrgDisableTwoFactorRequirementAuditEntry | OrgEnableOauthAppRestrictionsAuditEntry | OrgEnableSamlAuditEntry | OrgEnableTwoFactorRequirementAuditEntry | OrgInviteMemberAuditEntry | OrgInviteToBusinessAuditEntry | OrgOauthAppAccessApprovedAuditEntry | OrgOauthAppAccessDeniedAuditEntry | OrgOauthAppAccessRequestedAuditEntry | OrgRemoveBillingManagerAuditEntry | OrgRemoveMemberAuditEntry | OrgRemoveOutsideCollaboratorAuditEntry | OrgRestoreMemberAuditEntry | OrgUnblockUserAuditEntry | OrgUpdateDefaultRepositoryPermissionAuditEntry | OrgUpdateMemberAuditEntry | OrgUpdateMemberRepositoryCreationPermissionAuditEntry | OrgUpdateMemberRepositoryInvitationPermissionAuditEntry | PrivateRepositoryForkingDisableAuditEntry | PrivateRepositoryForkingEnableAuditEntry | RepoAccessAuditEntry | RepoAddMemberAuditEntry | RepoAddTopicAuditEntry | RepoArchivedAuditEntry | RepoChangeMergeSettingAuditEntry | RepoConfigDisableAnonymousGitAccessAuditEntry | RepoConfigDisableCollaboratorsOnlyAuditEntry | RepoConfigDisableContributorsOnlyAuditEntry | RepoConfigDisableSockpuppetDisallowedAuditEntry | RepoConfigEnableAnonymousGitAccessAuditEntry | RepoConfigEnableCollaboratorsOnlyAuditEntry | RepoConfigEnableContributorsOnlyAuditEntry | RepoConfigEnableSockpuppetDisallowedAuditEntry | RepoConfigLockAnonymousGitAccessAuditEntry | RepoConfigUnlockAnonymousGitAccessAuditEntry | RepoCreateAuditEntry | RepoDestroyAuditEntry | RepoRemoveMemberAuditEntry | RepoRemoveTopicAuditEntry | RepositoryVisibilityChangeDisableAuditEntry | RepositoryVisibilityChangeEnableAuditEntry | TeamAddMemberAuditEntry | TeamAddRepositoryAuditEntry | TeamChangeParentTeamAuditEntry | TeamRemoveMemberAuditEntry | TeamRemoveRepositoryAuditEntry - """The created enterprise administrator invitation.""" - invitation: EnterpriseAdministratorInvitation -} +"""The connection type for OrganizationAuditEntry.""" +type OrganizationAuditEntryConnection { + """A list of edges.""" + edges: [OrganizationAuditEntryEdge] -"""The possible values for the IP allow list enabled setting.""" -enum IpAllowListEnabledSettingValue { - """The setting is enabled for the owner.""" - ENABLED + """A list of nodes.""" + nodes: [OrganizationAuditEntry] - """The setting is disabled for the owner.""" - DISABLED + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! } -""" -An IP address or range of addresses that is allowed to access an owner's resources. -""" -type IpAllowListEntry implements Node { - """A single IP address or range of IP addresses in CIDR notation.""" - allowListValue: String! +"""Metadata for an audit entry with action org.*""" +interface OrganizationAuditEntryData { + """The Organization associated with the Audit Entry.""" + organization: Organization - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """The name of the Organization.""" + organizationName: String - """Whether the entry is currently active.""" - isActive: Boolean! + """The HTTP path for the organization""" + organizationResourcePath: URI - """The name of the IP allow list entry.""" - name: String + """The HTTP URL for the organization""" + organizationUrl: URI +} - """The owner of the IP allow list entry.""" - owner: IpAllowListOwner! +"""An edge in a connection.""" +type OrganizationAuditEntryEdge { + """A cursor for use in pagination.""" + cursor: String! - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The item at the end of the edge.""" + node: OrganizationAuditEntry } -"""The connection type for IpAllowListEntry.""" -type IpAllowListEntryConnection { +"""A list of organizations managed by an enterprise.""" +type OrganizationConnection { """A list of edges.""" - edges: [IpAllowListEntryEdge] + edges: [OrganizationEdge] """A list of nodes.""" - nodes: [IpAllowListEntry] + nodes: [Organization] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -7004,92 +15977,62 @@ type IpAllowListEntryConnection { } """An edge in a connection.""" -type IpAllowListEntryEdge { +type OrganizationEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: IpAllowListEntry + node: Organization } -"""Ordering options for IP allow list entry connections.""" -input IpAllowListEntryOrder { - """The field to order IP allow list entries by.""" - field: IpAllowListEntryOrderField! +"""The connection type for User.""" +type OrganizationEnterpriseOwnerConnection { + """A list of edges.""" + edges: [OrganizationEnterpriseOwnerEdge] - """The ordering direction.""" - direction: OrderDirection! -} + """A list of nodes.""" + nodes: [User] -"""Properties by which IP allow list entry connections can be ordered.""" -enum IpAllowListEntryOrderField { - """Order IP allow list entries by creation time.""" - CREATED_AT + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Order IP allow list entries by the allow list value.""" - ALLOW_LIST_VALUE + """Identifies the total count of items in the connection.""" + totalCount: Int! } -"""Types that can own an IP allow list.""" -union IpAllowListOwner = Enterprise | Organization - """ -An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. +An enterprise owner in the context of an organization that is part of the enterprise. """ -type Issue implements Node & Assignable & Closable & Comment & Updatable & UpdatableComment & Labelable & Lockable & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable { - """Reason that the conversation was locked.""" - activeLockReason: LockReason - - """A list of Users assigned to this object.""" - assignees( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! - - """The actor who authored the comment.""" - author: Actor - - """Author's association with the subject of the comment.""" - authorAssociation: CommentAuthorAssociation! - - """Identifies the body of the issue.""" - body: String! - - """The body rendered to HTML.""" - bodyHTML: HTML! - - """The http path for this issue body""" - bodyResourcePath: URI! +type OrganizationEnterpriseOwnerEdge { + """A cursor for use in pagination.""" + cursor: String! - """Identifies the body of the issue rendered to text.""" - bodyText: String! + """The item at the end of the edge.""" + node: User - """The http URL for this issue body""" - bodyUrl: URI! + """The role of the owner with respect to the organization.""" + organizationRole: RoleInOrganization! +} +""" +An Identity Provider configured to provision SAML and SCIM identities for Organizations +""" +type OrganizationIdentityProvider implements Node { """ - `true` if the object is closed (definition of closed may depend on type) + The digest algorithm used to sign SAML requests for the Identity Provider. """ - closed: Boolean! + digestMethod: URI - """Identifies the date and time when the object was closed.""" - closedAt: DateTime + """External Identities provisioned by this Identity Provider""" + externalIdentities( + """Filter to external identities with valid org membership only""" + membersOnly: Boolean - """A list of comments associated with the Issue.""" - comments( - """Ordering options for issue comments returned from the connection.""" - orderBy: IssueCommentOrder + """Filter to external identities with the users login""" + login: String + + """Filter to external identities with the users userName/NameID attribute""" + userName: String """Returns the elements in the list that come after the specified cursor.""" after: String @@ -7104,279 +16047,267 @@ type Issue implements Node & Assignable & Closable & Comment & Updatable & Updat """Returns the last _n_ elements from the list.""" last: Int - ): IssueCommentConnection! - - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - - """Check if this comment was created via an email reply.""" - createdViaEmail: Boolean! - - """Identifies the primary key from the database.""" - databaseId: Int - - """The actor who edited the comment.""" - editor: Actor - - """The hovercard information for this issue""" - hovercard( - """Whether or not to include notification contexts""" - includeNotificationContexts: Boolean = true - ): Hovercard! + ): ExternalIdentityConnection! id: ID! """ - Check if this comment was edited and includes an edit with the creation data + The x509 certificate used by the Identity Provider to sign assertions and responses. """ - includesCreatedEdit: Boolean! + idpCertificate: X509Certificate - """Is this issue read by the viewer""" - isReadByViewer: Boolean + """The Issuer Entity ID for the SAML Identity Provider""" + issuer: String - """A list of labels associated with the object.""" - labels( - """Ordering options for labels returned from the connection.""" - orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + """Organization this Identity Provider belongs to""" + organization: Organization - """Returns the elements in the list that come after the specified cursor.""" - after: String + """ + The signature algorithm used to sign SAML requests for the Identity Provider. + """ + signatureMethod: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The URL endpoint for the Identity Provider's SAML SSO.""" + ssoUrl: URI +} - """Returns the first _n_ elements from the list.""" - first: Int +"""An Invitation for a user to an organization.""" +type OrganizationInvitation implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Returns the last _n_ elements from the list.""" - last: Int - ): LabelConnection + """The email address of the user invited to the organization.""" + email: String + id: ID! - """The moment the editor made the last edit""" - lastEditedAt: DateTime + """The source of the invitation.""" + invitationSource: OrganizationInvitationSource! - """`true` if the object is locked""" - locked: Boolean! + """The type of invitation that was sent (e.g. email, user).""" + invitationType: OrganizationInvitationType! - """Identifies the milestone associated with the issue.""" - milestone: Milestone + """The user who was invited to the organization.""" + invitee: User - """Identifies the issue number.""" - number: Int! + """The user who created the invitation.""" + inviter: User! - """A list of Users that are participating in the Issue conversation.""" - participants( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The organization the invite is for""" + organization: Organization! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The user's pending role in the organization (e.g. member, owner).""" + role: OrganizationInvitationRole! +} - """Returns the first _n_ elements from the list.""" - first: Int +"""The connection type for OrganizationInvitation.""" +type OrganizationInvitationConnection { + """A list of edges.""" + edges: [OrganizationInvitationEdge] - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """A list of nodes.""" + nodes: [OrganizationInvitation] - """List of project cards associated with this issue.""" - projectCards( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Returns the first _n_ elements from the list.""" - first: Int +"""An edge in a connection.""" +type OrganizationInvitationEdge { + """A cursor for use in pagination.""" + cursor: String! - """Returns the last _n_ elements from the list.""" - last: Int + """The item at the end of the edge.""" + node: OrganizationInvitation +} - """A list of archived states to filter the cards by""" - archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] - ): ProjectCardConnection! +"""The possible organization invitation roles.""" +enum OrganizationInvitationRole { + """The user is invited to be a direct member of the organization.""" + DIRECT_MEMBER - """Identifies when the comment was published at.""" - publishedAt: DateTime + """The user is invited to be an admin of the organization.""" + ADMIN - """A list of reactions grouped by content left on the subject.""" - reactionGroups: [ReactionGroup!] + """The user is invited to be a billing manager of the organization.""" + BILLING_MANAGER - """A list of Reactions left on the Issue.""" - reactions( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The user's previous role will be reinstated.""" + REINSTATE +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The possible organization invitation sources.""" +enum OrganizationInvitationSource { + """The invitation was sent before this feature was added""" + UNKNOWN - """Returns the first _n_ elements from the list.""" - first: Int + """The invitation was created from the web interface or from API""" + MEMBER - """Returns the last _n_ elements from the list.""" - last: Int + """The invitation was created from SCIM""" + SCIM +} - """Allows filtering Reactions by emoji.""" - content: ReactionContent +"""The possible organization invitation types.""" +enum OrganizationInvitationType { + """The invitation was to an existing user.""" + USER - """Allows specifying the order in which reactions are returned.""" - orderBy: ReactionOrder - ): ReactionConnection! + """The invitation was to an email address.""" + EMAIL +} - """The repository associated with this node.""" - repository: Repository! +"""The connection type for User.""" +type OrganizationMemberConnection { + """A list of edges.""" + edges: [OrganizationMemberEdge] - """The HTTP path for this issue""" - resourcePath: URI! + """A list of nodes.""" + nodes: [User] - """Identifies the state of the issue.""" - state: IssueState! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """A list of events, comments, commits, etc. associated with the issue.""" - timelineItems( - """Filter timeline items by a `since` timestamp.""" - since: DateTime + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Skips the first _n_ elements in the list.""" - skip: Int +"""Represents a user within an organization.""" +type OrganizationMemberEdge { + """A cursor for use in pagination.""" + cursor: String! - """Filter timeline items by type.""" - itemTypes: [IssueTimelineItemsItemType!] + """ + Whether the organization member has two factor enabled or not. Returns null if information is not available to viewer. + """ + hasTwoFactorEnabled: Boolean - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The item at the end of the edge.""" + node: User - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The role this user has in the organization.""" + role: OrganizationMemberRole +} - """Returns the first _n_ elements from the list.""" - first: Int +"""The possible roles within an organization for its members.""" +enum OrganizationMemberRole { + """The user is a member of the organization.""" + MEMBER - """Returns the last _n_ elements from the list.""" - last: Int - ): IssueTimelineItemsConnection! + """The user is an administrator of the organization.""" + ADMIN +} - """Identifies the issue title.""" - title: String! +""" +The possible values for the members can create repositories setting on an organization. +""" +enum OrganizationMembersCanCreateRepositoriesSettingValue { + """Members will be able to create public and private repositories.""" + ALL - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """Members will be able to create only private repositories.""" + PRIVATE - """The HTTP URL for this issue""" - url: URI! + """Members will be able to create only internal repositories.""" + INTERNAL - """A list of edits to this content.""" - userContentEdits( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Members will not be able to create public or private repositories.""" + DISABLED +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""A GitHub Enterprise Importer (GEI) organization migration.""" +type OrganizationMigration implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Returns the first _n_ elements from the list.""" - first: Int + """Identifies the primary key from the database.""" + databaseId: String - """Returns the last _n_ elements from the list.""" - last: Int - ): UserContentEditConnection + """The reason the organization migration failed.""" + failureReason: String + id: ID! - """Can user react to this subject""" - viewerCanReact: Boolean! + """The remaining amount of repos to be migrated.""" + remainingRepositoriesCount: Int - """ - Check if the viewer is able to change their subscription status for the repository. - """ - viewerCanSubscribe: Boolean! + """The name of the source organization to be migrated.""" + sourceOrgName: String! - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! + """The URL of the source organization to migrate.""" + sourceOrgUrl: URI! - """Reasons why the current viewer can not update this comment.""" - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + """The migration state.""" + state: OrganizationMigrationState! - """Did the viewer author this comment.""" - viewerDidAuthor: Boolean! + """The name of the target organization.""" + targetOrgName: String! - """ - Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. - """ - viewerSubscription: SubscriptionState + """The total amount of repositories to be migrated.""" + totalRepositoriesCount: Int } -"""Represents a comment on an Issue.""" -type IssueComment implements Node & Comment & Deletable & Minimizable & Updatable & UpdatableComment & Reactable & RepositoryNode { - """The actor who authored the comment.""" - author: Actor - - """Author's association with the subject of the comment.""" - authorAssociation: CommentAuthorAssociation! +"""The Octoshift Organization migration state.""" +enum OrganizationMigrationState { + """The Octoshift migration has not started.""" + NOT_STARTED - """The body as Markdown.""" - body: String! + """The Octoshift migration has been queued.""" + QUEUED - """The body rendered to HTML.""" - bodyHTML: HTML! + """The Octoshift migration is in progress.""" + IN_PROGRESS - """The body rendered to text.""" - bodyText: String! + """The Octoshift migration is performing pre repository migrations.""" + PRE_REPO_MIGRATION - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The Octoshift org migration is performing repository migrations.""" + REPO_MIGRATION - """Check if this comment was created via an email reply.""" - createdViaEmail: Boolean! + """The Octoshift migration is performing post repository migrations.""" + POST_REPO_MIGRATION - """Identifies the primary key from the database.""" - databaseId: Int + """The Octoshift migration has succeeded.""" + SUCCEEDED - """The actor who edited the comment.""" - editor: Actor - id: ID! + """The Octoshift migration has failed.""" + FAILED +} - """ - Check if this comment was edited and includes an edit with the creation data - """ - includesCreatedEdit: Boolean! +"""Ordering options for organization connections.""" +input OrganizationOrder { + """The field to order organizations by.""" + field: OrganizationOrderField! - """Returns whether or not a comment has been minimized.""" - isMinimized: Boolean! + """The ordering direction.""" + direction: OrderDirection! +} - """Identifies the issue associated with the comment.""" - issue: Issue! +"""Properties by which organization connections can be ordered.""" +enum OrganizationOrderField { + """Order organizations by creation time""" + CREATED_AT - """The moment the editor made the last edit""" - lastEditedAt: DateTime + """Order organizations by login""" + LOGIN +} - """Returns why the comment was minimized.""" - minimizedReason: String +"""Used for argument of CreateProjectV2 mutation.""" +union OrganizationOrUser = Organization | User - """Identifies when the comment was published at.""" - publishedAt: DateTime +"""An organization list hovercard context""" +type OrganizationsHovercardContext implements HovercardContext { + """A string describing this context""" + message: String! - """ - Returns the pull request associated with the comment, if this comment was made on a - pull request. - - """ - pullRequest: PullRequest + """An octicon to accompany this context""" + octicon: String! - """A list of reactions grouped by content left on the subject.""" - reactionGroups: [ReactionGroup!] + """Organizations this user is a member of that are relevant""" + relevantOrganizations( + """Ordering options for the User's organizations.""" + orderBy: OrganizationOrder = null - """A list of Reactions left on the Issue.""" - reactions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -7390,28 +16321,22 @@ type IssueComment implements Node & Comment & Deletable & Minimizable & Updatabl """Returns the last _n_ elements from the list.""" last: Int + ): OrganizationConnection! - """Allows filtering Reactions by emoji.""" - content: ReactionContent - - """Allows specifying the order in which reactions are returned.""" - orderBy: ReactionOrder - ): ReactionConnection! - - """The repository associated with this node.""" - repository: Repository! - - """The HTTP path for this issue comment""" - resourcePath: URI! + """The total number of organizations this user is in""" + totalOrganizationCount: Int! +} - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! +"""An organization teams hovercard context""" +type OrganizationTeamsHovercardContext implements HovercardContext { + """A string describing this context""" + message: String! - """The HTTP URL for this issue comment""" - url: URI! + """An octicon to accompany this context""" + octicon: String! - """A list of edits to this content.""" - userContentEdits( + """Teams in this organization the user is a member of that are relevant""" + relevantTeams( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -7425,1154 +16350,1063 @@ type IssueComment implements Node & Comment & Deletable & Minimizable & Updatabl """Returns the last _n_ elements from the list.""" last: Int - ): UserContentEditConnection + ): TeamConnection! - """Check if the current viewer can delete this object.""" - viewerCanDelete: Boolean! + """The path for the full team list for this user""" + teamsResourcePath: URI! - """Check if the current viewer can minimize this object.""" - viewerCanMinimize: Boolean! + """The URL for the full team list for this user""" + teamsUrl: URI! - """Can user react to this subject""" - viewerCanReact: Boolean! + """The total number of teams the user is on in the organization""" + totalTeamCount: Int! +} - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! +"""Audit log entry for a org.block_user""" +type OrgBlockUserAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """Reasons why the current viewer can not update this comment.""" - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + """The user who initiated the action""" + actor: AuditEntryActor - """Did the viewer author this comment.""" - viewerDidAuthor: Boolean! -} + """The IP address of the actor""" + actorIp: String -"""The connection type for IssueComment.""" -type IssueCommentConnection { - """A list of edges.""" - edges: [IssueCommentEdge] + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """A list of nodes.""" - nodes: [IssueComment] + """The username of the user who initiated the action""" + actorLogin: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The HTTP path for the actor.""" + actorResourcePath: URI - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""An edge in a connection.""" -type IssueCommentEdge { - """A cursor for use in pagination.""" - cursor: String! + """The blocked user.""" + blockedUser: User - """The item at the end of the edge.""" - node: IssueComment -} + """The username of the blocked user.""" + blockedUserName: String -"""Ways in which lists of issue comments can be ordered upon return.""" -input IssueCommentOrder { - """The field in which to order issue comments by.""" - field: IssueCommentOrderField! + """The HTTP path for the blocked user.""" + blockedUserResourcePath: URI - """The direction in which to order issue comments by the specified field.""" - direction: OrderDirection! -} + """The HTTP URL for the blocked user.""" + blockedUserUrl: URI -"""Properties by which issue comment connections can be ordered.""" -enum IssueCommentOrderField { - """Order issue comments by update time""" - UPDATED_AT -} + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! -"""The connection type for Issue.""" -type IssueConnection { - """A list of edges.""" - edges: [IssueEdge] + """The corresponding operation type for the action""" + operationType: OperationType - """A list of nodes.""" - nodes: [Issue] + """The Organization associated with the Audit Entry.""" + organization: Organization - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The name of the Organization.""" + organizationName: String - """Identifies the total count of items in the connection.""" - totalCount: Int! + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI } -"""This aggregates issues opened by a user within one repository.""" -type IssueContributionsByRepository { - """The issue contributions.""" - contributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Audit log entry for a org.config.disable_collaborators_only event.""" +type OrgConfigDisableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The user who initiated the action""" + actor: AuditEntryActor - """Returns the first _n_ elements from the list.""" - first: Int + """The IP address of the actor""" + actorIp: String - """Returns the last _n_ elements from the list.""" - last: Int + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Ordering options for contributions returned from the connection.""" - orderBy: ContributionOrder = {direction: DESC} - ): CreatedIssueContributionConnection! + """The username of the user who initiated the action""" + actorLogin: String - """The repository in which the issues were opened.""" - repository: Repository! -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""An edge in a connection.""" -type IssueEdge { - """A cursor for use in pagination.""" - cursor: String! + """The HTTP URL for the actor.""" + actorUrl: URI - """The item at the end of the edge.""" - node: Issue -} + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! -"""Ways in which to filter lists of issues.""" -input IssueFilters { - """ - List issues assigned to given name. Pass in `null` for issues with no assigned - user, and `*` for issues assigned to any user. - """ - assignee: String + """The corresponding operation type for the action""" + operationType: OperationType - """List issues created by given name.""" - createdBy: String + """The Organization associated with the Audit Entry.""" + organization: Organization - """List issues where the list of label names exist on the issue.""" - labels: [String!] + """The name of the Organization.""" + organizationName: String - """List issues where the given name is mentioned in the issue.""" - mentioned: String + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User """ - 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. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - milestone: String - - """List issues that have been updated at or after the given date.""" - since: DateTime + userLogin: String - """List issues filtered by the list of states given.""" - states: [IssueState!] + """The HTTP path for the user.""" + userResourcePath: URI - """List issues subscribed to by viewer.""" - viewerSubscribed: Boolean = false + """The HTTP URL for the user.""" + userUrl: URI } -"""Ways in which lists of issues can be ordered upon return.""" -input IssueOrder { - """The field in which to order issues by.""" - field: IssueOrderField! +"""Audit log entry for a org.config.enable_collaborators_only event.""" +type OrgConfigEnableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The direction in which to order issues by the specified field.""" - direction: OrderDirection! -} + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! + + """The corresponding operation type for the action""" + operationType: OperationType + + """The Organization associated with the Audit Entry.""" + organization: Organization + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User -"""Properties by which issue connections can be ordered.""" -enum IssueOrderField { - """Order issues by creation time""" - CREATED_AT + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Order issues by update time""" - UPDATED_AT + """The HTTP path for the user.""" + userResourcePath: URI - """Order issues by comment count""" - COMMENTS + """The HTTP URL for the user.""" + userUrl: URI } -"""Used for return value of Repository.issueOrPullRequest.""" -union IssueOrPullRequest = Issue | PullRequest - -"""The possible states of an issue.""" -enum IssueState { - """An issue that is still open""" - OPEN +"""Audit log entry for a org.create event.""" +type OrgCreateAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """An issue that has been closed""" - CLOSED -} + """The user who initiated the action""" + actor: AuditEntryActor -"""A repository issue template.""" -type IssueTemplate { - """The template purpose.""" - about: String + """The IP address of the actor""" + actorIp: String - """The suggested issue body.""" - body: String + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The template name.""" - name: String! + """The username of the user who initiated the action""" + actorLogin: String - """The suggested issue title.""" - title: String -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""The connection type for IssueTimelineItem.""" -type IssueTimelineConnection { - """A list of edges.""" - edges: [IssueTimelineItemEdge] + """The HTTP URL for the actor.""" + actorUrl: URI - """A list of nodes.""" - nodes: [IssueTimelineItem] + """The billing plan for the Organization.""" + billingPlan: OrgCreateAuditEntryBillingPlan - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The corresponding operation type for the action""" + operationType: OperationType -"""An item in an issue timeline""" -union IssueTimelineItem = AssignedEvent | ClosedEvent | Commit | CrossReferencedEvent | DemilestonedEvent | IssueComment | LabeledEvent | LockedEvent | MilestonedEvent | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent | UserBlockedEvent + """The Organization associated with the Audit Entry.""" + organization: Organization -"""An edge in a connection.""" -type IssueTimelineItemEdge { - """A cursor for use in pagination.""" - cursor: String! + """The name of the Organization.""" + organizationName: String - """The item at the end of the edge.""" - node: IssueTimelineItem -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""An item in an issue timeline""" -union IssueTimelineItems = AddedToProjectEvent | AssignedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent | ConvertedNoteToIssueEvent | 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 HTTP URL for the organization""" + organizationUrl: URI -"""The connection type for IssueTimelineItems.""" -type IssueTimelineItemsConnection { - """A list of edges.""" - edges: [IssueTimelineItemsEdge] + """The user affected by the action""" + user: User """ - Identifies the count of items after applying `before` and `after` filters. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - filteredCount: Int! + userLogin: String - """A list of nodes.""" - nodes: [IssueTimelineItems] + """The HTTP path for the user.""" + userResourcePath: URI - """ - Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing. - """ - pageCount: Int! + """The HTTP URL for the user.""" + userUrl: URI +} - """Information to aid in pagination.""" - pageInfo: PageInfo! +"""The billing plans available for organizations.""" +enum OrgCreateAuditEntryBillingPlan { + """Free Plan""" + FREE - """Identifies the total count of items in the connection.""" - totalCount: Int! + """Team Plan""" + BUSINESS - """Identifies the date and time when the timeline was last updated.""" - updatedAt: DateTime! -} + """Enterprise Cloud Plan""" + BUSINESS_PLUS -"""An edge in a connection.""" -type IssueTimelineItemsEdge { - """A cursor for use in pagination.""" - cursor: String! + """Legacy Unlimited Plan""" + UNLIMITED - """The item at the end of the edge.""" - node: IssueTimelineItems + """Tiered Per Seat Plan""" + TIERED_PER_SEAT } -"""The possible item types found in a timeline.""" -enum IssueTimelineItemsItemType { - """Represents a comment on an Issue.""" - ISSUE_COMMENT +"""Audit log entry for a org.disable_oauth_app_restrictions event.""" +type OrgDisableOauthAppRestrictionsAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """Represents a mention made by one issue or pull request to another.""" - CROSS_REFERENCED_EVENT + """The user who initiated the action""" + actor: AuditEntryActor - """ - Represents a 'added_to_project' event on a given issue or pull request. - """ - ADDED_TO_PROJECT_EVENT + """The IP address of the actor""" + actorIp: String - """Represents an 'assigned' event on any assignable object.""" - ASSIGNED_EVENT + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Represents a 'closed' event on any `Closable`.""" - CLOSED_EVENT + """The username of the user who initiated the action""" + actorLogin: String - """Represents a 'comment_deleted' event on a given issue or pull request.""" - COMMENT_DELETED_EVENT + """The HTTP path for the actor.""" + actorResourcePath: URI - """Represents a 'connected' event on a given issue or pull request.""" - CONNECTED_EVENT + """The HTTP URL for the actor.""" + actorUrl: URI - """ - Represents a 'converted_note_to_issue' event on a given issue or pull request. - """ - CONVERTED_NOTE_TO_ISSUE_EVENT + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Represents a 'demilestoned' event on a given issue or pull request.""" - DEMILESTONED_EVENT + """The corresponding operation type for the action""" + operationType: OperationType - """Represents a 'disconnected' event on a given issue or pull request.""" - DISCONNECTED_EVENT + """The Organization associated with the Audit Entry.""" + organization: Organization - """Represents a 'labeled' event on a given issue or pull request.""" - LABELED_EVENT + """The name of the Organization.""" + organizationName: String - """Represents a 'locked' event on a given issue or pull request.""" - LOCKED_EVENT + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User """ - Represents a 'marked_as_duplicate' event on a given issue or pull request. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - MARKED_AS_DUPLICATE_EVENT + userLogin: String - """Represents a 'mentioned' event on a given issue or pull request.""" - MENTIONED_EVENT + """The HTTP path for the user.""" + userResourcePath: URI - """Represents a 'milestoned' event on a given issue or pull request.""" - MILESTONED_EVENT + """The HTTP URL for the user.""" + userUrl: URI +} - """ - Represents a 'moved_columns_in_project' event on a given issue or pull request. - """ - MOVED_COLUMNS_IN_PROJECT_EVENT +"""Audit log entry for a org.disable_saml event.""" +type OrgDisableSamlAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """Represents a 'pinned' event on a given issue or pull request.""" - PINNED_EVENT + """The user who initiated the action""" + actor: AuditEntryActor - """Represents a 'referenced' event on a given `ReferencedSubject`.""" - REFERENCED_EVENT + """The IP address of the actor""" + actorIp: String - """ - Represents a 'removed_from_project' event on a given issue or pull request. - """ - REMOVED_FROM_PROJECT_EVENT + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Represents a 'renamed' event on a given issue or pull request""" - RENAMED_TITLE_EVENT + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + + """The SAML provider's digest algorithm URL.""" + digestMethodUrl: URI + id: ID! + + """The SAML provider's issuer URL.""" + issuerUrl: URI + + """The corresponding operation type for the action""" + operationType: OperationType - """Represents a 'reopened' event on any `Closable`.""" - REOPENED_EVENT + """The Organization associated with the Audit Entry.""" + organization: Organization - """Represents a 'subscribed' event on a given `Subscribable`.""" - SUBSCRIBED_EVENT + """The name of the Organization.""" + organizationName: String - """Represents a 'transferred' event on a given issue or pull request.""" - TRANSFERRED_EVENT + """The HTTP path for the organization""" + organizationResourcePath: URI - """Represents an 'unassigned' event on any assignable object.""" - UNASSIGNED_EVENT + """The HTTP URL for the organization""" + organizationUrl: URI - """Represents an 'unlabeled' event on a given issue or pull request.""" - UNLABELED_EVENT + """The SAML provider's signature algorithm URL.""" + signatureMethodUrl: URI - """Represents an 'unlocked' event on a given issue or pull request.""" - UNLOCKED_EVENT + """The SAML provider's single sign-on URL.""" + singleSignOnUrl: URI - """Represents a 'user_blocked' event on a given user.""" - USER_BLOCKED_EVENT + """The user affected by the action""" + user: User """ - Represents an 'unmarked_as_duplicate' event on a given issue or pull request. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - UNMARKED_AS_DUPLICATE_EVENT + userLogin: String - """Represents an 'unpinned' event on a given issue or pull request.""" - UNPINNED_EVENT + """The HTTP path for the user.""" + userResourcePath: URI - """Represents an 'unsubscribed' event on a given `Subscribable`.""" - UNSUBSCRIBED_EVENT + """The HTTP URL for the user.""" + userUrl: URI } -"""Represents a user signing up for a GitHub account.""" -type JoinedGitHubContribution implements 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: Boolean! +"""Audit log entry for a org.disable_two_factor_requirement event.""" +type OrgDisableTwoFactorRequirementAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """When this contribution was made.""" - occurredAt: DateTime! + """The user who initiated the action""" + actor: AuditEntryActor - """The HTTP path for this contribution.""" - resourcePath: URI! + """The IP address of the actor""" + actorIp: String - """The HTTP URL for this contribution.""" - url: URI! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """ - The user who made this contribution. - - """ - user: User! -} + """The username of the user who initiated the action""" + actorLogin: String -"""A label for categorizing Issues or Milestones with a given Repository.""" -type Label implements Node { - """Identifies the label color.""" - color: String! + """The HTTP path for the actor.""" + actorResourcePath: URI - """Identifies the date and time when the label was created.""" - createdAt: DateTime + """The HTTP URL for the actor.""" + actorUrl: URI - """A brief description of this label.""" - description: String + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """Indicates whether or not this is a default label.""" - isDefault: Boolean! - - """A list of issues associated with this label.""" - issues( - """Ordering options for issues returned from the connection.""" - orderBy: IssueOrder - - """A list of label names to filter the pull requests by.""" - labels: [String!] + """The corresponding operation type for the action""" + operationType: OperationType - """A list of states to filter the issues by.""" - states: [IssueState!] + """The Organization associated with the Audit Entry.""" + organization: Organization - """Filtering options for issues returned from the connection.""" - filterBy: IssueFilters + """The name of the Organization.""" + organizationName: String - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP path for the organization""" + organizationResourcePath: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP URL for the organization""" + organizationUrl: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The user affected by the action""" + user: User - """Returns the last _n_ elements from the list.""" - last: Int - ): IssueConnection! + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Identifies the label name.""" - name: String! + """The HTTP path for the user.""" + userResourcePath: URI - """A list of pull requests associated with this label.""" - pullRequests( - """A list of states to filter the pull requests by.""" - states: [PullRequestState!] + """The HTTP URL for the user.""" + userUrl: URI +} - """A list of label names to filter the pull requests by.""" - labels: [String!] +"""Audit log entry for a org.enable_oauth_app_restrictions event.""" +type OrgEnableOauthAppRestrictionsAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The head ref name to filter the pull requests by.""" - headRefName: String + """The user who initiated the action""" + actor: AuditEntryActor - """The base ref name to filter the pull requests by.""" - baseRefName: String + """The IP address of the actor""" + actorIp: String - """Ordering options for pull requests returned from the connection.""" - orderBy: IssueOrder + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The username of the user who initiated the action""" + actorLogin: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP path for the actor.""" + actorResourcePath: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP URL for the actor.""" + actorUrl: URI - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestConnection! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """The repository associated with this label.""" - repository: Repository! + """The corresponding operation type for the action""" + operationType: OperationType - """The HTTP path for this label.""" - resourcePath: URI! + """The Organization associated with the Audit Entry.""" + organization: Organization - """Identifies the date and time when the label was last updated.""" - updatedAt: DateTime + """The name of the Organization.""" + organizationName: String - """The HTTP URL for this label.""" - url: URI! -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""An object that can have labels assigned to it.""" -interface Labelable { - """A list of labels associated with the object.""" - labels( - """Ordering options for labels returned from the connection.""" - orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + """The HTTP URL for the organization""" + organizationUrl: URI - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The user affected by the action""" + user: User - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP path for the user.""" + userResourcePath: URI - """Returns the last _n_ elements from the list.""" - last: Int - ): LabelConnection + """The HTTP URL for the user.""" + userUrl: URI } -"""The connection type for Label.""" -type LabelConnection { - """A list of edges.""" - edges: [LabelEdge] - - """A list of nodes.""" - nodes: [Label] - - """Information to aid in pagination.""" - pageInfo: PageInfo! +"""Audit log entry for a org.enable_saml event.""" +type OrgEnableSamlAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The user who initiated the action""" + actor: AuditEntryActor -"""Represents a 'labeled' event on a given issue or pull request.""" -type LabeledEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The IP address of the actor""" + actorIp: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Identifies the label associated with the 'labeled' event.""" - label: Label! + """The username of the user who initiated the action""" + actorLogin: String - """Identifies the `Labelable` associated with the event.""" - labelable: Labelable! -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""An edge in a connection.""" -type LabelEdge { - """A cursor for use in pagination.""" - cursor: String! + """The HTTP URL for the actor.""" + actorUrl: URI - """The item at the end of the edge.""" - node: Label -} + """The time the action was initiated""" + createdAt: PreciseDateTime! -"""Ways in which lists of labels can be ordered upon return.""" -input LabelOrder { - """The field in which to order labels by.""" - field: LabelOrderField! + """The SAML provider's digest algorithm URL.""" + digestMethodUrl: URI + id: ID! - """The direction in which to order labels by the specified field.""" - direction: OrderDirection! -} + """The SAML provider's issuer URL.""" + issuerUrl: URI -"""Properties by which label connections can be ordered.""" -enum LabelOrderField { - """Order labels by name """ - NAME + """The corresponding operation type for the action""" + operationType: OperationType - """Order labels by creation time""" - CREATED_AT -} + """The Organization associated with the Audit Entry.""" + organization: Organization -"""Represents a given language found in repositories.""" -type Language implements Node { - """The color defined for the current language.""" - color: String - id: ID! + """The name of the Organization.""" + organizationName: String - """The name of the current language.""" - name: String! -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""A list of languages associated with the parent.""" -type LanguageConnection { - """A list of edges.""" - edges: [LanguageEdge] + """The HTTP URL for the organization""" + organizationUrl: URI - """A list of nodes.""" - nodes: [Language] + """The SAML provider's signature algorithm URL.""" + signatureMethodUrl: URI - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The SAML provider's single sign-on URL.""" + singleSignOnUrl: URI - """Identifies the total count of items in the connection.""" - totalCount: Int! + """The user affected by the action""" + user: User - """The total size in bytes of files written in that language.""" - totalSize: Int! -} + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String -"""Represents the language of a repository.""" -type LanguageEdge { - cursor: String! - node: Language! + """The HTTP path for the user.""" + userResourcePath: URI - """The number of bytes of code written in the language.""" - size: Int! + """The HTTP URL for the user.""" + userUrl: URI } -"""Ordering options for language connections.""" -input LanguageOrder { - """The field to order languages by.""" - field: LanguageOrderField! +"""Audit log entry for a org.enable_two_factor_requirement event.""" +type OrgEnableTwoFactorRequirementAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The ordering direction.""" - direction: OrderDirection! -} + """The user who initiated the action""" + actor: AuditEntryActor -"""Properties by which language connections can be ordered.""" -enum LanguageOrderField { - """Order languages by the size of all files containing the language""" - SIZE -} + """The IP address of the actor""" + actorIp: String -"""A repository's open source license""" -type License implements Node { - """The full text of the license""" - body: String! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The conditions set by the license""" - conditions: [LicenseRule]! + """The username of the user who initiated the action""" + actorLogin: String - """A human-readable description of the license""" - description: String + """The HTTP path for the actor.""" + actorResourcePath: URI - """Whether the license should be featured""" - featured: Boolean! + """The HTTP URL for the actor.""" + actorUrl: URI - """Whether the license should be displayed in license pickers""" - hidden: Boolean! + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """Instructions on how to implement the license""" - implementation: String + """The corresponding operation type for the action""" + operationType: OperationType - """The lowercased SPDX ID of the license""" - key: String! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The limitations set by the license""" - limitations: [LicenseRule]! + """The name of the Organization.""" + organizationName: String - """The license full name specified by """ - name: String! + """The HTTP path for the organization""" + organizationResourcePath: URI - """Customary short name if applicable (e.g, GPLv3)""" - nickname: String + """The HTTP URL for the organization""" + organizationUrl: URI - """The permissions set by the license""" - permissions: [LicenseRule]! + """The user affected by the action""" + user: User """ - Whether the license is a pseudo-license placeholder (e.g., other, no-license) + For actions involving two users, the actor is the initiator and the user is the affected user. """ - pseudoLicense: Boolean! + userLogin: String - """Short identifier specified by """ - spdxId: String + """The HTTP path for the user.""" + userResourcePath: URI - """URL to the license on """ - url: URI + """The HTTP URL for the user.""" + userUrl: URI } -"""Describes a License's conditions, permissions, and limitations""" -type LicenseRule { - """A description of the rule""" - description: String! - - """The machine-readable rule key""" - key: String! +"""Ordering options for an organization's enterprise owner connections.""" +input OrgEnterpriseOwnerOrder { + """The field to order enterprise owners by.""" + field: OrgEnterpriseOwnerOrderField! - """The human-readable rule label""" - label: String! + """The ordering direction.""" + direction: OrderDirection! } -"""Autogenerated input type of LinkRepositoryToProject""" -input LinkRepositoryToProjectInput { - """The ID of the Project to link to a Repository""" - projectId: ID! +"""Properties by which enterprise owners can be ordered.""" +enum OrgEnterpriseOwnerOrderField { + """Order enterprise owners by login.""" + LOGIN +} - """The ID of the Repository to link to a Project.""" - repositoryId: ID! +"""Audit log entry for a org.invite_member event.""" +type OrgInviteMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The user who initiated the action""" + actor: AuditEntryActor -"""Autogenerated return type of LinkRepositoryToProject""" -type LinkRepositoryToProjectPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The IP address of the actor""" + actorIp: String - """The linked Project.""" - project: Project + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The linked Repository.""" - repository: Repository -} + """The username of the user who initiated the action""" + actorLogin: String -"""An object that can be locked.""" -interface Lockable { - """Reason that the conversation was locked.""" - activeLockReason: LockReason + """The HTTP path for the actor.""" + actorResourcePath: URI - """`true` if the object is locked""" - locked: Boolean! -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""Represents a 'locked' event on a given issue or pull request.""" -type LockedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The time the action was initiated""" + createdAt: PreciseDateTime! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The email address of the organization invitation.""" + email: String id: ID! - """Reason that the conversation was locked (optional).""" - lockReason: LockReason + """The corresponding operation type for the action""" + operationType: OperationType - """Object that was locked.""" - lockable: Lockable! -} + """The Organization associated with the Audit Entry.""" + organization: Organization -"""Autogenerated input type of LockLockable""" -input LockLockableInput { - """ID of the item to be locked.""" - lockableId: ID! + """The organization invitation.""" + organizationInvitation: OrganizationInvitation + + """The name of the Organization.""" + organizationName: String + + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """A reason for why the item will be locked.""" - lockReason: LockReason + """The HTTP path for the user.""" + userResourcePath: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL for the user.""" + userUrl: URI } -"""Autogenerated return type of LockLockable""" -type LockLockablePayload { - """Identifies the actor who performed the event.""" - actor: Actor +"""Audit log entry for a org.invite_to_business event.""" +type OrgInviteToBusinessAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The user who initiated the action""" + actor: AuditEntryActor - """The item that was locked.""" - lockedRecord: Lockable -} + """The IP address of the actor""" + actorIp: String -"""The possible reasons that an issue or pull request was locked.""" -enum LockReason { - """ - The issue or pull request was locked because the conversation was off-topic. - """ - OFF_TOPIC + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """ - The issue or pull request was locked because the conversation was too heated. - """ - TOO_HEATED + """The username of the user who initiated the action""" + actorLogin: String - """ - The issue or pull request was locked because the conversation was resolved. - """ - RESOLVED + """The HTTP path for the actor.""" + actorResourcePath: URI - """ - The issue or pull request was locked because the conversation was spam. - """ - SPAM -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""A placeholder user for attribution of imported data on GitHub.""" -type Mannequin implements Node & Actor & UniformResourceLocatable { - """A URL pointing to the GitHub App's public avatar.""" - avatarUrl( - """The size of the resulting square image.""" - size: Int - ): URI! + """The time the action was initiated""" + createdAt: PreciseDateTime! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI - """Identifies the primary key from the database.""" - databaseId: Int + """The slug of the enterprise.""" + enterpriseSlug: String - """The mannequin's email on the source instance.""" - email: String + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI id: ID! - """The username of the actor.""" - login: String! - - """The HTML path to this resource.""" - resourcePath: URI! + """The corresponding operation type for the action""" + operationType: OperationType - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The URL to this resource.""" - url: URI! -} + """The name of the Organization.""" + organizationName: String -""" -Represents a 'marked_as_duplicate' event on a given issue or pull request. -""" -type MarkedAsDuplicateEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The HTTP path for the organization""" + organizationResourcePath: URI - """ - The authoritative issue or pull request which has been duplicated by another. - """ - canonical: IssueOrPullRequest + """The HTTP URL for the organization""" + organizationUrl: URI - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The user affected by the action""" + user: User """ - The issue or pull request which has been marked as a duplicate of another. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - duplicate: IssueOrPullRequest - id: ID! + userLogin: String - """Canonical and duplicate belong to different repositories.""" - isCrossRepository: Boolean! + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI } -"""A public description of a Marketplace category.""" -type MarketplaceCategory implements Node { - """The category's description.""" - description: String +"""Audit log entry for a org.oauth_app_access_approved event.""" +type OrgOauthAppAccessApprovedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """ - The technical description of how apps listed in this category work with GitHub. - """ - howItWorks: String - id: ID! + """The user who initiated the action""" + actor: AuditEntryActor - """The category's name.""" - name: String! + """The IP address of the actor""" + actorIp: String - """How many Marketplace listings have this as their primary category.""" - primaryListingCount: Int! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The HTTP path for this Marketplace category.""" - resourcePath: URI! + """The username of the user who initiated the action""" + actorLogin: String - """How many Marketplace listings have this as their secondary category.""" - secondaryListingCount: Int! + """The HTTP path for the actor.""" + actorResourcePath: URI - """The short name of the category used in its URL.""" - slug: String! + """The HTTP URL for the actor.""" + actorUrl: URI - """The HTTP URL for this Marketplace category.""" - url: URI! -} + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! -"""A listing in the GitHub integration marketplace.""" -type MarketplaceListing implements Node { - """The GitHub App this listing represents.""" - app: App + """The name of the OAuth Application.""" + oauthApplicationName: String - """URL to the listing owner's company site.""" - companyUrl: URI + """The HTTP path for the OAuth Application""" + oauthApplicationResourcePath: URI - """ - The HTTP path for configuring access to the listing's integration or OAuth app - """ - configurationResourcePath: URI! + """The HTTP URL for the OAuth Application""" + oauthApplicationUrl: URI - """ - The HTTP URL for configuring access to the listing's integration or OAuth app - """ - configurationUrl: URI! + """The corresponding operation type for the action""" + operationType: OperationType - """URL to the listing's documentation.""" - documentationUrl: URI + """The Organization associated with the Audit Entry.""" + organization: Organization - """The listing's detailed description.""" - extendedDescription: String + """The name of the Organization.""" + organizationName: String - """The listing's detailed description rendered to HTML.""" - extendedDescriptionHTML: HTML! + """The HTTP path for the organization""" + organizationResourcePath: URI - """The listing's introductory description.""" - fullDescription: String! + """The HTTP URL for the organization""" + organizationUrl: URI - """The listing's introductory description rendered to HTML.""" - fullDescriptionHTML: HTML! + """The user affected by the action""" + user: User - """Does this listing have any plans with a free trial?""" - hasPublishedFreeTrialPlans: Boolean! + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Does this listing have a terms of service link?""" - hasTermsOfService: Boolean! + """The HTTP path for the user.""" + userResourcePath: URI - """Whether the creator of the app is a verified org""" - hasVerifiedOwner: Boolean! + """The HTTP URL for the user.""" + userUrl: URI +} - """A technical description of how this app works with GitHub.""" - howItWorks: String +"""Audit log entry for a org.oauth_app_access_denied event.""" +type OrgOauthAppAccessDeniedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """The listing's technical description rendered to HTML.""" - howItWorksHTML: HTML! - id: ID! + """The user who initiated the action""" + actor: AuditEntryActor - """URL to install the product to the viewer's account or organization.""" - installationUrl: URI + """The IP address of the actor""" + actorIp: String - """Whether this listing's app has been installed for the current viewer""" - installedForViewer: Boolean! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Whether this listing has been removed from the Marketplace.""" - isArchived: Boolean! + """The username of the user who initiated the action""" + actorLogin: String - """ - Whether this listing is still an editable draft that has not been submitted - for review and is not publicly visible in the Marketplace. - """ - isDraft: Boolean! + """The HTTP path for the actor.""" + actorResourcePath: URI - """ - Whether the product this listing represents is available as part of a paid plan. - """ - isPaid: Boolean! + """The HTTP URL for the actor.""" + actorUrl: URI - """Whether this listing has been approved for display in the Marketplace.""" - isPublic: Boolean! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """ - Whether this listing has been rejected by GitHub for display in the Marketplace. - """ - isRejected: Boolean! + """The name of the OAuth Application.""" + oauthApplicationName: String - """ - Whether this listing has been approved for unverified display in the Marketplace. - """ - isUnverified: Boolean! + """The HTTP path for the OAuth Application""" + oauthApplicationResourcePath: URI - """ - Whether this draft listing has been submitted for review for approval to be unverified in the Marketplace. - """ - isUnverifiedPending: Boolean! + """The HTTP URL for the OAuth Application""" + oauthApplicationUrl: URI - """ - Whether this draft listing has been submitted for review from GitHub for approval to be verified in the Marketplace. - """ - isVerificationPendingFromDraft: Boolean! + """The corresponding operation type for the action""" + operationType: OperationType - """ - Whether this unverified listing has been submitted for review from GitHub for approval to be verified in the Marketplace. - """ - isVerificationPendingFromUnverified: Boolean! + """The Organization associated with the Audit Entry.""" + organization: Organization - """ - Whether this listing has been approved for verified display in the Marketplace. - """ - isVerified: Boolean! + """The name of the Organization.""" + organizationName: String - """The hex color code, without the leading '#', for the logo background.""" - logoBackgroundColor: String! + """The HTTP path for the organization""" + organizationResourcePath: URI - """URL for the listing's logo image.""" - logoUrl( - """The size in pixels of the resulting square image.""" - size: Int = 400 - ): URI + """The HTTP URL for the organization""" + organizationUrl: URI - """The listing's full name.""" - name: String! + """The user affected by the action""" + user: User """ - The listing's very short description without a trailing period or ampersands. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - normalizedShortDescription: String! + userLogin: String - """URL to the listing's detailed pricing.""" - pricingUrl: URI + """The HTTP path for the user.""" + userResourcePath: URI - """The category that best describes the listing.""" - primaryCategory: MarketplaceCategory! + """The HTTP URL for the user.""" + userUrl: URI +} - """ - URL to the listing's privacy policy, may return an empty string for listings that do not require a privacy policy URL. - """ - privacyPolicyUrl: URI! +"""Audit log entry for a org.oauth_app_access_requested event.""" +type OrgOauthAppAccessRequestedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """The HTTP path for the Marketplace listing.""" - resourcePath: URI! + """The user who initiated the action""" + actor: AuditEntryActor - """The URLs for the listing's screenshots.""" - screenshotUrls: [String]! + """The IP address of the actor""" + actorIp: String - """An alternate category that describes the listing.""" - secondaryCategory: MarketplaceCategory + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The listing's very short description.""" - shortDescription: String! + """The username of the user who initiated the action""" + actorLogin: String - """The short name of the listing used in its URL.""" - slug: String! + """The HTTP path for the actor.""" + actorResourcePath: URI - """URL to the listing's status page.""" - statusUrl: URI + """The HTTP URL for the actor.""" + actorUrl: URI - """An email address for support for this listing's app.""" - supportEmail: String + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """ - Either a URL or an email address for support for this listing's app, may - return an empty string for listings that do not require a support URL. - """ - supportUrl: URI! + """The name of the OAuth Application.""" + oauthApplicationName: String - """URL to the listing's terms of service.""" - termsOfServiceUrl: URI + """The HTTP path for the OAuth Application""" + oauthApplicationResourcePath: URI - """The HTTP URL for the Marketplace listing.""" - url: URI! + """The HTTP URL for the OAuth Application""" + oauthApplicationUrl: URI - """Can the current viewer add plans for this Marketplace listing.""" - viewerCanAddPlans: Boolean! + """The corresponding operation type for the action""" + operationType: OperationType - """Can the current viewer approve this Marketplace listing.""" - viewerCanApprove: Boolean! + """The Organization associated with the Audit Entry.""" + organization: Organization - """Can the current viewer delist this Marketplace listing.""" - viewerCanDelist: Boolean! + """The name of the Organization.""" + organizationName: String - """Can the current viewer edit this Marketplace listing.""" - viewerCanEdit: Boolean! + """The HTTP path for the organization""" + organizationResourcePath: URI - """ - Can the current viewer edit the primary and secondary category of this - Marketplace listing. - - """ - viewerCanEditCategories: Boolean! + """The HTTP URL for the organization""" + organizationUrl: URI - """Can the current viewer edit the plans for this Marketplace listing.""" - viewerCanEditPlans: Boolean! + """The user affected by the action""" + user: User """ - Can the current viewer return this Marketplace listing to draft state - so it becomes editable again. - + For actions involving two users, the actor is the initiator and the user is the affected user. """ - viewerCanRedraft: Boolean! + userLogin: String - """ - Can the current viewer reject this Marketplace listing by returning it to - an editable draft state or rejecting it entirely. - - """ - viewerCanReject: Boolean! + """The HTTP path for the user.""" + userResourcePath: URI - """ - Can the current viewer request this listing be reviewed for display in - the Marketplace as verified. - - """ - viewerCanRequestApproval: Boolean! + """The HTTP URL for the user.""" + userUrl: URI +} - """ - Indicates whether the current user has an active subscription to this Marketplace listing. - - """ - viewerHasPurchased: Boolean! +"""Audit log entry for a org.remove_billing_manager event.""" +type OrgRemoveBillingManagerAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """ - Indicates if the current user has purchased a subscription to this Marketplace listing - for all of the organizations the user owns. - - """ - viewerHasPurchasedForAllOrganizations: Boolean! + """The user who initiated the action""" + actor: AuditEntryActor - """ - Does the current viewer role allow them to administer this Marketplace listing. - - """ - viewerIsListingAdmin: Boolean! -} + """The IP address of the actor""" + actorIp: String -"""Look up Marketplace Listings""" -type MarketplaceListingConnection { - """A list of edges.""" - edges: [MarketplaceListingEdge] + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """A list of nodes.""" - nodes: [MarketplaceListing] + """The username of the user who initiated the action""" + actorLogin: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The HTTP path for the actor.""" + actorResourcePath: URI - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""An edge in a connection.""" -type MarketplaceListingEdge { - """A cursor for use in pagination.""" - cursor: String! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """The item at the end of the edge.""" - node: MarketplaceListing -} + """The corresponding operation type for the action""" + operationType: OperationType -"""Autogenerated input type of MarkFileAsViewed""" -input MarkFileAsViewedInput { - """The Node ID of the pull request.""" - pullRequestId: ID! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The path of the file to mark as viewed""" - path: String! + """The name of the Organization.""" + organizationName: String - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""Autogenerated return type of MarkFileAsViewed""" -type MarkFileAsViewedPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL for the organization""" + organizationUrl: URI + + """The reason for the billing manager being removed.""" + reason: OrgRemoveBillingManagerAuditEntryReason + + """The user affected by the action""" + user: User - """The updated pull request.""" - pullRequest: PullRequest -} + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String -"""Autogenerated input type of MarkPullRequestReadyForReview""" -input MarkPullRequestReadyForReviewInput { - """ID of the pull request to be marked as ready for review.""" - pullRequestId: ID! + """The HTTP path for the user.""" + userResourcePath: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL for the user.""" + userUrl: URI } -"""Autogenerated return type of MarkPullRequestReadyForReview""" -type MarkPullRequestReadyForReviewPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +"""The reason a billing manager was removed from an Organization.""" +enum OrgRemoveBillingManagerAuditEntryReason { + """ + The organization required 2FA of its billing managers and this user did not have 2FA enabled. + """ + TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE - """The pull request that is ready for review.""" - pullRequest: PullRequest + """SAML external identity missing""" + SAML_EXTERNAL_IDENTITY_MISSING + + """SAML SSO enforcement requires an external identity""" + SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY } -"""Audit log entry for a members_can_delete_repos.clear event.""" -type MembersCanDeleteReposClearAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { +"""Audit log entry for a org.remove_member event.""" +type OrgRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { """The action name""" action: String! @@ -8596,17 +17430,11 @@ type MembersCanDeleteReposClearAuditEntry implements Node & AuditEntry & Enterpr """The time the action was initiated""" createdAt: PreciseDateTime! - - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI - - """The slug of the enterprise.""" - enterpriseSlug: String - - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI id: ID! + """The types of membership the member has with the organization.""" + membershipTypes: [OrgRemoveMemberAuditEntryMembershipType!] + """The corresponding operation type for the action""" operationType: OperationType @@ -8622,6 +17450,9 @@ type MembersCanDeleteReposClearAuditEntry implements Node & AuditEntry & Enterpr """The HTTP URL for the organization""" organizationUrl: URI + """The reason for the member being removed.""" + reason: OrgRemoveMemberAuditEntryReason + """The user affected by the action""" user: User @@ -8637,8 +17468,63 @@ type MembersCanDeleteReposClearAuditEntry implements Node & AuditEntry & Enterpr userUrl: URI } -"""Audit log entry for a members_can_delete_repos.disable event.""" -type MembersCanDeleteReposDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { +"""The type of membership a user has with an Organization.""" +enum OrgRemoveMemberAuditEntryMembershipType { + """A suspended member.""" + SUSPENDED + + """A direct member is a user that is a member of the Organization.""" + DIRECT_MEMBER + + """ + Organization administrators have full access and can change several settings, + including the names of repositories that belong to the Organization and Owners + team membership. In addition, organization admins can delete the organization + and all of its repositories. + """ + ADMIN + + """ + A billing manager is a user who manages the billing settings for the Organization, such as updating payment information. + """ + BILLING_MANAGER + + """ + An unaffiliated collaborator is a person who is not a member of the + Organization and does not have access to any repositories in the Organization. + """ + UNAFFILIATED + + """ + An outside collaborator is a person who isn't explicitly a member of the + Organization, but who has Read, Write, or Admin permissions to one or more + repositories in the organization. + """ + OUTSIDE_COLLABORATOR +} + +"""The reason a member was removed from an Organization.""" +enum OrgRemoveMemberAuditEntryReason { + """ + The organization required 2FA of its billing managers and this user did not have 2FA enabled. + """ + TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE + + """SAML external identity missing""" + SAML_EXTERNAL_IDENTITY_MISSING + + """SAML SSO enforcement requires an external identity""" + SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY + + """User account has been deleted""" + USER_ACCOUNT_DELETED + + """User was removed from organization during account recovery""" + TWO_FACTOR_ACCOUNT_RECOVERY +} + +"""Audit log entry for a org.remove_outside_collaborator event.""" +type OrgRemoveOutsideCollaboratorAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { """The action name""" action: String! @@ -8662,17 +17548,13 @@ type MembersCanDeleteReposDisableAuditEntry implements Node & AuditEntry & Enter """The time the action was initiated""" createdAt: PreciseDateTime! - - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI - - """The slug of the enterprise.""" - enterpriseSlug: String - - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI id: ID! + """ + The types of membership the outside collaborator has with the organization. + """ + membershipTypes: [OrgRemoveOutsideCollaboratorAuditEntryMembershipType!] + """The corresponding operation type for the action""" operationType: OperationType @@ -8688,6 +17570,11 @@ type MembersCanDeleteReposDisableAuditEntry implements Node & AuditEntry & Enter """The HTTP URL for the organization""" organizationUrl: URI + """ + The reason for the outside collaborator being removed from the Organization. + """ + reason: OrgRemoveOutsideCollaboratorAuditEntryReason + """The user affected by the action""" user: User @@ -8703,8 +17590,40 @@ type MembersCanDeleteReposDisableAuditEntry implements Node & AuditEntry & Enter userUrl: URI } -"""Audit log entry for a members_can_delete_repos.enable event.""" -type MembersCanDeleteReposEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { +"""The type of membership a user has with an Organization.""" +enum OrgRemoveOutsideCollaboratorAuditEntryMembershipType { + """ + An outside collaborator is a person who isn't explicitly a member of the + Organization, but who has Read, Write, or Admin permissions to one or more + repositories in the organization. + """ + OUTSIDE_COLLABORATOR + + """ + An unaffiliated collaborator is a person who is not a member of the + Organization and does not have access to any repositories in the organization. + """ + UNAFFILIATED + + """ + A billing manager is a user who manages the billing settings for the Organization, such as updating payment information. + """ + BILLING_MANAGER +} + +"""The reason an outside collaborator was removed from an Organization.""" +enum OrgRemoveOutsideCollaboratorAuditEntryReason { + """ + The organization required 2FA of its billing managers and this user did not have 2FA enabled. + """ + TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE + + """SAML external identity missing""" + SAML_EXTERNAL_IDENTITY_MISSING +} + +"""Audit log entry for a org.restore_member event.""" +type OrgRestoreMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { """The action name""" action: String! @@ -8728,15 +17647,6 @@ type MembersCanDeleteReposEnableAuditEntry implements Node & AuditEntry & Enterp """The time the action was initiated""" createdAt: PreciseDateTime! - - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI - - """The slug of the enterprise.""" - enterpriseSlug: String - - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI id: ID! """The corresponding operation type for the action""" @@ -8754,6 +17664,27 @@ type MembersCanDeleteReposEnableAuditEntry implements Node & AuditEntry & Enterp """The HTTP URL for the organization""" organizationUrl: URI + """The number of custom email routings for the restored member.""" + restoredCustomEmailRoutingsCount: Int + + """The number of issue assignments for the restored member.""" + restoredIssueAssignmentsCount: Int + + """Restored organization membership objects.""" + restoredMemberships: [OrgRestoreMemberAuditEntryMembership!] + + """The number of restored memberships.""" + restoredMembershipsCount: Int + + """The number of repositories of the restored member.""" + restoredRepositoriesCount: Int + + """The number of starred repositories for the restored member.""" + restoredRepositoryStarsCount: Int + + """The number of watched repositories for the restored member.""" + restoredRepositoryWatchesCount: Int + """The user affected by the action""" user: User @@ -8769,986 +17700,1041 @@ type MembersCanDeleteReposEnableAuditEntry implements Node & AuditEntry & Enterp userUrl: URI } -"""Entities that have members who can set status messages.""" -interface MemberStatusable { - """ - Get the status messages members of this entity have set that are either public or visible only to the organization. - """ - memberStatuses( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Types of memberships that can be restored for an Organization member.""" +union OrgRestoreMemberAuditEntryMembership = OrgRestoreMemberMembershipOrganizationAuditEntryData | OrgRestoreMemberMembershipRepositoryAuditEntryData | OrgRestoreMemberMembershipTeamAuditEntryData - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""Metadata for an organization membership for org.restore_member actions""" +type OrgRestoreMemberMembershipOrganizationAuditEntryData implements OrganizationAuditEntryData { + """The Organization associated with the Audit Entry.""" + organization: Organization - """Returns the first _n_ elements from the list.""" - first: Int + """The name of the Organization.""" + organizationName: String - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP path for the organization""" + organizationResourcePath: URI - """Ordering options for user statuses returned from the connection.""" - orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC} - ): UserStatusConnection! + """The HTTP URL for the organization""" + organizationUrl: URI } -"""Represents a 'mentioned' event on a given issue or pull request.""" -type MentionedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor +"""Metadata for a repository membership for org.restore_member actions""" +type OrgRestoreMemberMembershipRepositoryAuditEntryData implements RepositoryAuditEntryData { + """The repository associated with the action""" + repository: Repository - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The name of the repository""" + repositoryName: String - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """The HTTP path for the repository""" + repositoryResourcePath: URI + + """The HTTP URL for the repository""" + repositoryUrl: URI } -"""Whether or not a PullRequest can be merged.""" -enum MergeableState { - """The pull request can be merged.""" - MERGEABLE +"""Metadata for a team membership for org.restore_member actions""" +type OrgRestoreMemberMembershipTeamAuditEntryData implements TeamAuditEntryData { + """The team associated with the action""" + team: Team + + """The name of the team""" + teamName: String - """The pull request cannot be merged due to merge conflicts.""" - CONFLICTING + """The HTTP path for this team""" + teamResourcePath: URI - """The mergeability of the pull request is still being calculated.""" - UNKNOWN + """The HTTP URL for this team""" + teamUrl: URI } -"""Autogenerated input type of MergeBranch""" -input MergeBranchInput { - """ - The Node ID of the Repository containing the base branch that will be modified. - """ - repositoryId: ID! - - """ - The name of the base branch that the provided head will be merged into. - """ - base: String! +"""Audit log entry for a org.unblock_user""" +type OrgUnblockUserAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """ - The head to merge into the base branch. This can be a branch name or a commit GitObjectID. - """ - head: String! + """The user who initiated the action""" + actor: AuditEntryActor - """ - Message to use for the merge commit. If omitted, a default will be used. - """ - commitMessage: String + """The IP address of the actor""" + actorIp: String - """The email address to associate with this commit.""" - authorEmail: String + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The username of the user who initiated the action""" + actorLogin: String -"""Autogenerated return type of MergeBranch""" -type MergeBranchPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP path for the actor.""" + actorResourcePath: URI - """The resulting merge Commit.""" - mergeCommit: Commit -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""Represents a 'merged' event on a given pull request.""" -type MergedEvent implements Node & UniformResourceLocatable { - """Identifies the actor who performed the event.""" - actor: Actor + """The user being unblocked by the organization.""" + blockedUser: User - """Identifies the commit associated with the `merge` event.""" - commit: Commit + """The username of the blocked user.""" + blockedUserName: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """The HTTP path for the blocked user.""" + blockedUserResourcePath: URI - """Identifies the Ref associated with the `merge` event.""" - mergeRef: Ref + """The HTTP URL for the blocked user.""" + blockedUserUrl: URI - """Identifies the name of the Ref associated with the `merge` event.""" - mergeRefName: String! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """PullRequest referenced by event.""" - pullRequest: PullRequest! + """The corresponding operation type for the action""" + operationType: OperationType - """The HTTP path for this merged event.""" - resourcePath: URI! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The HTTP URL for this merged event.""" - url: URI! -} + """The name of the Organization.""" + organizationName: String -"""Autogenerated input type of MergePullRequest""" -input MergePullRequestInput { - """ID of the pull request to be merged.""" - pullRequestId: ID! + """The HTTP path for the organization""" + organizationResourcePath: URI - """ - Commit headline to use for the merge commit; if omitted, a default message will be used. - """ - commitHeadline: String + """The HTTP URL for the organization""" + organizationUrl: URI - """ - Commit body to use for the merge commit; if omitted, a default message will be used - """ - commitBody: String + """The user affected by the action""" + user: User """ - OID that the pull request head ref must match to allow merge; if omitted, no check is performed. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - expectedHeadOid: GitObjectID - - """The merge method to use. If omitted, defaults to 'MERGE'""" - mergeMethod: PullRequestMergeMethod = MERGE + userLogin: String - """The email address to associate with this merge.""" - authorEmail: String + """The HTTP path for the user.""" + userResourcePath: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL for the user.""" + userUrl: URI } -"""Autogenerated return type of MergePullRequest""" -type MergePullRequestPayload { - """Identifies the actor who performed the event.""" - actor: Actor - - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +"""Audit log entry for a org.update_default_repository_permission""" +type OrgUpdateDefaultRepositoryPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The pull request that was merged.""" - pullRequest: PullRequest -} + """The user who initiated the action""" + actor: AuditEntryActor -"""Represents a Milestone object on a given repository.""" -type Milestone implements Node & Closable & UniformResourceLocatable { - """ - `true` if the object is closed (definition of closed may depend on type) - """ - closed: Boolean! + """The IP address of the actor""" + actorIp: String - """Identifies the date and time when the object was closed.""" - closedAt: DateTime + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The username of the user who initiated the action""" + actorLogin: String - """Identifies the actor who created the milestone.""" - creator: Actor + """The HTTP path for the actor.""" + actorResourcePath: URI - """Identifies the description of the milestone.""" - description: String + """The HTTP URL for the actor.""" + actorUrl: URI - """Identifies the due date of the milestone.""" - dueOn: DateTime + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """A list of issues associated with the milestone.""" - issues( - """Ordering options for issues returned from the connection.""" - orderBy: IssueOrder + """The corresponding operation type for the action""" + operationType: OperationType - """A list of label names to filter the pull requests by.""" - labels: [String!] + """The Organization associated with the Audit Entry.""" + organization: Organization - """A list of states to filter the issues by.""" - states: [IssueState!] + """The name of the Organization.""" + organizationName: String - """Filtering options for issues returned from the connection.""" - filterBy: IssueFilters + """The HTTP path for the organization""" + organizationResourcePath: URI - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP URL for the organization""" + organizationUrl: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The new base repository permission level for the organization.""" + permission: OrgUpdateDefaultRepositoryPermissionAuditEntryPermission - """Returns the first _n_ elements from the list.""" - first: Int + """The former base repository permission level for the organization.""" + permissionWas: OrgUpdateDefaultRepositoryPermissionAuditEntryPermission - """Returns the last _n_ elements from the list.""" - last: Int - ): IssueConnection! + """The user affected by the action""" + user: User - """Identifies the number of the milestone.""" - number: Int! + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Indentifies the percentage complete for the milestone""" - progressPercentage: Float! + """The HTTP path for the user.""" + userResourcePath: URI - """A list of pull requests associated with the milestone.""" - pullRequests( - """A list of states to filter the pull requests by.""" - states: [PullRequestState!] + """The HTTP URL for the user.""" + userUrl: URI +} - """A list of label names to filter the pull requests by.""" - labels: [String!] +"""The default permission a repository can have in an Organization.""" +enum OrgUpdateDefaultRepositoryPermissionAuditEntryPermission { + """Can read and clone repositories.""" + READ - """The head ref name to filter the pull requests by.""" - headRefName: String + """Can read, clone and push to repositories.""" + WRITE - """The base ref name to filter the pull requests by.""" - baseRefName: String + """Can read, clone, push, and add collaborators to repositories.""" + ADMIN - """Ordering options for pull requests returned from the connection.""" - orderBy: IssueOrder + """No default permission value.""" + NONE +} - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Audit log entry for a org.update_member event.""" +type OrgUpdateMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The user who initiated the action""" + actor: AuditEntryActor - """Returns the first _n_ elements from the list.""" - first: Int + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestConnection! + """The username of the user who initiated the action""" + actorLogin: String - """The repository associated with this milestone.""" - repository: Repository! + """The HTTP path for the actor.""" + actorResourcePath: URI - """The HTTP path for this milestone""" - resourcePath: URI! + """The HTTP URL for the actor.""" + actorUrl: URI - """Identifies the state of the milestone.""" - state: MilestoneState! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Identifies the title of the milestone.""" - title: String! + """The corresponding operation type for the action""" + operationType: OperationType - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The HTTP URL for this milestone""" - url: URI! -} + """The name of the Organization.""" + organizationName: String -"""The connection type for Milestone.""" -type MilestoneConnection { - """A list of edges.""" - edges: [MilestoneEdge] + """The HTTP path for the organization""" + organizationResourcePath: URI - """A list of nodes.""" - nodes: [Milestone] + """The HTTP URL for the organization""" + organizationUrl: URI - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The new member permission level for the organization.""" + permission: OrgUpdateMemberAuditEntryPermission - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The former member permission level for the organization.""" + permissionWas: OrgUpdateMemberAuditEntryPermission -"""Represents a 'milestoned' event on a given issue or pull request.""" -type MilestonedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The user affected by the action""" + user: User - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Identifies the milestone title associated with the 'milestoned' event.""" - milestoneTitle: String! + """The HTTP path for the user.""" + userResourcePath: URI - """Object referenced by event.""" - subject: MilestoneItem! + """The HTTP URL for the user.""" + userUrl: URI } -"""An edge in a connection.""" -type MilestoneEdge { - """A cursor for use in pagination.""" - cursor: String! +"""The permissions available to members on an Organization.""" +enum OrgUpdateMemberAuditEntryPermission { + """Can read and clone repositories.""" + READ - """The item at the end of the edge.""" - node: Milestone + """Can read, clone, push, and add collaborators to repositories.""" + ADMIN } -"""Types that can be inside a Milestone.""" -union MilestoneItem = Issue | PullRequest - -"""Ordering options for milestone connections.""" -input MilestoneOrder { - """The field to order milestones by.""" - field: MilestoneOrderField! +""" +Audit log entry for a org.update_member_repository_creation_permission event. +""" +type OrgUpdateMemberRepositoryCreationPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The ordering direction.""" - direction: OrderDirection! -} + """The user who initiated the action""" + actor: AuditEntryActor -"""Properties by which milestone connections can be ordered.""" -enum MilestoneOrderField { - """Order milestones by when they are due.""" - DUE_DATE + """The IP address of the actor""" + actorIp: String - """Order milestones by when they were created.""" - CREATED_AT + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Order milestones by when they were last updated.""" - UPDATED_AT + """The username of the user who initiated the action""" + actorLogin: String - """Order milestones by their number.""" - NUMBER -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""The possible states of a milestone.""" -enum MilestoneState { - """A milestone that is still open.""" - OPEN + """The HTTP URL for the actor.""" + actorUrl: URI - """A milestone that has been closed.""" - CLOSED -} + """Can members create repositories in the organization.""" + canCreateRepositories: Boolean -"""Entities that can be minimized.""" -interface Minimizable { - """Returns whether or not a comment has been minimized.""" - isMinimized: Boolean! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Returns why the comment was minimized.""" - minimizedReason: String + """The corresponding operation type for the action""" + operationType: OperationType - """Check if the current viewer can minimize this object.""" - viewerCanMinimize: Boolean! -} + """The Organization associated with the Audit Entry.""" + organization: Organization -"""Autogenerated input type of MinimizeComment""" -input MinimizeCommentInput { - """The Node ID of the subject to modify.""" - subjectId: ID! + """The name of the Organization.""" + organizationName: String - """The classification of comment""" - classifier: ReportedContentClassifiers! + """The HTTP path for the organization""" + organizationResourcePath: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The HTTP URL for the organization""" + organizationUrl: URI -"""Autogenerated return type of MinimizeComment""" -type MinimizeCommentPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The user affected by the action""" + user: User - """The comment that was minimized.""" - minimizedComment: Minimizable -} + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String -""" -Represents a 'moved_columns_in_project' event on a given issue or pull request. -""" -type MovedColumnsInProjectEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The HTTP path for the user.""" + userResourcePath: URI - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The HTTP URL for the user.""" + userUrl: URI - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """ + The permission for visibility level of repositories for this organization. + """ + visibility: OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility } -"""Autogenerated input type of MoveProjectCard""" -input MoveProjectCardInput { - """The id of the card to move.""" - cardId: ID! - - """The id of the column to move it into.""" - columnId: ID! +"""The permissions available for repository creation on an Organization.""" +enum OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility { + """ + All organization members are restricted from creating any repositories. + """ + ALL """ - Place the new card after the card with this id. Pass null to place it at the top. + All organization members are restricted from creating public repositories. """ - afterCardId: ID + PUBLIC - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """All organization members are allowed to create any repositories.""" + NONE -"""Autogenerated return type of MoveProjectCard""" -type MoveProjectCardPayload { - """The new edge of the moved card.""" - cardEdge: ProjectCardEdge + """ + All organization members are restricted from creating private repositories. + """ + PRIVATE - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """ + All organization members are restricted from creating internal repositories. + """ + INTERNAL -"""Autogenerated input type of MoveProjectColumn""" -input MoveProjectColumnInput { - """The id of the column to move.""" - columnId: ID! + """ + All organization members are restricted from creating public or internal repositories. + """ + PUBLIC_INTERNAL """ - Place the new column after the column with this id. Pass null to place it at the front. + All organization members are restricted from creating private or internal repositories. """ - afterColumnId: ID + PRIVATE_INTERNAL - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """ + All organization members are restricted from creating public or private repositories. + """ + PUBLIC_PRIVATE } -"""Autogenerated return type of MoveProjectColumn""" -type MoveProjectColumnPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +""" +Audit log entry for a org.update_member_repository_invitation_permission event. +""" +type OrgUpdateMemberRepositoryInvitationPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { + """The action name""" + action: String! - """The new edge of the moved column.""" - columnEdge: ProjectColumnEdge -} + """The user who initiated the action""" + actor: AuditEntryActor -"""The root query for implementing GraphQL mutations.""" -type Mutation { - """ - Accepts a pending invitation for a user to become an administrator of an enterprise. - """ - acceptEnterpriseAdministratorInvitation(input: AcceptEnterpriseAdministratorInvitationInput!): AcceptEnterpriseAdministratorInvitationPayload + """The IP address of the actor""" + actorIp: String - """Applies a suggested topic to the repository.""" - acceptTopicSuggestion(input: AcceptTopicSuggestionInput!): AcceptTopicSuggestionPayload + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Adds assignees to an assignable object.""" - addAssigneesToAssignable(input: AddAssigneesToAssignableInput!): AddAssigneesToAssignablePayload + """The username of the user who initiated the action""" + actorLogin: String - """Adds a comment to an Issue or Pull Request.""" - addComment(input: AddCommentInput!): AddCommentPayload + """The HTTP path for the actor.""" + actorResourcePath: URI - """Adds labels to a labelable object.""" - addLabelsToLabelable(input: AddLabelsToLabelableInput!): AddLabelsToLabelablePayload + """The HTTP URL for the actor.""" + actorUrl: URI """ - Adds a card to a ProjectColumn. Either `contentId` or `note` must be provided but **not** both. + Can outside collaborators be invited to repositories in the organization. """ - addProjectCard(input: AddProjectCardInput!): AddProjectCardPayload + canInviteOutsideCollaboratorsToRepositories: Boolean - """Adds a column to a Project.""" - addProjectColumn(input: AddProjectColumnInput!): AddProjectColumnPayload + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Adds a review to a Pull Request.""" - addPullRequestReview(input: AddPullRequestReviewInput!): AddPullRequestReviewPayload + """The corresponding operation type for the action""" + operationType: OperationType - """Adds a comment to a review.""" - addPullRequestReviewComment(input: AddPullRequestReviewCommentInput!): AddPullRequestReviewCommentPayload + """The Organization associated with the Audit Entry.""" + organization: Organization - """Adds a new thread to a pending Pull Request Review.""" - addPullRequestReviewThread(input: AddPullRequestReviewThreadInput!): AddPullRequestReviewThreadPayload + """The name of the Organization.""" + organizationName: String - """Adds a reaction to a subject.""" - addReaction(input: AddReactionInput!): AddReactionPayload + """The HTTP path for the organization""" + organizationResourcePath: URI - """Adds a star to a Starrable.""" - addStar(input: AddStarInput!): AddStarPayload + """The HTTP URL for the organization""" + organizationUrl: URI - """Marks a repository as archived.""" - archiveRepository(input: ArchiveRepositoryInput!): ArchiveRepositoryPayload + """The user affected by the action""" + user: User """ - Cancels a pending invitation for an administrator to join an enterprise. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - cancelEnterpriseAdminInvitation(input: CancelEnterpriseAdminInvitationInput!): CancelEnterpriseAdminInvitationPayload + userLogin: String - """Update your status on GitHub.""" - changeUserStatus(input: ChangeUserStatusInput!): ChangeUserStatusPayload + """The HTTP path for the user.""" + userResourcePath: URI - """Clears all labels from a labelable object.""" - clearLabelsFromLabelable(input: ClearLabelsFromLabelableInput!): ClearLabelsFromLabelablePayload + """The HTTP URL for the user.""" + userUrl: URI +} - """ - Creates a new project by cloning configuration from an existing project. - """ - cloneProject(input: CloneProjectInput!): CloneProjectPayload +"""Information for an uploaded package.""" +type Package implements Node { + id: ID! - """ - Create a new repository with the same files and directory structure as a template repository. - """ - cloneTemplateRepository(input: CloneTemplateRepositoryInput!): CloneTemplateRepositoryPayload + """Find the latest version for the package.""" + latestVersion: PackageVersion - """Close an issue.""" - closeIssue(input: CloseIssueInput!): CloseIssuePayload + """Identifies the name of the package.""" + name: String! - """Close a pull request.""" - closePullRequest(input: ClosePullRequestInput!): ClosePullRequestPayload + """Identifies the type of the package.""" + packageType: PackageType! - """ - Convert a project note card to one associated with a newly created issue. - """ - convertProjectCardNoteToIssue(input: ConvertProjectCardNoteToIssueInput!): ConvertProjectCardNoteToIssuePayload + """The repository this package belongs to.""" + repository: Repository - """Create a new branch protection rule""" - createBranchProtectionRule(input: CreateBranchProtectionRuleInput!): CreateBranchProtectionRulePayload + """Statistics about package activity.""" + statistics: PackageStatistics - """Create a check run.""" - createCheckRun(input: CreateCheckRunInput!): CreateCheckRunPayload + """Find package version by version string.""" + version( + """The package version.""" + version: String! + ): PackageVersion - """Create a check suite""" - createCheckSuite(input: CreateCheckSuiteInput!): CreateCheckSuitePayload + """list of versions for this package""" + versions( + """Ordering of the returned packages.""" + orderBy: PackageVersionOrder = {field: CREATED_AT, direction: DESC} - """Creates an organization as part of an enterprise account.""" - createEnterpriseOrganization(input: CreateEnterpriseOrganizationInput!): CreateEnterpriseOrganizationPayload + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Creates a new IP allow list entry.""" - createIpAllowListEntry(input: CreateIpAllowListEntryInput!): CreateIpAllowListEntryPayload + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Creates a new issue.""" - createIssue(input: CreateIssueInput!): CreateIssuePayload + """Returns the first _n_ elements from the list.""" + first: Int - """Creates a new project.""" - createProject(input: CreateProjectInput!): CreateProjectPayload + """Returns the last _n_ elements from the list.""" + last: Int + ): PackageVersionConnection! +} - """Create a new pull request""" - createPullRequest(input: CreatePullRequestInput!): CreatePullRequestPayload +"""The connection type for Package.""" +type PackageConnection { + """A list of edges.""" + edges: [PackageEdge] - """Create a new Git Ref.""" - createRef(input: CreateRefInput!): CreateRefPayload + """A list of nodes.""" + nodes: [Package] - """Create a new repository.""" - createRepository(input: CreateRepositoryInput!): CreateRepositoryPayload + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Creates a new team discussion.""" - createTeamDiscussion(input: CreateTeamDiscussionInput!): CreateTeamDiscussionPayload + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Creates a new team discussion comment.""" - createTeamDiscussionComment(input: CreateTeamDiscussionCommentInput!): CreateTeamDiscussionCommentPayload +"""An edge in a connection.""" +type PackageEdge { + """A cursor for use in pagination.""" + cursor: String! - """Rejects a suggested topic for the repository.""" - declineTopicSuggestion(input: DeclineTopicSuggestionInput!): DeclineTopicSuggestionPayload + """The item at the end of the edge.""" + node: Package +} - """Delete a branch protection rule""" - deleteBranchProtectionRule(input: DeleteBranchProtectionRuleInput!): DeleteBranchProtectionRulePayload +"""A file in a package version.""" +type PackageFile implements Node { + id: ID! - """Deletes a deployment.""" - deleteDeployment(input: DeleteDeploymentInput!): DeleteDeploymentPayload + """MD5 hash of the file.""" + md5: String - """Deletes an IP allow list entry.""" - deleteIpAllowListEntry(input: DeleteIpAllowListEntryInput!): DeleteIpAllowListEntryPayload + """Name of the file.""" + name: String! - """Deletes an Issue object.""" - deleteIssue(input: DeleteIssueInput!): DeleteIssuePayload + """The package version this file belongs to.""" + packageVersion: PackageVersion - """Deletes an IssueComment object.""" - deleteIssueComment(input: DeleteIssueCommentInput!): DeleteIssueCommentPayload + """SHA1 hash of the file.""" + sha1: String - """Deletes a project.""" - deleteProject(input: DeleteProjectInput!): DeleteProjectPayload + """SHA256 hash of the file.""" + sha256: String - """Deletes a project card.""" - deleteProjectCard(input: DeleteProjectCardInput!): DeleteProjectCardPayload + """Size of the file in bytes.""" + size: Int - """Deletes a project column.""" - deleteProjectColumn(input: DeleteProjectColumnInput!): DeleteProjectColumnPayload + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """Deletes a pull request review.""" - deletePullRequestReview(input: DeletePullRequestReviewInput!): DeletePullRequestReviewPayload + """URL to download the asset.""" + url: URI +} - """Deletes a pull request review comment.""" - deletePullRequestReviewComment(input: DeletePullRequestReviewCommentInput!): DeletePullRequestReviewCommentPayload +"""The connection type for PackageFile.""" +type PackageFileConnection { + """A list of edges.""" + edges: [PackageFileEdge] - """Delete a Git Ref.""" - deleteRef(input: DeleteRefInput!): DeleteRefPayload + """A list of nodes.""" + nodes: [PackageFile] - """Deletes a team discussion.""" - deleteTeamDiscussion(input: DeleteTeamDiscussionInput!): DeleteTeamDiscussionPayload + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Deletes a team discussion comment.""" - deleteTeamDiscussionComment(input: DeleteTeamDiscussionCommentInput!): DeleteTeamDiscussionCommentPayload + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Dismisses an approved or rejected pull request review.""" - dismissPullRequestReview(input: DismissPullRequestReviewInput!): DismissPullRequestReviewPayload +"""An edge in a connection.""" +type PackageFileEdge { + """A cursor for use in pagination.""" + cursor: String! - """Follow a user.""" - followUser(input: FollowUserInput!): FollowUserPayload + """The item at the end of the edge.""" + node: PackageFile +} - """Invite someone to become an administrator of the enterprise.""" - inviteEnterpriseAdmin(input: InviteEnterpriseAdminInput!): InviteEnterpriseAdminPayload +"""Ways in which lists of package files can be ordered upon return.""" +input PackageFileOrder { + """The field in which to order package files by.""" + field: PackageFileOrderField - """Creates a repository link for a project.""" - linkRepositoryToProject(input: LinkRepositoryToProjectInput!): LinkRepositoryToProjectPayload + """The direction in which to order package files by the specified field.""" + direction: OrderDirection +} - """Lock a lockable object""" - lockLockable(input: LockLockableInput!): LockLockablePayload +"""Properties by which package file connections can be ordered.""" +enum PackageFileOrderField { + """Order package files by creation time""" + CREATED_AT +} - """Mark a pull request file as viewed""" - markFileAsViewed(input: MarkFileAsViewedInput!): MarkFileAsViewedPayload +"""Ways in which lists of packages can be ordered upon return.""" +input PackageOrder { + """The field in which to order packages by.""" + field: PackageOrderField - """Marks a pull request ready for review.""" - markPullRequestReadyForReview(input: MarkPullRequestReadyForReviewInput!): MarkPullRequestReadyForReviewPayload + """The direction in which to order packages by the specified field.""" + direction: OrderDirection +} - """Merge a head into a branch.""" - mergeBranch(input: MergeBranchInput!): MergeBranchPayload +"""Properties by which package connections can be ordered.""" +enum PackageOrderField { + """Order packages by creation time""" + CREATED_AT +} - """Merge a pull request.""" - mergePullRequest(input: MergePullRequestInput!): MergePullRequestPayload +"""Represents an owner of a package.""" +interface PackageOwner { + id: ID! - """Minimizes a comment on an Issue, Commit, Pull Request, or Gist""" - minimizeComment(input: MinimizeCommentInput!): MinimizeCommentPayload + """A list of packages under the owner.""" + packages( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Moves a project card to another place.""" - moveProjectCard(input: MoveProjectCardInput!): MoveProjectCardPayload + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Moves a project column to another place.""" - moveProjectColumn(input: MoveProjectColumnInput!): MoveProjectColumnPayload + """Returns the first _n_ elements from the list.""" + first: Int - """Regenerates the identity provider recovery codes for an enterprise""" - regenerateEnterpriseIdentityProviderRecoveryCodes(input: RegenerateEnterpriseIdentityProviderRecoveryCodesInput!): RegenerateEnterpriseIdentityProviderRecoveryCodesPayload + """Returns the last _n_ elements from the list.""" + last: Int - """Removes assignees from an assignable object.""" - removeAssigneesFromAssignable(input: RemoveAssigneesFromAssignableInput!): RemoveAssigneesFromAssignablePayload + """Find packages by their names.""" + names: [String] + + """Find packages in a repository by ID.""" + repositoryId: ID + + """Filter registry package by type.""" + packageType: PackageType + + """Ordering of the returned packages.""" + orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} + ): PackageConnection! +} - """Removes an administrator from the enterprise.""" - removeEnterpriseAdmin(input: RemoveEnterpriseAdminInput!): RemoveEnterpriseAdminPayload +""" +Represents a object that contains package activity statistics such as downloads. +""" +type PackageStatistics { + """Number of times the package was downloaded since it was created.""" + downloadsTotalCount: Int! +} - """Removes the identity provider from an enterprise""" - removeEnterpriseIdentityProvider(input: RemoveEnterpriseIdentityProviderInput!): RemoveEnterpriseIdentityProviderPayload +"""A version tag contains the mapping between a tag name and a version.""" +type PackageTag implements Node { + id: ID! - """Removes an organization from the enterprise""" - removeEnterpriseOrganization(input: RemoveEnterpriseOrganizationInput!): RemoveEnterpriseOrganizationPayload + """Identifies the tag name of the version.""" + name: String! - """Removes labels from a Labelable object.""" - removeLabelsFromLabelable(input: RemoveLabelsFromLabelableInput!): RemoveLabelsFromLabelablePayload + """Version that the tag is associated with.""" + version: PackageVersion +} - """Removes outside collaborator from all repositories in an organization.""" - removeOutsideCollaborator(input: RemoveOutsideCollaboratorInput!): RemoveOutsideCollaboratorPayload +"""The possible types of a package.""" +enum PackageType { + """A debian package.""" + DEBIAN - """Removes a reaction from a subject.""" - removeReaction(input: RemoveReactionInput!): RemoveReactionPayload + """A python package.""" + PYPI +} - """Removes a star from a Starrable.""" - removeStar(input: RemoveStarInput!): RemoveStarPayload +"""Information about a specific package version.""" +type PackageVersion implements Node { + """List of files associated with this package version""" + files( + """Ordering of the returned package files.""" + orderBy: PackageFileOrder = {field: CREATED_AT, direction: ASC} - """Reopen a issue.""" - reopenIssue(input: ReopenIssueInput!): ReopenIssuePayload + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Reopen a pull request.""" - reopenPullRequest(input: ReopenPullRequestInput!): ReopenPullRequestPayload + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Set review requests on a pull request.""" - requestReviews(input: RequestReviewsInput!): RequestReviewsPayload + """Returns the first _n_ elements from the list.""" + first: Int - """Rerequests an existing check suite.""" - rerequestCheckSuite(input: RerequestCheckSuiteInput!): RerequestCheckSuitePayload + """Returns the last _n_ elements from the list.""" + last: Int + ): PackageFileConnection! + id: ID! - """Marks a review thread as resolved.""" - resolveReviewThread(input: ResolveReviewThreadInput!): ResolveReviewThreadPayload + """The package associated with this version.""" + package: Package - """Creates or updates the identity provider for an enterprise.""" - setEnterpriseIdentityProvider(input: SetEnterpriseIdentityProviderInput!): SetEnterpriseIdentityProviderPayload + """The platform this version was built for.""" + platform: String - """ - Set an organization level interaction limit for an organization's public repositories. - """ - setOrganizationInteractionLimit(input: SetOrganizationInteractionLimitInput!): SetOrganizationInteractionLimitPayload + """Whether or not this version is a pre-release.""" + preRelease: Boolean! - """Sets an interaction limit setting for a repository.""" - setRepositoryInteractionLimit(input: SetRepositoryInteractionLimitInput!): SetRepositoryInteractionLimitPayload + """The README of this package version.""" + readme: String - """Set a user level interaction limit for an user's public repositories.""" - setUserInteractionLimit(input: SetUserInteractionLimitInput!): SetUserInteractionLimitPayload + """The release associated with this package version.""" + release: Release - """Submits a pending pull request review.""" - submitPullRequestReview(input: SubmitPullRequestReviewInput!): SubmitPullRequestReviewPayload + """Statistics about package activity.""" + statistics: PackageVersionStatistics - """Transfer an issue to a different repository""" - transferIssue(input: TransferIssueInput!): TransferIssuePayload + """The package version summary.""" + summary: String - """Unarchives a repository.""" - unarchiveRepository(input: UnarchiveRepositoryInput!): UnarchiveRepositoryPayload + """The version string.""" + version: String! +} - """Unfollow a user.""" - unfollowUser(input: UnfollowUserInput!): UnfollowUserPayload +"""The connection type for PackageVersion.""" +type PackageVersionConnection { + """A list of edges.""" + edges: [PackageVersionEdge] - """Deletes a repository link from a project.""" - unlinkRepositoryFromProject(input: UnlinkRepositoryFromProjectInput!): UnlinkRepositoryFromProjectPayload + """A list of nodes.""" + nodes: [PackageVersion] - """Unlock a lockable object""" - unlockLockable(input: UnlockLockableInput!): UnlockLockablePayload + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Unmark a pull request file as viewed""" - unmarkFileAsViewed(input: UnmarkFileAsViewedInput!): UnmarkFileAsViewedPayload + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Unmark an issue as a duplicate of another issue.""" - unmarkIssueAsDuplicate(input: UnmarkIssueAsDuplicateInput!): UnmarkIssueAsDuplicatePayload +"""An edge in a connection.""" +type PackageVersionEdge { + """A cursor for use in pagination.""" + cursor: String! - """Unminimizes a comment on an Issue, Commit, Pull Request, or Gist""" - unminimizeComment(input: UnminimizeCommentInput!): UnminimizeCommentPayload + """The item at the end of the edge.""" + node: PackageVersion +} - """Marks a review thread as unresolved.""" - unresolveReviewThread(input: UnresolveReviewThreadInput!): UnresolveReviewThreadPayload +"""Ways in which lists of package versions can be ordered upon return.""" +input PackageVersionOrder { + """The field in which to order package versions by.""" + field: PackageVersionOrderField - """Create a new branch protection rule""" - updateBranchProtectionRule(input: UpdateBranchProtectionRuleInput!): UpdateBranchProtectionRulePayload + """ + The direction in which to order package versions by the specified field. + """ + direction: OrderDirection +} - """Update a check run""" - updateCheckRun(input: UpdateCheckRunInput!): UpdateCheckRunPayload +"""Properties by which package version connections can be ordered.""" +enum PackageVersionOrderField { + """Order package versions by creation time""" + CREATED_AT +} - """Modifies the settings of an existing check suite""" - updateCheckSuitePreferences(input: UpdateCheckSuitePreferencesInput!): UpdateCheckSuitePreferencesPayload +""" +Represents a object that contains package version activity statistics such as downloads. +""" +type PackageVersionStatistics { + """Number of times the package was downloaded since it was created.""" + downloadsTotalCount: Int! +} - """Updates the role of an enterprise administrator.""" - updateEnterpriseAdministratorRole(input: UpdateEnterpriseAdministratorRoleInput!): UpdateEnterpriseAdministratorRolePayload +"""Information about pagination in a connection.""" +type PageInfo { + """When paginating forwards, the cursor to continue.""" + endCursor: String - """Sets whether private repository forks are enabled for an enterprise.""" - updateEnterpriseAllowPrivateRepositoryForkingSetting(input: UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput!): UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload + """When paginating forwards, are there more items?""" + hasNextPage: Boolean! - """ - Sets the default repository permission for organizations in an enterprise. - """ - updateEnterpriseDefaultRepositoryPermissionSetting(input: UpdateEnterpriseDefaultRepositoryPermissionSettingInput!): UpdateEnterpriseDefaultRepositoryPermissionSettingPayload + """When paginating backwards, are there more items?""" + hasPreviousPage: Boolean! - """ - Sets whether organization members with admin permissions on a repository can change repository visibility. - """ - updateEnterpriseMembersCanChangeRepositoryVisibilitySetting(input: UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput!): UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload + """When paginating backwards, the cursor to continue.""" + startCursor: String +} - """Sets the members can create repositories setting for an enterprise.""" - updateEnterpriseMembersCanCreateRepositoriesSetting(input: UpdateEnterpriseMembersCanCreateRepositoriesSettingInput!): UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload +"""The possible types of patch statuses.""" +enum PatchStatus { + """The file was added. Git status 'A'.""" + ADDED - """Sets the members can delete issues setting for an enterprise.""" - updateEnterpriseMembersCanDeleteIssuesSetting(input: UpdateEnterpriseMembersCanDeleteIssuesSettingInput!): UpdateEnterpriseMembersCanDeleteIssuesSettingPayload + """The file was deleted. Git status 'D'.""" + DELETED - """Sets the members can delete repositories setting for an enterprise.""" - updateEnterpriseMembersCanDeleteRepositoriesSetting(input: UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput!): UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload + """The file was renamed. Git status 'R'.""" + RENAMED - """ - Sets whether members can invite collaborators are enabled for an enterprise. - """ - updateEnterpriseMembersCanInviteCollaboratorsSetting(input: UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput!): UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload + """The file was copied. Git status 'C'.""" + COPIED - """Sets whether or not an organization admin can make purchases.""" - updateEnterpriseMembersCanMakePurchasesSetting(input: UpdateEnterpriseMembersCanMakePurchasesSettingInput!): UpdateEnterpriseMembersCanMakePurchasesSettingPayload + """The file's contents were changed. Git status 'M'.""" + MODIFIED - """ - Sets the members can update protected branches setting for an enterprise. - """ - updateEnterpriseMembersCanUpdateProtectedBranchesSetting(input: UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput!): UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload + """The file's type was changed. Git status 'T'.""" + CHANGED +} - """Sets the members can view dependency insights for an enterprise.""" - updateEnterpriseMembersCanViewDependencyInsightsSetting(input: UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput!): UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload +"""Types that can grant permissions on a repository to a user""" +union PermissionGranter = Organization | Repository | Team - """Sets whether organization projects are enabled for an enterprise.""" - updateEnterpriseOrganizationProjectsSetting(input: UpdateEnterpriseOrganizationProjectsSettingInput!): UpdateEnterpriseOrganizationProjectsSettingPayload +"""A level of permission and source for a user's access to a repository.""" +type PermissionSource { + """The organization the repository belongs to.""" + organization: Organization! - """Updates an enterprise's profile.""" - updateEnterpriseProfile(input: UpdateEnterpriseProfileInput!): UpdateEnterpriseProfilePayload + """The level of access this source has granted to the user.""" + permission: DefaultRepositoryPermissionField! - """Sets whether repository projects are enabled for a enterprise.""" - updateEnterpriseRepositoryProjectsSetting(input: UpdateEnterpriseRepositoryProjectsSettingInput!): UpdateEnterpriseRepositoryProjectsSettingPayload + """The source of this permission.""" + source: PermissionGranter! +} - """Sets whether team discussions are enabled for an enterprise.""" - updateEnterpriseTeamDiscussionsSetting(input: UpdateEnterpriseTeamDiscussionsSettingInput!): UpdateEnterpriseTeamDiscussionsSettingPayload +"""Autogenerated input type of PinIssue""" +input PinIssueInput { + """The ID of the issue to be pinned""" + issueId: ID! - """ - Sets whether two factor authentication is required for all users in an enterprise. - """ - updateEnterpriseTwoFactorAuthenticationRequiredSetting(input: UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput!): UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Sets whether an IP allow list is enabled on an owner.""" - updateIpAllowListEnabledSetting(input: UpdateIpAllowListEnabledSettingInput!): UpdateIpAllowListEnabledSettingPayload +"""Autogenerated return type of PinIssue""" +type PinIssuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Updates an IP allow list entry.""" - updateIpAllowListEntry(input: UpdateIpAllowListEntryInput!): UpdateIpAllowListEntryPayload + """The issue that was pinned""" + issue: Issue +} - """Updates an Issue.""" - updateIssue(input: UpdateIssueInput!): UpdateIssuePayload +"""Types that can be pinned to a profile page.""" +union PinnableItem = Gist | Repository - """Updates an IssueComment object.""" - updateIssueComment(input: UpdateIssueCommentInput!): UpdateIssueCommentPayload +"""The connection type for PinnableItem.""" +type PinnableItemConnection { + """A list of edges.""" + edges: [PinnableItemEdge] - """Updates an existing project.""" - updateProject(input: UpdateProjectInput!): UpdateProjectPayload + """A list of nodes.""" + nodes: [PinnableItem] - """Updates an existing project card.""" - updateProjectCard(input: UpdateProjectCardInput!): UpdateProjectCardPayload + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Updates an existing project column.""" - updateProjectColumn(input: UpdateProjectColumnInput!): UpdateProjectColumnPayload + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Update a pull request""" - updatePullRequest(input: UpdatePullRequestInput!): UpdatePullRequestPayload +"""An edge in a connection.""" +type PinnableItemEdge { + """A cursor for use in pagination.""" + cursor: String! - """Updates the body of a pull request review.""" - updatePullRequestReview(input: UpdatePullRequestReviewInput!): UpdatePullRequestReviewPayload + """The item at the end of the edge.""" + node: PinnableItem +} - """Updates a pull request review comment.""" - updatePullRequestReviewComment(input: UpdatePullRequestReviewCommentInput!): UpdatePullRequestReviewCommentPayload +"""Represents items that can be pinned to a profile page or dashboard.""" +enum PinnableItemType { + """A repository.""" + REPOSITORY - """Update a Git Ref.""" - updateRef(input: UpdateRefInput!): UpdateRefPayload + """A gist.""" + GIST - """Update information about a repository.""" - updateRepository(input: UpdateRepositoryInput!): UpdateRepositoryPayload + """An issue.""" + ISSUE - """Updates the state for subscribable subjects.""" - updateSubscription(input: UpdateSubscriptionInput!): UpdateSubscriptionPayload + """A project.""" + PROJECT - """Updates a team discussion.""" - updateTeamDiscussion(input: UpdateTeamDiscussionInput!): UpdateTeamDiscussionPayload + """A pull request.""" + PULL_REQUEST - """Updates a discussion comment.""" - updateTeamDiscussionComment(input: UpdateTeamDiscussionCommentInput!): UpdateTeamDiscussionCommentPayload + """A user.""" + USER - """Replaces the repository's topics with the given topics.""" - updateTopics(input: UpdateTopicsInput!): UpdateTopicsPayload -} + """An organization.""" + ORGANIZATION -"""An object with an ID.""" -interface Node { - """ID of the object.""" - id: ID! + """A team.""" + TEAM } -"""Metadata for an audit entry with action oauth_application.*""" -interface OauthApplicationAuditEntryData { - """The name of the OAuth Application.""" - oauthApplicationName: String - - """The HTTP path for the OAuth Application""" - oauthApplicationResourcePath: URI +""" +A Pinned Discussion is a discussion pinned to a repository's index page. +""" +type PinnedDiscussion implements Node & RepositoryNode { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP URL for the OAuth Application""" - oauthApplicationUrl: URI -} + """Identifies the primary key from the database.""" + databaseId: Int -"""Audit log entry for a oauth_application.create event.""" -type OauthApplicationCreateAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! + """The discussion that was pinned.""" + discussion: Discussion! - """The user who initiated the action""" - actor: AuditEntryActor + """Color stops of the chosen gradient""" + gradientStopColors: [String!]! + id: ID! - """The IP address of the actor""" - actorIp: String + """Background texture pattern""" + pattern: PinnedDiscussionPattern! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The actor that pinned this discussion.""" + pinnedBy: Actor! - """The username of the user who initiated the action""" - actorLogin: String + """Preconfigured background gradient option""" + preconfiguredGradient: PinnedDiscussionGradient - """The HTTP path for the actor.""" - actorResourcePath: URI + """The repository associated with this node.""" + repository: Repository! - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The application URL of the OAuth Application.""" - applicationUrl: URI +"""The connection type for PinnedDiscussion.""" +type PinnedDiscussionConnection { + """A list of edges.""" + edges: [PinnedDiscussionEdge] - """The callback URL of the OAuth Application.""" - callbackUrl: URI + """A list of nodes.""" + nodes: [PinnedDiscussion] - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The name of the OAuth Application.""" - oauthApplicationName: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The HTTP path for the OAuth Application""" - oauthApplicationResourcePath: URI +"""An edge in a connection.""" +type PinnedDiscussionEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP URL for the OAuth Application""" - oauthApplicationUrl: URI + """The item at the end of the edge.""" + node: PinnedDiscussion +} - """The corresponding operation type for the action""" - operationType: OperationType +""" +Preconfigured gradients that may be used to style discussions pinned within a repository. +""" +enum PinnedDiscussionGradient { + """A gradient of red to orange""" + RED_ORANGE - """The Organization associated with the Audit Entry.""" - organization: Organization + """A gradient of blue to mint""" + BLUE_MINT - """The name of the Organization.""" - organizationName: String + """A gradient of blue to purple""" + BLUE_PURPLE - """The HTTP path for the organization""" - organizationResourcePath: URI + """A gradient of pink to blue""" + PINK_BLUE - """The HTTP URL for the organization""" - organizationUrl: URI + """A gradient of purple to coral""" + PURPLE_CORAL +} - """The rate limit of the OAuth Application.""" - rateLimit: Int +""" +Preconfigured background patterns that may be used to style discussions pinned within a repository. +""" +enum PinnedDiscussionPattern { + """A solid dot pattern""" + DOT_FILL - """The state of the OAuth Application.""" - state: OauthApplicationCreateAuditEntryState + """A plus sign pattern""" + PLUS - """The user affected by the action""" - user: User + """A lightning bolt pattern""" + ZAP - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """An upward-facing chevron pattern""" + CHEVRON_UP - """The HTTP path for the user.""" - userResourcePath: URI + """A hollow dot pattern""" + DOT - """The HTTP URL for the user.""" - userUrl: URI + """A heart pattern""" + HEART_FILL } -"""The state of an OAuth Application when it was created.""" -enum OauthApplicationCreateAuditEntryState { - """The OAuth Application was active and allowed to have OAuth Accesses.""" - ACTIVE +"""Represents a 'pinned' event on a given issue or pull request.""" +type PinnedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor - """ - The OAuth Application was suspended from generating OAuth Accesses due to abuse or security concerns. - """ - SUSPENDED + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! - """The OAuth Application was in the process of being deleted.""" - PENDING_DELETION + """Identifies the issue associated with the event.""" + issue: Issue! } -"""The corresponding operation type for the action""" -enum OperationType { - """An existing resource was accessed""" - ACCESS +"""A Pinned Issue is a issue pinned to a repository's index page.""" +type PinnedIssue implements Node { + """Identifies the primary key from the database.""" + databaseId: Int - """A resource performed an authentication event""" - AUTHENTICATION + """Identifies the primary key from the database as a BigInt.""" + fullDatabaseId: BigInt + id: ID! - """A new resource was created""" - CREATE + """The issue that was pinned.""" + issue: Issue! - """An existing resource was modified""" - MODIFY + """The actor that pinned this issue.""" + pinnedBy: Actor! - """An existing resource was removed""" - REMOVE + """The repository that this issue was pinned to.""" + repository: Repository! +} - """An existing resource was restored""" - RESTORE +"""The connection type for PinnedIssue.""" +type PinnedIssueConnection { + """A list of edges.""" + edges: [PinnedIssueEdge] - """An existing resource was transferred between multiple resources""" - TRANSFER + """A list of nodes.""" + nodes: [PinnedIssue] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! } -""" -Possible directions in which to order a list of items when provided an `orderBy` argument. -""" -enum OrderDirection { - """Specifies an ascending order for a given `orderBy` argument.""" - ASC +"""An edge in a connection.""" +type PinnedIssueEdge { + """A cursor for use in pagination.""" + cursor: String! - """Specifies a descending order for a given `orderBy` argument.""" - DESC + """The item at the end of the edge.""" + node: PinnedIssue } -"""Audit log entry for a org.add_billing_manager""" -type OrgAddBillingManagerAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { +"""An ISO-8601 encoded UTC date string with millisecond precision.""" +scalar PreciseDateTime + +"""Audit log entry for a private_repository_forking.disable event.""" +type PrivateRepositoryForkingDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData & RepositoryAuditEntryData { """The action name""" action: String! @@ -9772,12 +18758,16 @@ type OrgAddBillingManagerAuditEntry implements Node & AuditEntry & OrganizationA """The time the action was initiated""" createdAt: PreciseDateTime! - id: ID! - """ - The email address used to invite a billing manager for the organization. - """ - invitationEmail: String + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI + id: ID! """The corresponding operation type for the action""" operationType: OperationType @@ -9794,6 +18784,18 @@ type OrgAddBillingManagerAuditEntry implements Node & AuditEntry & OrganizationA """The HTTP URL for the organization""" organizationUrl: URI + """The repository associated with the action""" + repository: Repository + + """The name of the repository""" + repositoryName: String + + """The HTTP path for the repository""" + repositoryResourcePath: URI + + """The HTTP URL for the repository""" + repositoryUrl: URI + """The user affected by the action""" user: User @@ -9809,8 +18811,8 @@ type OrgAddBillingManagerAuditEntry implements Node & AuditEntry & OrganizationA userUrl: URI } -"""Audit log entry for a org.add_member""" -type OrgAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { +"""Audit log entry for a private_repository_forking.enable event.""" +type PrivateRepositoryForkingEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData & RepositoryAuditEntryData { """The action name""" action: String! @@ -9834,6 +18836,15 @@ type OrgAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntr """The time the action was initiated""" createdAt: PreciseDateTime! + + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI id: ID! """The corresponding operation type for the action""" @@ -9851,8 +18862,17 @@ type OrgAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntr """The HTTP URL for the organization""" organizationUrl: URI - """The permission level of the member added to the organization.""" - permission: OrgAddMemberAuditEntryPermission + """The repository associated with the action""" + repository: Repository + + """The name of the repository""" + repositoryName: String + + """The HTTP path for the repository""" + repositoryResourcePath: URI + + """The HTTP URL for the repository""" + repositoryUrl: URI """The user affected by the action""" user: User @@ -9869,29 +18889,72 @@ type OrgAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntr userUrl: URI } -"""The permissions available to members on an Organization.""" -enum OrgAddMemberAuditEntryPermission { - """Can read and clone repositories.""" - READ +""" +A curatable list of repositories relating to a repository owner, which defaults +to showing the most popular repositories they own. +""" +type ProfileItemShowcase { + """Whether or not the owner has pinned any repositories or gists.""" + hasPinnedItems: Boolean! - """Can read, clone, push, and add collaborators to repositories.""" - ADMIN + """ + The repositories and gists in the showcase. If the profile owner has any + pinned items, those will be returned. Otherwise, the profile owner's popular + repositories will be returned. + """ + items( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): PinnableItemConnection! } -""" -An account on GitHub, with one or more owners, that has repositories, members and teams. -""" -type Organization implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwner & UniformResourceLocatable & MemberStatusable & ProfileOwner & Sponsorable { +"""Represents any entity on GitHub that has a profile page.""" +interface ProfileOwner { + """ + Determine if this repository owner has any items that can be pinned to their profile. + """ + anyPinnableItems( + """Filter to only a particular kind of pinnable item.""" + type: PinnableItemType + ): Boolean! + + """The public profile email.""" + email: String + id: ID! + + """ + Showcases a selection of repositories and gists that the profile owner has + either curated or that have been selected automatically based on popularity. + """ + itemShowcase: ProfileItemShowcase! + + """The public profile location.""" + location: String + + """The username used to login.""" + login: String! + + """The public profile name.""" + name: String + """ - Determine if this repository owner has any items that can be pinned to their profile. + A list of repositories and gists this profile owner can pin to their profile. """ - anyPinnableItems( - """Filter to only a particular kind of pinnable item.""" - type: PinnableItemType - ): Boolean! + pinnableItems( + """Filter the types of pinnable items that are returned.""" + types: [PinnableItemType!] - """Audit log entries of the organization""" - auditLog( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -9905,51 +18968,15 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - - """The query string to filter audit entries""" - query: String - - """Ordering options for the returned audit log entries.""" - orderBy: AuditLogOrder = {field: CREATED_AT, direction: DESC} - ): OrganizationAuditEntryConnection! - - """A URL pointing to the organization's public avatar.""" - avatarUrl( - """The size of the resulting square image.""" - size: Int - ): URI! - - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - - """Identifies the primary key from the database.""" - databaseId: Int - - """The organization's public profile description.""" - description: String - - """The organization's public profile description rendered to HTML.""" - descriptionHTML: String - - """The organization's public email.""" - email: String - - """True if this user/organization has a GitHub Sponsors listing.""" - hasSponsorsListing: Boolean! - id: ID! - - """The interaction ability settings for this organization.""" - interactionAbility: RepositoryInteractionAbility + ): PinnableItemConnection! """ - The setting value for whether the organization has an IP allow list enabled. + A list of repositories and gists this profile owner has pinned to their profile """ - ipAllowListEnabledSetting: IpAllowListEnabledSettingValue! + pinnedItems( + """Filter the types of pinned items that are returned.""" + types: [PinnableItemType!] - """ - The IP addresses that are allowed to access resources owned by the organization. - """ - ipAllowListEntries( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -9963,35 +18990,40 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - - """Ordering options for IP allow list entries returned.""" - orderBy: IpAllowListEntryOrder = {field: ALLOW_LIST_VALUE, direction: ASC} - ): IpAllowListEntryConnection! - - """True if the viewer is sponsored by this user/organization.""" - isSponsoringViewer: Boolean! + ): PinnableItemConnection! """ - Whether the organization has verified its profile email and website, always false on Enterprise. + Returns how many more items this profile owner can pin to their profile. """ - isVerified: Boolean! + pinnedItemsRemaining: Int! - """ - Showcases a selection of repositories and gists that the profile owner has - either curated or that have been selected automatically based on popularity. - """ - itemShowcase: ProfileItemShowcase! + """Can the viewer pin repositories and gists to the profile?""" + viewerCanChangePinnedItems: Boolean! - """The organization's public profile location.""" - location: String + """The public profile website URL.""" + websiteUrl: URI +} - """The organization's login name.""" - login: String! +""" +Projects manage issues, pull requests and notes within a project owner. +""" +type Project implements Node & Closable & Updatable { + """The project's description body.""" + body: String + + """The projects description body rendered to HTML.""" + bodyHTML: HTML! """ - Get the status messages members of this entity have set that are either public or visible only to the organization. + Indicates if the object is closed (definition of closed may depend on type) """ - memberStatuses( + closed: Boolean! + + """Identifies the date and time when the object was closed.""" + closedAt: DateTime + + """List of columns in the project""" + columns( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10005,13 +19037,31 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int + ): ProjectColumnConnection! - """Ordering options for user statuses returned from the connection.""" - orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC} - ): UserStatusConnection! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """A list of users who are members of this organization.""" - membersWithRole( + """The actor who originally created the project.""" + creator: Actor + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! + + """The project's name.""" + name: String! + + """The project's number.""" + number: Int! + + """ + The project's owner. Currently limited to repositories, organizations, and users. + """ + owner: ProjectOwner! + + """List of pending cards in this project""" + pendingCards( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10025,22 +19075,134 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - ): OrganizationMemberConnection! - """The organization's public profile name.""" - name: String + """A list of archived states to filter the cards by""" + archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] + ): ProjectCardConnection! - """The HTTP path creating a new team""" - newTeamResourcePath: URI! + """Project progress details.""" + progress: ProjectProgress! - """The HTTP URL creating a new team""" - newTeamUrl: URI! + """The HTTP path for this project""" + resourcePath: URI! - """The billing email for the organization.""" - organizationBillingEmail: String + """Whether the project is open or closed.""" + state: ProjectState! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this project""" + url: URI! + + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! + + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! + + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! +} + +"""A card in a project.""" +type ProjectCard implements Node { + """ + The project column this card is associated under. A card may only belong to one + project column at a time. The column field will be null if the card is created + in a pending state and has yet to be associated with a column. Once cards are + associated with a column, they will not become pending in the future. + + """ + column: ProjectColumn + + """The card content item""" + content: ProjectCardItem + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The actor who created this card""" + creator: Actor + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! + + """Whether the card is archived""" + isArchived: Boolean! + + """The card note""" + note: String + + """The project that contains this card.""" + project: Project! + + """The HTTP path for this card""" + resourcePath: URI! + + """The state of ProjectCard""" + state: ProjectCardState + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this card""" + url: URI! +} + +"""The possible archived states of a project card.""" +enum ProjectCardArchivedState { + """A project card that is archived""" + ARCHIVED + + """A project card that is not archived""" + NOT_ARCHIVED +} + +"""The connection type for ProjectCard.""" +type ProjectCardConnection { + """A list of edges.""" + edges: [ProjectCardEdge] + + """A list of nodes.""" + nodes: [ProjectCard] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type ProjectCardEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: ProjectCard +} + +"""Types that can be inside Project Cards.""" +union ProjectCardItem = Issue | PullRequest + +"""Various content states of a ProjectCard""" +enum ProjectCardState { + """The card has content only.""" + CONTENT_ONLY + + """The card has a note only.""" + NOTE_ONLY + + """The card is redacted.""" + REDACTED +} - """A list of packages under the owner.""" - packages( +"""A column inside a project.""" +type ProjectColumn implements Node { + """List of cards in the column""" + cards( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10055,84 +19217,120 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - """Find packages by their names.""" - names: [String] + """A list of archived states to filter the cards by""" + archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] + ): ProjectCardConnection! - """Find packages in a repository by ID.""" - repositoryId: ID + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Filter registry package by type.""" - packageType: PackageType + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! - """Ordering of the returned packages.""" - orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} - ): PackageConnection! + """The project column's name.""" + name: String! - """A list of users who have been invited to join this organization.""" - pendingMembers( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The project that contains this column.""" + project: Project! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The semantic purpose of the column""" + purpose: ProjectColumnPurpose - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP path for this project column""" + resourcePath: URI! - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """ - A list of repositories and gists this profile owner can pin to their profile. - """ - pinnableItems( - """Filter the types of pinnable items that are returned.""" - types: [PinnableItemType!] + """The HTTP URL for this project column""" + url: URI! +} - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""The connection type for ProjectColumn.""" +type ProjectColumnConnection { + """A list of edges.""" + edges: [ProjectColumnEdge] - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """A list of nodes.""" + nodes: [ProjectColumn] - """Returns the first _n_ elements from the list.""" - first: Int + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Returns the last _n_ elements from the list.""" - last: Int - ): PinnableItemConnection! + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """ - A list of repositories and gists this profile owner has pinned to their profile - """ - pinnedItems( - """Filter the types of pinned items that are returned.""" - types: [PinnableItemType!] +"""An edge in a connection.""" +type ProjectColumnEdge { + """A cursor for use in pagination.""" + cursor: String! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The item at the end of the edge.""" + node: ProjectColumn +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The semantic purpose of the column - todo, in progress, or done.""" +enum ProjectColumnPurpose { + """The column contains cards still to be worked on""" + TODO - """Returns the first _n_ elements from the list.""" - first: Int + """The column contains cards which are currently being worked on""" + IN_PROGRESS - """Returns the last _n_ elements from the list.""" - last: Int - ): PinnableItemConnection! + """The column contains cards which are complete""" + DONE +} - """ - Returns how many more items this profile owner can pin to their profile. - """ - pinnedItemsRemaining: Int! +"""A list of projects associated with the owner.""" +type ProjectConnection { + """A list of edges.""" + edges: [ProjectEdge] + + """A list of nodes.""" + nodes: [Project] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type ProjectEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: Project +} + +"""Ways in which lists of projects can be ordered upon return.""" +input ProjectOrder { + """The field in which to order projects by.""" + field: ProjectOrderField! + + """The direction in which to order projects by the specified field.""" + direction: OrderDirection! +} + +"""Properties by which project connections can be ordered.""" +enum ProjectOrderField { + """Order projects by creation time""" + CREATED_AT + + """Order projects by update time""" + UPDATED_AT + + """Order projects by name""" + NAME +} + +"""Represents an owner of a Project.""" +interface ProjectOwner { + id: ID! """Find project by number.""" project( @@ -10166,39 +19364,99 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi last: Int ): ProjectConnection! - """The HTTP path listing organization's projects""" + """The HTTP path listing owners projects""" projectsResourcePath: URI! - """The HTTP URL listing organization's projects""" + """The HTTP URL listing owners projects""" projectsUrl: URI! - """A list of repositories that the user owns.""" - repositories( - """If non-null, filters repositories according to privacy""" - privacy: RepositoryPrivacy + """Can the current viewer create new projects on this owner.""" + viewerCanCreateProjects: Boolean! +} - """Ordering options for repositories returned from the connection""" - orderBy: RepositoryOrder +"""Project progress stats.""" +type ProjectProgress { + """The number of done cards.""" + doneCount: Int! - """ - Array of viewer's affiliation options for repositories returned from the - connection. For example, OWNER will include only repositories that the - current viewer owns. - """ - affiliations: [RepositoryAffiliation] + """The percentage of done cards.""" + donePercentage: Float! - """ - Array of owner's affiliation options for repositories returned from the - connection. For example, OWNER will include only repositories that the - organization or user being viewed owns. - """ - ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] + """ + Whether progress tracking is enabled and cards with purpose exist for this project + """ + enabled: Boolean! + + """The number of in-progress cards.""" + inProgressCount: Int! + + """The percentage of in-progress cards.""" + inProgressPercentage: Float! + + """The number of to do cards.""" + todoCount: Int! + + """The percentage of to do cards.""" + todoPercentage: Float! +} + +"""State of the project; either 'open' or 'closed'""" +enum ProjectState { + """The project is open.""" + OPEN + + """The project is closed.""" + CLOSED +} + +"""GitHub-provided templates for Projects""" +enum ProjectTemplate { + """Create a board with columns for To do, In progress and Done.""" + BASIC_KANBAN + + """ + Create a board with v2 triggers to automatically move cards across To do, In progress and Done columns. + """ + AUTOMATED_KANBAN_V2 + + """ + Create a board with triggers to automatically move cards across columns with review automation. + """ + AUTOMATED_REVIEWS_KANBAN + + """ + Create a board to triage and prioritize bugs with To do, priority, and Done columns. + """ + BUG_TRIAGE +} + +""" +New projects that manage issues, pull requests and drafts using tables and boards. +""" +type ProjectV2 implements Closable & Updatable & Node { + """Returns true if the project is closed.""" + closed: Boolean! + + """Identifies the date and time when the object was closed.""" + closedAt: DateTime + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The actor who originally created the project.""" + creator: Actor + + """Identifies the primary key from the database.""" + databaseId: Int - """ - If non-null, filters repositories according to whether they have been locked - """ - isLocked: Boolean + """A field of the project""" + field( + """The name of the field""" + name: String! + ): ProjectV2FieldConfiguration + """List of fields and their constraints in the project""" + fields( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10213,35 +19471,13 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - """ - If non-null, filters repositories according to whether they are forks of another repository - """ - isFork: Boolean - ): RepositoryConnection! - - """Find Repository.""" - repository( - """Name of Repository to find.""" - name: String! - ): Repository - - """ - When true the organization requires all members, billing managers, and outside - collaborators to enable two-factor authentication. - """ - requiresTwoFactorAuthentication: Boolean - - """The HTTP path for this organization.""" - resourcePath: URI! - - """The Organization's SAML identity providers""" - samlIdentityProvider: OrganizationIdentityProvider - - """The GitHub Sponsors listing for this user or organization.""" - sponsorsListing: SponsorsListing + """Ordering options for project v2 fields returned from the connection""" + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection! + id: ID! - """This object's sponsorships as the maintainer.""" - sponsorshipsAsMaintainer( + """List of items in the project""" + items( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10256,18 +19492,24 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - """Whether or not to include private sponsorships in the result set""" - includePrivate: Boolean = false + """Ordering options for project v2 items returned from the connection""" + orderBy: ProjectV2ItemOrder = {field: POSITION, direction: ASC} + ): ProjectV2ItemConnection! - """ - Ordering options for sponsorships returned from this connection. If left - blank, the sponsorships will be ordered based on relevancy to the viewer. - """ - orderBy: SponsorshipOrder - ): SponsorshipConnection! + """The project's number.""" + number: Int! - """This object's sponsorships as the sponsor.""" - sponsorshipsAsSponsor( + """The project's owner. Currently limited to organizations and users.""" + owner: ProjectV2Owner! + + """Returns true if the project is public.""" + public: Boolean! + + """The project's readme.""" + readme: String + + """The repositories the project is linked to.""" + repositories( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10282,46 +19524,18 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - """ - Ordering options for sponsorships returned from this connection. If left - blank, the sponsorships will be ordered based on relevancy to the viewer. - """ - orderBy: SponsorshipOrder - ): SponsorshipConnection! - - """Find an organization's team by its slug.""" - team( - """The name or slug of the team to find.""" - slug: String! - ): Team - - """A list of teams in this organization.""" - teams( - """If non-null, filters teams according to privacy""" - privacy: TeamPrivacy - - """ - If non-null, filters teams according to whether the viewer is an admin or member on team - """ - role: TeamRole - - """If non-null, filters teams with query on team name and team slug""" - query: String - - """User logins to filter by""" - userLogins: [String!] - - """Ordering options for teams returned from the connection""" - orderBy: TeamOrder + """Ordering options for repositories returned from the connection""" + orderBy: RepositoryOrder = {field: CREATED_AT, direction: DESC} + ): RepositoryConnection! - """ - If true, filters teams that are mapped to an LDAP Group (Enterprise only) - """ - ldapMapped: Boolean + """The HTTP path for this project""" + resourcePath: URI! - """If true, restrict to only root teams""" - rootTeamsOnly: Boolean = false + """The project's short description.""" + shortDescription: String + """The teams the project is linked to.""" + teams( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10335,128 +19549,40 @@ type Organization implements Node & Actor & PackageOwner & ProjectOwner & Reposi """Returns the last _n_ elements from the list.""" last: Int - ): TeamConnection! - """The HTTP path listing organization's teams""" - teamsResourcePath: URI! + """Ordering options for teams returned from this connection.""" + orderBy: TeamOrder = {field: NAME, direction: ASC} + ): TeamConnection! - """The HTTP URL listing organization's teams""" - teamsUrl: URI! + """Returns true if this project is a template.""" + template: Boolean! - """The organization's Twitter username.""" - twitterUsername: String + """The project's name.""" + title: String! """Identifies the date and time when the object was last updated.""" updatedAt: DateTime! - """The HTTP URL for this organization.""" + """The HTTP URL for this project""" url: URI! - """Organization is adminable by the viewer.""" - viewerCanAdminister: Boolean! - - """Can the viewer pin repositories and gists to the profile?""" - viewerCanChangePinnedItems: Boolean! - - """Can the current viewer create new projects on this owner.""" - viewerCanCreateProjects: Boolean! - - """Viewer can create repositories on this organization""" - viewerCanCreateRepositories: Boolean! - - """Viewer can create teams on this organization.""" - viewerCanCreateTeams: Boolean! - - """Whether or not the viewer is able to sponsor this user/organization.""" - viewerCanSponsor: Boolean! - - """Viewer is an active member of this organization.""" - viewerIsAMember: Boolean! - - """True if the viewer is sponsoring this user/organization.""" - viewerIsSponsoring: Boolean! - - """The organization's public profile URL.""" - websiteUrl: URI -} - -"""An audit entry in an organization audit log.""" -union OrganizationAuditEntry = MembersCanDeleteReposClearAuditEntry | MembersCanDeleteReposDisableAuditEntry | MembersCanDeleteReposEnableAuditEntry | OauthApplicationCreateAuditEntry | OrgAddBillingManagerAuditEntry | OrgAddMemberAuditEntry | OrgBlockUserAuditEntry | OrgConfigDisableCollaboratorsOnlyAuditEntry | OrgConfigEnableCollaboratorsOnlyAuditEntry | OrgCreateAuditEntry | OrgDisableOauthAppRestrictionsAuditEntry | OrgDisableSamlAuditEntry | OrgDisableTwoFactorRequirementAuditEntry | OrgEnableOauthAppRestrictionsAuditEntry | OrgEnableSamlAuditEntry | OrgEnableTwoFactorRequirementAuditEntry | OrgInviteMemberAuditEntry | OrgInviteToBusinessAuditEntry | OrgOauthAppAccessApprovedAuditEntry | OrgOauthAppAccessDeniedAuditEntry | OrgOauthAppAccessRequestedAuditEntry | OrgRemoveBillingManagerAuditEntry | OrgRemoveMemberAuditEntry | OrgRemoveOutsideCollaboratorAuditEntry | OrgRestoreMemberAuditEntry | OrgUnblockUserAuditEntry | OrgUpdateDefaultRepositoryPermissionAuditEntry | OrgUpdateMemberAuditEntry | OrgUpdateMemberRepositoryCreationPermissionAuditEntry | OrgUpdateMemberRepositoryInvitationPermissionAuditEntry | PrivateRepositoryForkingDisableAuditEntry | PrivateRepositoryForkingEnableAuditEntry | RepoAccessAuditEntry | RepoAddMemberAuditEntry | RepoAddTopicAuditEntry | RepoArchivedAuditEntry | RepoChangeMergeSettingAuditEntry | RepoConfigDisableAnonymousGitAccessAuditEntry | RepoConfigDisableCollaboratorsOnlyAuditEntry | RepoConfigDisableContributorsOnlyAuditEntry | RepoConfigDisableSockpuppetDisallowedAuditEntry | RepoConfigEnableAnonymousGitAccessAuditEntry | RepoConfigEnableCollaboratorsOnlyAuditEntry | RepoConfigEnableContributorsOnlyAuditEntry | RepoConfigEnableSockpuppetDisallowedAuditEntry | RepoConfigLockAnonymousGitAccessAuditEntry | RepoConfigUnlockAnonymousGitAccessAuditEntry | RepoCreateAuditEntry | RepoDestroyAuditEntry | RepoRemoveMemberAuditEntry | RepoRemoveTopicAuditEntry | RepositoryVisibilityChangeDisableAuditEntry | RepositoryVisibilityChangeEnableAuditEntry | TeamAddMemberAuditEntry | TeamAddRepositoryAuditEntry | TeamChangeParentTeamAuditEntry | TeamRemoveMemberAuditEntry | TeamRemoveRepositoryAuditEntry - -"""The connection type for OrganizationAuditEntry.""" -type OrganizationAuditEntryConnection { - """A list of edges.""" - edges: [OrganizationAuditEntryEdge] - - """A list of nodes.""" - nodes: [OrganizationAuditEntry] - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """Identifies the total count of items in the connection.""" - totalCount: Int! -} - -"""Metadata for an audit entry with action org.*""" -interface OrganizationAuditEntryData { - """The Organization associated with the Audit Entry.""" - organization: Organization - - """The name of the Organization.""" - organizationName: String - - """The HTTP path for the organization""" - organizationResourcePath: URI - - """The HTTP URL for the organization""" - organizationUrl: URI -} - -"""An edge in a connection.""" -type OrganizationAuditEntryEdge { - """A cursor for use in pagination.""" - cursor: String! - - """The item at the end of the edge.""" - node: OrganizationAuditEntry -} - -"""The connection type for Organization.""" -type OrganizationConnection { - """A list of edges.""" - edges: [OrganizationEdge] - - """A list of nodes.""" - nodes: [Organization] - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """A view of the project""" + view( + """The number of a view belonging to the project""" + number: Int! + ): ProjectV2View -"""An edge in a connection.""" -type OrganizationEdge { - """A cursor for use in pagination.""" - cursor: String! + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! - """The item at the end of the edge.""" - node: Organization -} + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! -""" -An Identity Provider configured to provision SAML and SCIM identities for Organizations -""" -type OrganizationIdentityProvider implements Node { - """ - The digest algorithm used to sign SAML requests for the Identity Provider. - """ - digestMethod: URI + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! - """External Identities provisioned by this Identity Provider""" - externalIdentities( + """List of views in the project""" + views( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10470,61 +19596,45 @@ type OrganizationIdentityProvider implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): ExternalIdentityConnection! - id: ID! - - """ - The x509 certificate used by the Identity Provder to sign assertions and responses. - """ - idpCertificate: X509Certificate - - """The Issuer Entity ID for the SAML Identity Provider""" - issuer: String - - """Organization this Identity Provider belongs to""" - organization: Organization - - """ - The signature algorithm used to sign SAML requests for the Identity Provider. - """ - signatureMethod: URI - - """The URL endpoint for the Identity Provider's SAML SSO.""" - ssoUrl: URI -} -"""An Invitation for a user to an organization.""" -type OrganizationInvitation implements Node { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Ordering options for project v2 views returned from the connection""" + orderBy: ProjectV2ViewOrder = {field: POSITION, direction: ASC} + ): ProjectV2ViewConnection! - """The email address of the user invited to the organization.""" - email: String - id: ID! + """A workflow of the project""" + workflow( + """The number of a workflow belonging to the project""" + number: Int! + ): ProjectV2Workflow - """The type of invitation that was sent (e.g. email, user).""" - invitationType: OrganizationInvitationType! + """List of the workflows in the project""" + workflows( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user who was invited to the organization.""" - invitee: User + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The user who created the invitation.""" - inviter: User! + """Returns the first _n_ elements from the list.""" + first: Int - """The organization the invite is for""" - organization: Organization! + """Returns the last _n_ elements from the list.""" + last: Int - """The user's pending role in the organization (e.g. member, owner).""" - role: OrganizationInvitationRole! + """Ordering options for project v2 workflows returned from the connection""" + orderBy: ProjectV2WorkflowOrder = {field: NAME, direction: ASC} + ): ProjectV2WorkflowConnection! } -"""The connection type for OrganizationInvitation.""" -type OrganizationInvitationConnection { +"""The connection type for ProjectV2.""" +type ProjectV2Connection { """A list of edges.""" - edges: [OrganizationInvitationEdge] + edges: [ProjectV2Edge] """A list of nodes.""" - nodes: [OrganizationInvitation] + nodes: [ProjectV2] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -10533,46 +19643,84 @@ type OrganizationInvitationConnection { totalCount: Int! } +"""The type of a project field.""" +enum ProjectV2CustomFieldType { + """Text""" + TEXT + + """Single Select""" + SINGLE_SELECT + + """Number""" + NUMBER + + """Date""" + DATE +} + """An edge in a connection.""" -type OrganizationInvitationEdge { +type ProjectV2Edge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: OrganizationInvitation + node: ProjectV2 } -"""The possible organization invitation roles.""" -enum OrganizationInvitationRole { - """The user is invited to be a direct member of the organization.""" - DIRECT_MEMBER +"""A field inside a project.""" +type ProjectV2Field implements ProjectV2FieldCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The user is invited to be an admin of the organization.""" - ADMIN + """The field's type.""" + dataType: ProjectV2FieldType! - """The user is invited to be a billing manager of the organization.""" - BILLING_MANAGER + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! - """The user's previous role will be reinstated.""" - REINSTATE + """The project field's name.""" + name: String! + + """The project that contains this field.""" + project: ProjectV2! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! } -"""The possible organization invitation types.""" -enum OrganizationInvitationType { - """The invitation was to an existing user.""" - USER +"""Common fields across different project field types""" +interface ProjectV2FieldCommon { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The invitation was to an email address.""" - EMAIL + """The field's type.""" + dataType: ProjectV2FieldType! + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! + + """The project field's name.""" + name: String! + + """The project that contains this field.""" + project: ProjectV2! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! } -"""The connection type for User.""" -type OrganizationMemberConnection { +"""Configurations for project fields.""" +union ProjectV2FieldConfiguration = ProjectV2Field | ProjectV2IterationField | ProjectV2SingleSelectField + +"""The connection type for ProjectV2FieldConfiguration.""" +type ProjectV2FieldConfigurationConnection { """A list of edges.""" - edges: [OrganizationMemberEdge] + edges: [ProjectV2FieldConfigurationEdge] """A list of nodes.""" - nodes: [User] + nodes: [ProjectV2FieldConfiguration] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -10581,103 +19729,153 @@ type OrganizationMemberConnection { totalCount: Int! } -"""Represents a user within an organization.""" -type OrganizationMemberEdge { +"""An edge in a connection.""" +type ProjectV2FieldConfigurationEdge { """A cursor for use in pagination.""" cursor: String! - """ - Whether the organization member has two factor enabled or not. Returns null if information is not available to viewer. - """ - hasTwoFactorEnabled: Boolean - """The item at the end of the edge.""" - node: User - - """The role this user has in the organization.""" - role: OrganizationMemberRole + node: ProjectV2FieldConfiguration } -"""The possible roles within an organization for its members.""" -enum OrganizationMemberRole { - """The user is a member of the organization.""" - MEMBER +"""The connection type for ProjectV2Field.""" +type ProjectV2FieldConnection { + """A list of edges.""" + edges: [ProjectV2FieldEdge] - """The user is an administrator of the organization.""" - ADMIN -} + """A list of nodes.""" + nodes: [ProjectV2Field] -""" -The possible values for the members can create repositories setting on an organization. -""" -enum OrganizationMembersCanCreateRepositoriesSettingValue { - """Members will be able to create public and private repositories.""" - ALL + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Members will be able to create only private repositories.""" - PRIVATE + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Members will not be able to create public or private repositories.""" - DISABLED +"""An edge in a connection.""" +type ProjectV2FieldEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: ProjectV2Field } -"""Ordering options for organization connections.""" -input OrganizationOrder { - """The field to order organizations by.""" - field: OrganizationOrderField! +"""Ordering options for project v2 field connections""" +input ProjectV2FieldOrder { + """The field to order the project v2 fields by.""" + field: ProjectV2FieldOrderField! """The ordering direction.""" direction: OrderDirection! } -"""Properties by which organization connections can be ordered.""" -enum OrganizationOrderField { - """Order organizations by creation time""" +"""Properties by which project v2 field connections can be ordered.""" +enum ProjectV2FieldOrderField { + """Order project v2 fields by position""" + POSITION + + """Order project v2 fields by creation time""" CREATED_AT - """Order organizations by login""" - LOGIN + """Order project v2 fields by name""" + NAME } -"""An organization list hovercard context""" -type OrganizationsHovercardContext implements HovercardContext { - """A string describing this context""" - message: String! +"""The type of a project field.""" +enum ProjectV2FieldType { + """Assignees""" + ASSIGNEES - """An octicon to accompany this context""" - octicon: String! + """Linked Pull Requests""" + LINKED_PULL_REQUESTS - """Organizations this user is a member of that are relevant""" - relevantOrganizations( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Reviewers""" + REVIEWERS - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Labels""" + LABELS - """Returns the first _n_ elements from the list.""" - first: Int + """Milestone""" + MILESTONE - """Returns the last _n_ elements from the list.""" - last: Int - ): OrganizationConnection! + """Repository""" + REPOSITORY - """The total number of organizations this user is in""" - totalOrganizationCount: Int! + """Title""" + TITLE + + """Text""" + TEXT + + """Single Select""" + SINGLE_SELECT + + """Number""" + NUMBER + + """Date""" + DATE + + """Iteration""" + ITERATION + + """Tracks""" + TRACKS + + """Tracked by""" + TRACKED_BY } -"""An organization teams hovercard context""" -type OrganizationTeamsHovercardContext implements HovercardContext { - """A string describing this context""" - message: String! +""" +The values that can be used to update a field of an item inside a Project. Only 1 value can be updated at a time. +""" +input ProjectV2FieldValue { + """The text to set on the field.""" + text: String - """An octicon to accompany this context""" - octicon: String! + """The number to set on the field.""" + number: Float - """Teams in this organization the user is a member of that are relevant""" - relevantTeams( + """The ISO 8601 date to set on the field.""" + date: Date + + """The id of the single select option to set on the field.""" + singleSelectOptionId: String + + """The id of the iteration to set on the field.""" + iterationId: String +} + +"""Ways in which to filter lists of projects.""" +input ProjectV2Filters { + """List project v2 filtered by the state given.""" + state: ProjectV2State +} + +"""An item within a Project.""" +type ProjectV2Item implements Node { + """The content of the referenced draft issue, issue, or pull request""" + content: ProjectV2ItemContent + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The actor who created the item.""" + creator: Actor + + """Identifies the primary key from the database.""" + databaseId: Int + + """A specific field value given a field name""" + fieldValueByName( + """The name of the field to return the field value of""" + name: String! + ): ProjectV2ItemFieldValue + + """List of field values""" + fieldValues( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -10691,1807 +19889,2127 @@ type OrganizationTeamsHovercardContext implements HovercardContext { """Returns the last _n_ elements from the list.""" last: Int - ): TeamConnection! - - """The path for the full team list for this user""" - teamsResourcePath: URI! - - """The URL for the full team list for this user""" - teamsUrl: URI! - - """The total number of teams the user is on in the organization""" - totalTeamCount: Int! -} - -"""Audit log entry for a org.block_user""" -type OrgBlockUserAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor - - """The IP address of the actor""" - actorIp: String - - """A readable representation of the actor's location""" - actorLocation: ActorLocation - - """The username of the user who initiated the action""" - actorLogin: String - """The HTTP path for the actor.""" - actorResourcePath: URI + """ + Ordering options for project v2 item field values returned from the connection + """ + orderBy: ProjectV2ItemFieldValueOrder = {field: POSITION, direction: ASC} + ): ProjectV2ItemFieldValueConnection! + id: ID! - """The HTTP URL for the actor.""" - actorUrl: URI + """Whether the item is archived.""" + isArchived: Boolean! - """The blocked user.""" - blockedUser: User + """The project that contains this item.""" + project: ProjectV2! - """The username of the blocked user.""" - blockedUserName: String + """The type of the item.""" + type: ProjectV2ItemType! - """The HTTP path for the blocked user.""" - blockedUserResourcePath: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The HTTP URL for the blocked user.""" - blockedUserUrl: URI +"""The connection type for ProjectV2Item.""" +type ProjectV2ItemConnection { + """A list of edges.""" + edges: [ProjectV2ItemEdge] - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """A list of nodes.""" + nodes: [ProjectV2Item] - """The corresponding operation type for the action""" - operationType: OperationType + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The Organization associated with the Audit Entry.""" - organization: Organization + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The name of the Organization.""" - organizationName: String +"""Types that can be inside Project Items.""" +union ProjectV2ItemContent = DraftIssue | Issue | PullRequest - """The HTTP path for the organization""" - organizationResourcePath: URI +"""An edge in a connection.""" +type ProjectV2ItemEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP URL for the organization""" - organizationUrl: URI + """The item at the end of the edge.""" + node: ProjectV2Item +} - """The user affected by the action""" - user: User +"""The value of a date field in a Project item.""" +type ProjectV2ItemFieldDateValue implements ProjectV2ItemFieldValueCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """The actor who created the item.""" + creator: Actor - """The HTTP path for the user.""" - userResourcePath: URI + """Identifies the primary key from the database.""" + databaseId: Int - """The HTTP URL for the user.""" - userUrl: URI -} + """Date value for the field""" + date: Date -"""Audit log entry for a org.config.disable_collaborators_only event.""" -type OrgConfigDisableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """The project field that contains this value.""" + field: ProjectV2FieldConfiguration! + id: ID! - """The user who initiated the action""" - actor: AuditEntryActor + """The project item that contains this value.""" + item: ProjectV2Item! - """The IP address of the actor""" - actorIp: String + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """A readable representation of the actor's location""" - actorLocation: ActorLocation +"""The value of an iteration field in a Project item.""" +type ProjectV2ItemFieldIterationValue implements ProjectV2ItemFieldValueCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The username of the user who initiated the action""" - actorLogin: String + """The actor who created the item.""" + creator: Actor - """The HTTP path for the actor.""" - actorResourcePath: URI + """Identifies the primary key from the database.""" + databaseId: Int - """The HTTP URL for the actor.""" - actorUrl: URI + """The duration of the iteration in days.""" + duration: Int! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """The project field that contains this value.""" + field: ProjectV2FieldConfiguration! id: ID! - """The corresponding operation type for the action""" - operationType: OperationType + """The project item that contains this value.""" + item: ProjectV2Item! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The ID of the iteration.""" + iterationId: String! - """The name of the Organization.""" - organizationName: String + """The start date of the iteration.""" + startDate: Date! - """The HTTP path for the organization""" - organizationResourcePath: URI + """The title of the iteration.""" + title: String! - """The HTTP URL for the organization""" - organizationUrl: URI + """The title of the iteration, with HTML.""" + titleHTML: String! - """The user affected by the action""" - user: User + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String +"""The value of the labels field in a Project item.""" +type ProjectV2ItemFieldLabelValue { + """The field that contains this value.""" + field: ProjectV2FieldConfiguration! - """The HTTP path for the user.""" - userResourcePath: URI + """Labels value of a field""" + labels( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the user.""" - userUrl: URI -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Audit log entry for a org.config.enable_collaborators_only event.""" -type OrgConfigEnableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """Returns the first _n_ elements from the list.""" + first: Int - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the last _n_ elements from the list.""" + last: Int + ): LabelConnection +} - """The IP address of the actor""" - actorIp: String +"""The value of a milestone field in a Project item.""" +type ProjectV2ItemFieldMilestoneValue { + """The field that contains this value.""" + field: ProjectV2FieldConfiguration! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Milestone value of a field""" + milestone: Milestone +} - """The username of the user who initiated the action""" - actorLogin: String +"""The value of a number field in a Project item.""" +type ProjectV2ItemFieldNumberValue implements ProjectV2ItemFieldValueCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The actor who created the item.""" + creator: Actor - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the primary key from the database.""" + databaseId: Int - """The time the action was initiated""" - createdAt: PreciseDateTime! + """The project field that contains this value.""" + field: ProjectV2FieldConfiguration! id: ID! - """The corresponding operation type for the action""" - operationType: OperationType + """The project item that contains this value.""" + item: ProjectV2Item! - """The Organization associated with the Audit Entry.""" - organization: Organization + """Number as a float(8)""" + number: Float - """The name of the Organization.""" - organizationName: String + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The HTTP path for the organization""" - organizationResourcePath: URI +"""The value of a pull request field in a Project item.""" +type ProjectV2ItemFieldPullRequestValue { + """The field that contains this value.""" + field: ProjectV2FieldConfiguration! - """The HTTP URL for the organization""" - organizationUrl: URI + """The pull requests for this field""" + pullRequests( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user affected by the action""" - user: User + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the user.""" - userResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP URL for the user.""" - userUrl: URI + """Ordering options for pull requests.""" + orderBy: PullRequestOrder = {field: CREATED_AT, direction: ASC} + ): PullRequestConnection } -"""Audit log entry for a org.create event.""" -type OrgCreateAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""The value of a repository field in a Project item.""" +type ProjectV2ItemFieldRepositoryValue { + """The field that contains this value.""" + field: ProjectV2FieldConfiguration! - """The user who initiated the action""" - actor: AuditEntryActor + """The repository for this field.""" + repository: Repository +} - """The IP address of the actor""" - actorIp: String +"""The value of a reviewers field in a Project item.""" +type ProjectV2ItemFieldReviewerValue { + """The field that contains this value.""" + field: ProjectV2FieldConfiguration! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The reviewers for this field.""" + reviewers( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The username of the user who initiated the action""" - actorLogin: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the actor.""" - actorUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): RequestedReviewerConnection +} - """The billing plan for the Organization.""" - billingPlan: OrgCreateAuditEntryBillingPlan +"""The value of a single select field in a Project item.""" +type ProjectV2ItemFieldSingleSelectValue implements ProjectV2ItemFieldValueCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """The actor who created the item.""" + creator: Actor + + """Identifies the primary key from the database.""" + databaseId: Int + + """The project field that contains this value.""" + field: ProjectV2FieldConfiguration! id: ID! - """The corresponding operation type for the action""" - operationType: OperationType + """The project item that contains this value.""" + item: ProjectV2Item! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The name of the selected single select option.""" + name: String - """The name of the Organization.""" - organizationName: String + """The html name of the selected single select option.""" + nameHTML: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """The id of the selected single select option.""" + optionId: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The user affected by the action""" - user: User +"""The value of a text field in a Project item.""" +type ProjectV2ItemFieldTextValue implements ProjectV2ItemFieldValueCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """The actor who created the item.""" + creator: Actor - """The HTTP path for the user.""" - userResourcePath: URI + """Identifies the primary key from the database.""" + databaseId: Int - """The HTTP URL for the user.""" - userUrl: URI + """The project field that contains this value.""" + field: ProjectV2FieldConfiguration! + id: ID! + + """The project item that contains this value.""" + item: ProjectV2Item! + + """Text value of a field""" + text: String + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! } -"""The billing plans available for organizations.""" -enum OrgCreateAuditEntryBillingPlan { - """Free Plan""" - FREE +"""The value of a user field in a Project item.""" +type ProjectV2ItemFieldUserValue { + """The field that contains this value.""" + field: ProjectV2FieldConfiguration! - """Team Plan""" - BUSINESS + """The users for this field""" + users( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """Enterprise Cloud Plan""" - BUSINESS_PLUS + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Legacy Unlimited Plan""" - UNLIMITED + """Returns the first _n_ elements from the list.""" + first: Int - """Tiered Per Seat Plan""" - TIERED_PER_SEAT + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection } -"""Audit log entry for a org.disable_oauth_app_restrictions event.""" -type OrgDisableOauthAppRestrictionsAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""Project field values""" +union ProjectV2ItemFieldValue = ProjectV2ItemFieldDateValue | ProjectV2ItemFieldIterationValue | ProjectV2ItemFieldLabelValue | ProjectV2ItemFieldMilestoneValue | ProjectV2ItemFieldNumberValue | ProjectV2ItemFieldPullRequestValue | ProjectV2ItemFieldRepositoryValue | ProjectV2ItemFieldReviewerValue | ProjectV2ItemFieldSingleSelectValue | ProjectV2ItemFieldTextValue | ProjectV2ItemFieldUserValue - """The user who initiated the action""" - actor: AuditEntryActor +"""Common fields across different project field value types""" +interface ProjectV2ItemFieldValueCommon { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The IP address of the actor""" - actorIp: String + """The actor who created the item.""" + creator: Actor - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Identifies the primary key from the database.""" + databaseId: Int - """The username of the user who initiated the action""" - actorLogin: String + """The project field that contains this value.""" + field: ProjectV2FieldConfiguration! + id: ID! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The project item that contains this value.""" + item: ProjectV2Item! - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! +"""The connection type for ProjectV2ItemFieldValue.""" +type ProjectV2ItemFieldValueConnection { + """A list of edges.""" + edges: [ProjectV2ItemFieldValueEdge] + + """A list of nodes.""" + nodes: [ProjectV2ItemFieldValue] - """The corresponding operation type for the action""" - operationType: OperationType + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The Organization associated with the Audit Entry.""" - organization: Organization + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The name of the Organization.""" - organizationName: String +"""An edge in a connection.""" +type ProjectV2ItemFieldValueEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP path for the organization""" - organizationResourcePath: URI + """The item at the end of the edge.""" + node: ProjectV2ItemFieldValue +} - """The HTTP URL for the organization""" - organizationUrl: URI +"""Ordering options for project v2 item field value connections""" +input ProjectV2ItemFieldValueOrder { + """The field to order the project v2 item field values by.""" + field: ProjectV2ItemFieldValueOrderField! - """The user affected by the action""" - user: User + """The ordering direction.""" + direction: OrderDirection! +} +""" +Properties by which project v2 item field value connections can be ordered. +""" +enum ProjectV2ItemFieldValueOrderField { """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Order project v2 item field values by the their position in the project """ - userLogin: String + POSITION +} - """The HTTP path for the user.""" - userResourcePath: URI +"""Ordering options for project v2 item connections""" +input ProjectV2ItemOrder { + """The field to order the project v2 items by.""" + field: ProjectV2ItemOrderField! - """The HTTP URL for the user.""" - userUrl: URI + """The ordering direction.""" + direction: OrderDirection! } -"""Audit log entry for a org.disable_saml event.""" -type OrgDisableSamlAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""Properties by which project v2 item connections can be ordered.""" +enum ProjectV2ItemOrderField { + """Order project v2 items by the their position in the project""" + POSITION +} - """The user who initiated the action""" - actor: AuditEntryActor +"""The type of a project item.""" +enum ProjectV2ItemType { + """Issue""" + ISSUE - """The IP address of the actor""" - actorIp: String + """Pull Request""" + PULL_REQUEST - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Draft Issue""" + DRAFT_ISSUE - """The username of the user who initiated the action""" - actorLogin: String + """Redacted Item""" + REDACTED +} - """The HTTP path for the actor.""" - actorResourcePath: URI +"""An iteration field inside a project.""" +type ProjectV2IterationField implements ProjectV2FieldCommon & Node { + """Iteration configuration settings""" + configuration: ProjectV2IterationFieldConfiguration! - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """The field's type.""" + dataType: ProjectV2FieldType! - """The SAML provider's digest algorithm URL.""" - digestMethodUrl: URI + """Identifies the primary key from the database.""" + databaseId: Int id: ID! - """The SAML provider's issuer URL.""" - issuerUrl: URI + """The project field's name.""" + name: String! - """The corresponding operation type for the action""" - operationType: OperationType + """The project that contains this field.""" + project: ProjectV2! - """The Organization associated with the Audit Entry.""" - organization: Organization + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The name of the Organization.""" - organizationName: String +"""Iteration field configuration for a project.""" +type ProjectV2IterationFieldConfiguration { + """The iteration's completed iterations""" + completedIterations: [ProjectV2IterationFieldIteration!]! - """The HTTP path for the organization""" - organizationResourcePath: URI + """The iteration's duration in days""" + duration: Int! - """The HTTP URL for the organization""" - organizationUrl: URI + """The iteration's iterations""" + iterations: [ProjectV2IterationFieldIteration!]! - """The SAML provider's signature algorithm URL.""" - signatureMethodUrl: URI + """The iteration's start day of the week""" + startDay: Int! +} - """The SAML provider's single sign-on URL.""" - singleSignOnUrl: URI +"""Iteration field iteration settings for a project.""" +type ProjectV2IterationFieldIteration { + """The iteration's duration in days""" + duration: Int! - """The user affected by the action""" - user: User + """The iteration's ID.""" + id: String! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """The iteration's start date""" + startDate: Date! - """The HTTP path for the user.""" - userResourcePath: URI + """The iteration's title.""" + title: String! - """The HTTP URL for the user.""" - userUrl: URI + """The iteration's html title.""" + titleHTML: String! } -"""Audit log entry for a org.disable_two_factor_requirement event.""" -type OrgDisableTwoFactorRequirementAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor +"""Ways in which lists of projects can be ordered upon return.""" +input ProjectV2Order { + """The field in which to order projects by.""" + field: ProjectV2OrderField! - """The IP address of the actor""" - actorIp: String + """The direction in which to order projects by the specified field.""" + direction: OrderDirection! +} - """A readable representation of the actor's location""" - actorLocation: ActorLocation +"""Properties by which projects can be ordered.""" +enum ProjectV2OrderField { + """The project's title""" + TITLE - """The username of the user who initiated the action""" - actorLogin: String + """The project's number""" + NUMBER - """The HTTP path for the actor.""" - actorResourcePath: URI + """The project's date and time of update""" + UPDATED_AT - """The HTTP URL for the actor.""" - actorUrl: URI + """The project's date and time of creation""" + CREATED_AT +} - """The time the action was initiated""" - createdAt: PreciseDateTime! +"""Represents an owner of a project (beta).""" +interface ProjectV2Owner { id: ID! - """The corresponding operation type for the action""" - operationType: OperationType + """Find a project by number.""" + projectV2( + """The project number.""" + number: Int! + ): ProjectV2 - """The Organization associated with the Audit Entry.""" - organization: Organization + """A list of projects under the owner.""" + projectsV2( + """A project to search for under the the owner.""" + query: String - """The name of the Organization.""" - organizationName: String + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """The HTTP path for the organization""" - organizationResourcePath: URI + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the organization""" - organizationUrl: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The user affected by the action""" - user: User + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! +} +"""Recent projects for the owner.""" +interface ProjectV2Recent { """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Recent projects that this user has modified in the context of the owner. """ - userLogin: String + recentProjects( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the user.""" - userResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the user.""" - userUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! } -"""Audit log entry for a org.enable_oauth_app_restrictions event.""" -type OrgEnableOauthAppRestrictionsAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""A single select field inside a project.""" +type ProjectV2SingleSelectField implements ProjectV2FieldCommon & Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The user who initiated the action""" - actor: AuditEntryActor + """The field's type.""" + dataType: ProjectV2FieldType! - """The IP address of the actor""" - actorIp: String + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The project field's name.""" + name: String! - """The username of the user who initiated the action""" - actorLogin: String + """Options for the single select field""" + options: [ProjectV2SingleSelectFieldOption!]! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The project that contains this field.""" + project: ProjectV2! - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! +"""Single select field option for a configuration for a project.""" +type ProjectV2SingleSelectFieldOption { + """The option's ID.""" + id: String! - """The corresponding operation type for the action""" - operationType: OperationType + """The option's name.""" + name: String! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The option's html name.""" + nameHTML: String! +} - """The name of the Organization.""" - organizationName: String +"""The display color of a single-select field option.""" +enum ProjectV2SingleSelectFieldOptionColor { + """GRAY""" + GRAY - """The HTTP path for the organization""" - organizationResourcePath: URI + """BLUE""" + BLUE - """The HTTP URL for the organization""" - organizationUrl: URI + """GREEN""" + GREEN - """The user affected by the action""" - user: User + """YELLOW""" + YELLOW - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """ORANGE""" + ORANGE - """The HTTP path for the user.""" - userResourcePath: URI + """RED""" + RED - """The HTTP URL for the user.""" - userUrl: URI + """PINK""" + PINK + + """PURPLE""" + PURPLE } -"""Audit log entry for a org.enable_saml event.""" -type OrgEnableSamlAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""Represents a single select field option""" +input ProjectV2SingleSelectFieldOptionInput { + """The name of the option""" + name: String! - """The user who initiated the action""" - actor: AuditEntryActor + """The display color of the option""" + color: ProjectV2SingleSelectFieldOptionColor! - """The IP address of the actor""" - actorIp: String + """The description text of the option""" + description: String! +} + +"""Represents a sort by field and direction.""" +type ProjectV2SortBy { + """The direction of the sorting. Possible values are ASC and DESC.""" + direction: OrderDirection! + + """The field by which items are sorted.""" + field: ProjectV2Field! +} + +"""The connection type for ProjectV2SortBy.""" +type ProjectV2SortByConnection { + """A list of edges.""" + edges: [ProjectV2SortByEdge] + + """A list of nodes.""" + nodes: [ProjectV2SortBy] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type ProjectV2SortByEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: ProjectV2SortBy +} + +"""Represents a sort by field and direction.""" +type ProjectV2SortByField { + """The direction of the sorting. Possible values are ASC and DESC.""" + direction: OrderDirection! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The field by which items are sorted.""" + field: ProjectV2FieldConfiguration! +} - """The username of the user who initiated the action""" - actorLogin: String +"""The connection type for ProjectV2SortByField.""" +type ProjectV2SortByFieldConnection { + """A list of edges.""" + edges: [ProjectV2SortByFieldEdge] - """The HTTP path for the actor.""" - actorResourcePath: URI + """A list of nodes.""" + nodes: [ProjectV2SortByField] - """The HTTP URL for the actor.""" - actorUrl: URI + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The SAML provider's digest algorithm URL.""" - digestMethodUrl: URI - id: ID! +"""An edge in a connection.""" +type ProjectV2SortByFieldEdge { + """A cursor for use in pagination.""" + cursor: String! - """The SAML provider's issuer URL.""" - issuerUrl: URI + """The item at the end of the edge.""" + node: ProjectV2SortByField +} - """The corresponding operation type for the action""" - operationType: OperationType +"""The possible states of a project v2.""" +enum ProjectV2State { + """A project v2 that is still open""" + OPEN - """The Organization associated with the Audit Entry.""" - organization: Organization + """A project v2 that has been closed""" + CLOSED +} - """The name of the Organization.""" - organizationName: String +"""A view within a ProjectV2.""" +type ProjectV2View implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP path for the organization""" - organizationResourcePath: URI + """Identifies the primary key from the database.""" + databaseId: Int - """The HTTP URL for the organization""" - organizationUrl: URI + """The view's visible fields.""" + fields( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The SAML provider's signature algorithm URL.""" - signatureMethodUrl: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The SAML provider's single sign-on URL.""" - singleSignOnUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The user affected by the action""" - user: User + """Returns the last _n_ elements from the list.""" + last: Int - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """ + Ordering options for the project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection - """The HTTP path for the user.""" - userResourcePath: URI + """The project view's filter.""" + filter: String - """The HTTP URL for the user.""" - userUrl: URI -} + """The view's group-by field.""" + groupByFields( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""Audit log entry for a org.enable_two_factor_requirement event.""" -type OrgEnableTwoFactorRequirementAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the first _n_ elements from the list.""" + first: Int - """The IP address of the actor""" - actorIp: String + """Returns the last _n_ elements from the list.""" + last: Int - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """ + Ordering options for the project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection + id: ID! - """The username of the user who initiated the action""" - actorLogin: String + """The project view's layout.""" + layout: ProjectV2ViewLayout! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The project view's name.""" + name: String! - """The HTTP URL for the actor.""" - actorUrl: URI + """The project view's number.""" + number: Int! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """The project that contains this view.""" + project: ProjectV2! - """The corresponding operation type for the action""" - operationType: OperationType + """The view's sort-by config.""" + sortByFields( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The name of the Organization.""" - organizationName: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the organization""" - organizationResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2SortByFieldConnection - """The HTTP URL for the organization""" - organizationUrl: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The user affected by the action""" - user: User + """The view's vertical-group-by field.""" + verticalGroupByFields( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the user.""" - userResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the user.""" - userUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int + + """ + Ordering options for the project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection } -"""Audit log entry for a org.invite_member event.""" -type OrgInviteMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""The connection type for ProjectV2View.""" +type ProjectV2ViewConnection { + """A list of edges.""" + edges: [ProjectV2ViewEdge] - """The user who initiated the action""" - actor: AuditEntryActor + """A list of nodes.""" + nodes: [ProjectV2View] - """The IP address of the actor""" - actorIp: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The username of the user who initiated the action""" - actorLogin: String +"""An edge in a connection.""" +type ProjectV2ViewEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The item at the end of the edge.""" + node: ProjectV2View +} - """The HTTP URL for the actor.""" - actorUrl: URI +"""The layout of a project v2 view.""" +enum ProjectV2ViewLayout { + """Board layout""" + BOARD_LAYOUT - """The time the action was initiated""" - createdAt: PreciseDateTime! + """Table layout""" + TABLE_LAYOUT - """The email address of the organization invitation.""" - email: String - id: ID! + """Roadmap layout""" + ROADMAP_LAYOUT +} - """The corresponding operation type for the action""" - operationType: OperationType +"""Ordering options for project v2 view connections""" +input ProjectV2ViewOrder { + """The field to order the project v2 views by.""" + field: ProjectV2ViewOrderField! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The ordering direction.""" + direction: OrderDirection! +} - """The organization invitation.""" - organizationInvitation: OrganizationInvitation +"""Properties by which project v2 view connections can be ordered.""" +enum ProjectV2ViewOrderField { + """Order project v2 views by position""" + POSITION - """The name of the Organization.""" - organizationName: String + """Order project v2 views by creation time""" + CREATED_AT - """The HTTP path for the organization""" - organizationResourcePath: URI + """Order project v2 views by name""" + NAME +} - """The HTTP URL for the organization""" - organizationUrl: URI +"""A workflow inside a project.""" +type ProjectV2Workflow implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The user affected by the action""" - user: User + """Identifies the primary key from the database.""" + databaseId: Int - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """The workflows' enabled state.""" + enabled: Boolean! + id: ID! - """The HTTP path for the user.""" - userResourcePath: URI + """The workflows' name.""" + name: String! - """The HTTP URL for the user.""" - userUrl: URI -} + """The workflows' number.""" + number: Int! -"""Audit log entry for a org.invite_to_business event.""" -type OrgInviteToBusinessAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! + """The project that contains this workflow.""" + project: ProjectV2! - """The user who initiated the action""" - actor: AuditEntryActor + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} - """The IP address of the actor""" - actorIp: String +"""The connection type for ProjectV2Workflow.""" +type ProjectV2WorkflowConnection { + """A list of edges.""" + edges: [ProjectV2WorkflowEdge] - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """A list of nodes.""" + nodes: [ProjectV2Workflow] - """The username of the user who initiated the action""" - actorLogin: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The HTTP path for the actor.""" - actorResourcePath: URI + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The HTTP URL for the actor.""" - actorUrl: URI +"""An edge in a connection.""" +type ProjectV2WorkflowEdge { + """A cursor for use in pagination.""" + cursor: String! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """The item at the end of the edge.""" + node: ProjectV2Workflow +} + +"""Ordering options for project v2 workflows connections""" +input ProjectV2WorkflowOrder { + """The field to order the project v2 workflows by.""" + field: ProjectV2WorkflowsOrderField! - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI + """The ordering direction.""" + direction: OrderDirection! +} - """The slug of the enterprise.""" - enterpriseSlug: String +"""Properties by which project workflows can be ordered.""" +enum ProjectV2WorkflowsOrderField { + """The workflows' name""" + NAME - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI - id: ID! + """The workflows' number""" + NUMBER - """The corresponding operation type for the action""" - operationType: OperationType + """The workflows' date and time of update""" + UPDATED_AT - """The Organization associated with the Audit Entry.""" - organization: Organization + """The workflows' date and time of creation""" + CREATED_AT +} - """The name of the Organization.""" - organizationName: String +"""A user's public key.""" +type PublicKey implements Node { + """ + The last time this authorization was used to perform an action. Values will be null for keys not owned by the user. + """ + accessedAt: DateTime - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Identifies the date and time when the key was created. Keys created before + March 5th, 2014 have inaccurate values. Values will be null for keys not owned by the user. + """ + createdAt: DateTime - """The HTTP URL for the organization""" - organizationUrl: URI + """The fingerprint for this PublicKey.""" + fingerprint: String! + id: ID! - """The user affected by the action""" - user: User + """ + Whether this PublicKey is read-only or not. Values will be null for keys not owned by the user. + """ + isReadOnly: Boolean + + """The public key string.""" + key: String! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Identifies the date and time when the key was updated. Keys created before + March 5th, 2014 may have inaccurate values. Values will be null for keys not + owned by the user. """ - userLogin: String + updatedAt: DateTime +} - """The HTTP path for the user.""" - userResourcePath: URI +"""The connection type for PublicKey.""" +type PublicKeyConnection { + """A list of edges.""" + edges: [PublicKeyEdge] - """The HTTP URL for the user.""" - userUrl: URI + """A list of nodes.""" + nodes: [PublicKey] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! } -"""Audit log entry for a org.oauth_app_access_approved event.""" -type OrgOauthAppAccessApprovedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! +"""An edge in a connection.""" +type PublicKeyEdge { + """A cursor for use in pagination.""" + cursor: String! - """The user who initiated the action""" - actor: AuditEntryActor + """The item at the end of the edge.""" + node: PublicKey +} - """The IP address of the actor""" - actorIp: String +"""Autogenerated input type of PublishSponsorsTier""" +input PublishSponsorsTierInput { + """The ID of the draft tier to publish.""" + tierId: ID! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The username of the user who initiated the action""" - actorLogin: String +"""Autogenerated return type of PublishSponsorsTier""" +type PublishSponsorsTierPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The HTTP path for the actor.""" - actorResourcePath: URI + """The tier that was published.""" + sponsorsTier: SponsorsTier +} - """The HTTP URL for the actor.""" - actorUrl: URI +"""A repository pull request.""" +type PullRequest implements Node & Assignable & Closable & Comment & Updatable & UpdatableComment & Labelable & Lockable & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable & ProjectV2Owner { + """Reason that the conversation was locked.""" + activeLockReason: LockReason - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """The number of additions in this pull request.""" + additions: Int! - """The name of the OAuth Application.""" - oauthApplicationName: String + """A list of Users assigned to this object.""" + assignees( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the OAuth Application""" - oauthApplicationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the OAuth Application""" - oauthApplicationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The actor who authored the comment.""" + author: Actor - """The name of the Organization.""" - organizationName: String + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the auto-merge request object if one exists for this pull request. + """ + autoMergeRequest: AutoMergeRequest - """The HTTP URL for the organization""" - organizationUrl: URI + """Identifies the base Ref associated with the pull request.""" + baseRef: Ref - """The user affected by the action""" - user: User + """ + Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted. + """ + baseRefName: String! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted. """ - userLogin: String + baseRefOid: GitObjectID! - """The HTTP path for the user.""" - userResourcePath: URI + """The repository associated with this pull request's base Ref.""" + baseRepository: Repository - """The HTTP URL for the user.""" - userUrl: URI -} + """The body as Markdown.""" + body: String! -"""Audit log entry for a org.oauth_app_access_denied event.""" -type OrgOauthAppAccessDeniedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! + """The body rendered to HTML.""" + bodyHTML: HTML! - """The user who initiated the action""" - actor: AuditEntryActor + """The body rendered to text.""" + bodyText: String! - """The IP address of the actor""" - actorIp: String + """The number of changed files in this pull request.""" + changedFiles: Int! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The HTTP path for the checks of this pull request.""" + checksResourcePath: URI! - """The username of the user who initiated the action""" - actorLogin: String + """The HTTP URL for the checks of this pull request.""" + checksUrl: URI! - """The HTTP path for the actor.""" - actorResourcePath: URI + """`true` if the pull request is closed""" + closed: Boolean! - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the date and time when the object was closed.""" + closedAt: DateTime - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """List of issues that were may be closed by this pull request""" + closingIssuesReferences( + """Return only manually linked Issues""" + userLinkedOnly: Boolean = false - """The name of the OAuth Application.""" - oauthApplicationName: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the OAuth Application""" - oauthApplicationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the OAuth Application""" - oauthApplicationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the last _n_ elements from the list.""" + last: Int - """The Organization associated with the Audit Entry.""" - organization: Organization + """Ordering options for issues returned from the connection""" + orderBy: IssueOrder + ): IssueConnection - """The name of the Organization.""" - organizationName: String + """A list of comments associated with the pull request.""" + comments( + """Ordering options for issue comments returned from the connection.""" + orderBy: IssueCommentOrder - """The HTTP path for the organization""" - organizationResourcePath: URI + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the organization""" - organizationUrl: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueCommentConnection! + + """ + A list of commits present in this pull request's head branch not present in the base branch. + """ + commits( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int - """The user affected by the action""" - user: User + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestCommitConnection! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP path for the user.""" - userResourcePath: URI + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! - """The HTTP URL for the user.""" - userUrl: URI -} + """Identifies the primary key from the database.""" + databaseId: Int -"""Audit log entry for a org.oauth_app_access_requested event.""" -type OrgOauthAppAccessRequestedAuditEntry implements Node & AuditEntry & OauthApplicationAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! + """The number of deletions in this pull request.""" + deletions: Int! - """The user who initiated the action""" - actor: AuditEntryActor + """The actor who edited this pull request's body.""" + editor: Actor - """The IP address of the actor""" - actorIp: String + """Lists the files changed within this pull request.""" + files( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The username of the user who initiated the action""" - actorLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestChangedFileConnection - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the head Ref associated with the pull request.""" + headRef: Ref - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """ + Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted. + """ + headRefName: String! - """The name of the OAuth Application.""" - oauthApplicationName: String + """ + Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted. + """ + headRefOid: GitObjectID! - """The HTTP path for the OAuth Application""" - oauthApplicationResourcePath: URI + """The repository associated with this pull request's head Ref.""" + headRepository: Repository - """The HTTP URL for the OAuth Application""" - oauthApplicationUrl: URI + """ + The owner of the repository associated with this pull request's head Ref. + """ + headRepositoryOwner: RepositoryOwner - """The corresponding operation type for the action""" - operationType: OperationType + """The hovercard information for this issue""" + hovercard( + """Whether or not to include notification contexts""" + includeNotificationContexts: Boolean = true + ): Hovercard! + id: ID! - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! - """The name of the Organization.""" - organizationName: String + """The head and base repositories are different.""" + isCrossRepository: Boolean! - """The HTTP path for the organization""" - organizationResourcePath: URI + """Identifies if the pull request is a draft.""" + isDraft: Boolean! - """The HTTP URL for the organization""" - organizationUrl: URI + """Is this pull request read by the viewer""" + isReadByViewer: Boolean - """The user affected by the action""" - user: User + """A list of labels associated with the object.""" + labels( + """Ordering options for labels returned from the connection.""" + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the user.""" - userResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the user.""" - userUrl: URI -} + """Returns the first _n_ elements from the list.""" + first: Int -"""Audit log entry for a org.remove_billing_manager event.""" -type OrgRemoveBillingManagerAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """Returns the last _n_ elements from the list.""" + last: Int + ): LabelConnection - """The user who initiated the action""" - actor: AuditEntryActor + """The moment the editor made the last edit""" + lastEditedAt: DateTime - """The IP address of the actor""" - actorIp: String + """A list of latest reviews per user associated with the pull request.""" + latestOpinionatedReviews( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The username of the user who initiated the action""" - actorLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP URL for the actor.""" - actorUrl: URI + """Only return reviews from user who have write access to the repository""" + writersOnly: Boolean = false + ): PullRequestReviewConnection - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """ + A list of latest reviews per user associated with the pull request that are not also pending review. + """ + latestReviews( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The corresponding operation type for the action""" - operationType: OperationType + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns the first _n_ elements from the list.""" + first: Int - """The name of the Organization.""" - organizationName: String + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestReviewConnection - """The HTTP path for the organization""" - organizationResourcePath: URI + """`true` if the pull request is locked""" + locked: Boolean! - """The HTTP URL for the organization""" - organizationUrl: URI + """Indicates whether maintainers can modify the pull request.""" + maintainerCanModify: Boolean! - """The reason for the billing manager being removed.""" - reason: OrgRemoveBillingManagerAuditEntryReason + """The commit that was created when this pull request was merged.""" + mergeCommit: Commit - """The user affected by the action""" - user: User + """ + The merge queue entry of the pull request in the base branch's merge queue + """ + mergeQueueEntry: MergeQueueEntry """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Whether or not the pull request can be merged based on the existence of merge conflicts. """ - userLogin: String + mergeable: MergeableState! - """The HTTP path for the user.""" - userResourcePath: URI + """Whether or not the pull request was merged.""" + merged: Boolean! - """The HTTP URL for the user.""" - userUrl: URI -} + """The date and time that the pull request was merged.""" + mergedAt: DateTime -"""The reason a billing manager was removed from an Organization.""" -enum OrgRemoveBillingManagerAuditEntryReason { - """ - The organization required 2FA of its billing managers and this user did not have 2FA enabled. - """ - TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE + """The actor who merged the pull request.""" + mergedBy: Actor - """SAML external identity missing""" - SAML_EXTERNAL_IDENTITY_MISSING + """Identifies the milestone associated with the pull request.""" + milestone: Milestone - """SAML SSO enforcement requires an external identity""" - SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY -} + """Identifies the pull request number.""" + number: Int! -"""Audit log entry for a org.remove_member event.""" -type OrgRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """ + A list of Users that are participating in the Pull Request conversation. + """ + participants( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user who initiated the action""" - actor: AuditEntryActor + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The IP address of the actor""" - actorIp: String + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The permalink to the pull request.""" + permalink: URI! - """The username of the user who initiated the action""" - actorLogin: String + """ + The commit that GitHub automatically generated to test if this pull request + could be merged. This field will not return a value if the pull request is + merged, or if the test merge commit is still being generated. See the + `mergeable` field for more details on the mergeability of the pull request. + """ + potentialMergeCommit: Commit - """The HTTP path for the actor.""" - actorResourcePath: URI + """List of project cards associated with this pull request.""" + projectCards( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the actor.""" - actorUrl: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Returns the first _n_ elements from the list.""" + first: Int - """The types of membership the member has with the organization.""" - membershipTypes: [OrgRemoveMemberAuditEntryMembershipType!] + """Returns the last _n_ elements from the list.""" + last: Int - """The corresponding operation type for the action""" - operationType: OperationType + """A list of archived states to filter the cards by""" + archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] + ): ProjectCardConnection! - """The Organization associated with the Audit Entry.""" - organization: Organization + """List of project items associated with this pull request.""" + projectItems( + """Include archived items.""" + includeArchived: Boolean = true - """The name of the Organization.""" - organizationName: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The reason for the member being removed.""" - reason: OrgRemoveMemberAuditEntryReason + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2ItemConnection! - """The user affected by the action""" - user: User + """Find a project by number.""" + projectV2( + """The project number.""" + number: Int! + ): ProjectV2 - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """A list of projects under the owner.""" + projectsV2( + """A project to search for under the the owner.""" + query: String - """The HTTP path for the user.""" - userResourcePath: URI + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """The HTTP URL for the user.""" - userUrl: URI -} + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""The type of membership a user has with an Organization.""" -enum OrgRemoveMemberAuditEntryMembershipType { - """A direct member is a user that is a member of the Organization.""" - DIRECT_MEMBER + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - Organization administrators have full access and can change several settings, - including the names of repositories that belong to the Organization and Owners - team membership. In addition, organization admins can delete the organization - and all of its repositories. - """ - ADMIN + """Returns the first _n_ elements from the list.""" + first: Int - """ - A billing manager is a user who manages the billing settings for the Organization, such as updating payment information. - """ - BILLING_MANAGER + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! - """ - An unaffiliated collaborator is a person who is not a member of the - Organization and does not have access to any repositories in the Organization. - """ - UNAFFILIATED + """Identifies when the comment was published at.""" + publishedAt: DateTime - """ - An outside collaborator is a person who isn't explicitly a member of the - Organization, but who has Read, Write, or Admin permissions to one or more - repositories in the organization. - """ - OUTSIDE_COLLABORATOR -} + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] -"""The reason a member was removed from an Organization.""" -enum OrgRemoveMemberAuditEntryReason { - """ - The organization required 2FA of its billing managers and this user did not have 2FA enabled. - """ - TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE + """A list of Reactions left on the Issue.""" + reactions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """SAML external identity missing""" - SAML_EXTERNAL_IDENTITY_MISSING + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """SAML SSO enforcement requires an external identity""" - SAML_SSO_ENFORCEMENT_REQUIRES_EXTERNAL_IDENTITY + """Returns the first _n_ elements from the list.""" + first: Int - """User account has been deleted""" - USER_ACCOUNT_DELETED + """Returns the last _n_ elements from the list.""" + last: Int - """User was removed from organization during account recovery""" - TWO_FACTOR_ACCOUNT_RECOVERY -} + """Allows filtering Reactions by emoji.""" + content: ReactionContent -"""Audit log entry for a org.remove_outside_collaborator event.""" -type OrgRemoveOutsideCollaboratorAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! - """The user who initiated the action""" - actor: AuditEntryActor + """The repository associated with this node.""" + repository: Repository! - """The IP address of the actor""" - actorIp: String + """The HTTP path for this pull request.""" + resourcePath: URI! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The HTTP path for reverting this pull request.""" + revertResourcePath: URI! - """The username of the user who initiated the action""" - actorLogin: String + """The HTTP URL for reverting this pull request.""" + revertUrl: URI! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The current status of this pull request with respect to code review.""" + reviewDecision: PullRequestReviewDecision - """The HTTP URL for the actor.""" - actorUrl: URI + """A list of review requests associated with the pull request.""" + reviewRequests( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - The types of membership the outside collaborator has with the organization. - """ - membershipTypes: [OrgRemoveOutsideCollaboratorAuditEntryMembershipType!] + """Returns the first _n_ elements from the list.""" + first: Int - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the last _n_ elements from the list.""" + last: Int + ): ReviewRequestConnection - """The Organization associated with the Audit Entry.""" - organization: Organization + """The list of all review threads for this pull request.""" + reviewThreads( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The name of the Organization.""" - organizationName: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestReviewThreadConnection! - """ - The reason for the outside collaborator being removed from the Organization. - """ - reason: OrgRemoveOutsideCollaboratorAuditEntryReason + """A list of reviews associated with the pull request.""" + reviews( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user affected by the action""" - user: User + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the user.""" - userResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP URL for the user.""" - userUrl: URI -} + """A list of states to filter the reviews.""" + states: [PullRequestReviewState!] -"""The type of membership a user has with an Organization.""" -enum OrgRemoveOutsideCollaboratorAuditEntryMembershipType { - """ - An outside collaborator is a person who isn't explicitly a member of the - Organization, but who has Read, Write, or Admin permissions to one or more - repositories in the organization. - """ - OUTSIDE_COLLABORATOR + """Filter by author of the review.""" + author: String + ): PullRequestReviewConnection - """ - An unaffiliated collaborator is a person who is not a member of the - Organization and does not have access to any repositories in the organization. - """ - UNAFFILIATED + """Identifies the state of the pull request.""" + state: PullRequestState! """ - A billing manager is a user who manages the billing settings for the Organization, such as updating payment information. + A list of reviewer suggestions based on commit history and past review comments. """ - BILLING_MANAGER -} + suggestedReviewers: [SuggestedReviewer]! -"""The reason an outside collaborator was removed from an Organization.""" -enum OrgRemoveOutsideCollaboratorAuditEntryReason { """ - The organization required 2FA of its billing managers and this user did not have 2FA enabled. + A list of events, comments, commits, etc. associated with the pull request. """ - TWO_FACTOR_REQUIREMENT_NON_COMPLIANCE + timelineItems( + """Filter timeline items by a `since` timestamp.""" + since: DateTime - """SAML external identity missing""" - SAML_EXTERNAL_IDENTITY_MISSING -} + """Skips the first _n_ elements in the list.""" + skip: Int -"""Audit log entry for a org.restore_member event.""" -type OrgRestoreMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """Filter timeline items by type.""" + itemTypes: [PullRequestTimelineItemsItemType!] - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The IP address of the actor""" - actorIp: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the first _n_ elements from the list.""" + first: Int - """The username of the user who initiated the action""" - actorLogin: String + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestTimelineItemsConnection! - """The HTTP path for the actor.""" - actorResourcePath: URI + """Identifies the pull request title.""" + title: String! - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies the pull request title rendered to HTML.""" + titleHTML: HTML! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Returns a count of how many comments this pull request has received.""" + totalCommentsCount: Int - """The corresponding operation type for the action""" - operationType: OperationType + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The HTTP URL for this pull request.""" + url: URI! - """The name of the Organization.""" - organizationName: String + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The number of custom email routings for the restored member.""" - restoredCustomEmailRoutingsCount: Int + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection - """The number of issue assignemnts for the restored member.""" - restoredIssueAssignmentsCount: Int + """Whether or not the viewer can apply suggestion.""" + viewerCanApplySuggestion: Boolean! - """Restored organization membership objects.""" - restoredMemberships: [OrgRestoreMemberAuditEntryMembership!] + """Indicates if the object can be closed by the viewer.""" + viewerCanClose: Boolean! - """The number of restored memberships.""" - restoredMembershipsCount: Int + """Check if the viewer can restore the deleted head ref.""" + viewerCanDeleteHeadRef: Boolean! - """The number of repositories of the restored member.""" - restoredRepositoriesCount: Int + """Whether or not the viewer can disable auto-merge""" + viewerCanDisableAutoMerge: Boolean! - """The number of starred repositories for the restored member.""" - restoredRepositoryStarsCount: Int + """Can the viewer edit files within this pull request.""" + viewerCanEditFiles: Boolean! - """The number of watched repositories for the restored member.""" - restoredRepositoryWatchesCount: Int + """Whether or not the viewer can enable auto-merge""" + viewerCanEnableAutoMerge: Boolean! - """The user affected by the action""" - user: User + """ + Indicates whether the viewer can bypass branch protections and merge the pull request immediately + """ + viewerCanMergeAsAdmin: Boolean! + + """Can user react to this subject""" + viewerCanReact: Boolean! + + """Indicates if the object can be reopened by the viewer.""" + viewerCanReopen: Boolean! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Check if the viewer is able to change their subscription status for the repository. """ - userLogin: String + viewerCanSubscribe: Boolean! - """The HTTP path for the user.""" - userResourcePath: URI + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! - """The HTTP URL for the user.""" - userUrl: URI -} + """ + Whether or not the viewer can update the head ref of this PR, by merging or rebasing the base ref. + If the head ref is up to date or unable to be updated by this user, this will return false. + + """ + viewerCanUpdateBranch: Boolean! -"""Types of memberships that can be restored for an Organization member.""" -union OrgRestoreMemberAuditEntryMembership = OrgRestoreMemberMembershipOrganizationAuditEntryData | OrgRestoreMemberMembershipRepositoryAuditEntryData | OrgRestoreMemberMembershipTeamAuditEntryData + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! -"""Metadata for an organization membership for org.restore_member actions""" -type OrgRestoreMemberMembershipOrganizationAuditEntryData implements OrganizationAuditEntryData { - """The Organization associated with the Audit Entry.""" - organization: Organization + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! - """The name of the Organization.""" - organizationName: String + """The latest review given from the viewer.""" + viewerLatestReview: PullRequestReview - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + The person who has requested the viewer for review on this pull request. + """ + viewerLatestReviewRequest: ReviewRequest - """The HTTP URL for the organization""" - organizationUrl: URI + """The merge body text for the viewer and method.""" + viewerMergeBodyText( + """The merge method for the message.""" + mergeType: PullRequestMergeMethod + ): String! + + """The merge headline text for the viewer and method.""" + viewerMergeHeadlineText( + """The merge method for the message.""" + mergeType: PullRequestMergeMethod + ): String! + + """ + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. + """ + viewerSubscription: SubscriptionState } -"""Metadata for a repository membership for org.restore_member actions""" -type OrgRestoreMemberMembershipRepositoryAuditEntryData implements RepositoryAuditEntryData { - """The repository associated with the action""" - repository: Repository +"""A file changed in a pull request.""" +type PullRequestChangedFile { + """The number of additions to the file.""" + additions: Int! - """The name of the repository""" - repositoryName: String + """How the file was changed in this PullRequest""" + changeType: PatchStatus! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """The number of deletions to the file.""" + deletions: Int! - """The HTTP URL for the repository""" - repositoryUrl: URI + """The path of the file.""" + path: String! + + """The state of the file for the viewer.""" + viewerViewedState: FileViewedState! } -"""Metadata for a team membership for org.restore_member actions""" -type OrgRestoreMemberMembershipTeamAuditEntryData implements TeamAuditEntryData { - """The team associated with the action""" - team: Team +"""The connection type for PullRequestChangedFile.""" +type PullRequestChangedFileConnection { + """A list of edges.""" + edges: [PullRequestChangedFileEdge] - """The name of the team""" - teamName: String + """A list of nodes.""" + nodes: [PullRequestChangedFile] - """The HTTP path for this team""" - teamResourcePath: URI + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The HTTP URL for this team""" - teamUrl: URI + """Identifies the total count of items in the connection.""" + totalCount: Int! } -"""Audit log entry for a org.unblock_user""" -type OrgUnblockUserAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor +"""An edge in a connection.""" +type PullRequestChangedFileEdge { + """A cursor for use in pagination.""" + cursor: String! - """The IP address of the actor""" - actorIp: String + """The item at the end of the edge.""" + node: PullRequestChangedFile +} - """A readable representation of the actor's location""" - actorLocation: ActorLocation +"""Represents a Git commit part of a pull request.""" +type PullRequestCommit implements Node & UniformResourceLocatable { + """The Git commit object""" + commit: Commit! + id: ID! - """The username of the user who initiated the action""" - actorLogin: String + """The pull request this commit belongs to""" + pullRequest: PullRequest! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The HTTP path for this pull request commit""" + resourcePath: URI! - """The HTTP URL for the actor.""" - actorUrl: URI + """The HTTP URL for this pull request commit""" + url: URI! +} - """The user being unblocked by the organization.""" - blockedUser: User +"""Represents a commit comment thread part of a pull request.""" +type PullRequestCommitCommentThread implements RepositoryNode & Node { + """The comments that exist in this thread.""" + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The username of the blocked user.""" - blockedUserName: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the blocked user.""" - blockedUserResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the blocked user.""" - blockedUserUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): CommitCommentConnection! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """The commit the comments were made on.""" + commit: Commit! id: ID! - """The corresponding operation type for the action""" - operationType: OperationType - - """The Organization associated with the Audit Entry.""" - organization: Organization + """The file the comments were made on.""" + path: String - """The name of the Organization.""" - organizationName: String + """The position in the diff for the commit that the comment was made on.""" + position: Int - """The HTTP path for the organization""" - organizationResourcePath: URI + """The pull request this commit comment thread belongs to""" + pullRequest: PullRequest! - """The HTTP URL for the organization""" - organizationUrl: URI + """The repository associated with this node.""" + repository: Repository! +} - """The user affected by the action""" - user: User +"""The connection type for PullRequestCommit.""" +type PullRequestCommitConnection { + """A list of edges.""" + edges: [PullRequestCommitEdge] - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """A list of nodes.""" + nodes: [PullRequestCommit] - """The HTTP path for the user.""" - userResourcePath: URI + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The HTTP URL for the user.""" - userUrl: URI + """Identifies the total count of items in the connection.""" + totalCount: Int! } -"""Audit log entry for a org.update_default_repository_permission""" -type OrgUpdateDefaultRepositoryPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor - - """The IP address of the actor""" - actorIp: String +"""An edge in a connection.""" +type PullRequestCommitEdge { + """A cursor for use in pagination.""" + cursor: String! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The item at the end of the edge.""" + node: PullRequestCommit +} - """The username of the user who initiated the action""" - actorLogin: String +"""The connection type for PullRequest.""" +type PullRequestConnection { + """A list of edges.""" + edges: [PullRequestEdge] - """The HTTP path for the actor.""" - actorResourcePath: URI + """A list of nodes.""" + nodes: [PullRequest] - """The HTTP URL for the actor.""" - actorUrl: URI + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The corresponding operation type for the action""" - operationType: OperationType +"""This aggregates pull requests opened by a user within one repository.""" +type PullRequestContributionsByRepository { + """The pull request contributions.""" + contributions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The name of the Organization.""" - organizationName: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the organization""" - organizationResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP URL for the organization""" - organizationUrl: URI + """Ordering options for contributions returned from the connection.""" + orderBy: ContributionOrder = {direction: DESC} + ): CreatedPullRequestContributionConnection! - """The new default repository permission level for the organization.""" - permission: OrgUpdateDefaultRepositoryPermissionAuditEntryPermission + """The repository in which the pull requests were opened.""" + repository: Repository! +} - """The former default repository permission level for the organization.""" - permissionWas: OrgUpdateDefaultRepositoryPermissionAuditEntryPermission +"""An edge in a connection.""" +type PullRequestEdge { + """A cursor for use in pagination.""" + cursor: String! - """The user affected by the action""" - user: User + """The item at the end of the edge.""" + node: PullRequest +} +""" +Represents available types of methods to use when merging a pull request. +""" +enum PullRequestMergeMethod { """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Add all commits from the head branch to the base branch with a merge commit. """ - userLogin: String + MERGE - """The HTTP path for the user.""" - userResourcePath: URI + """ + Combine all commits from the head branch into a single commit in the base branch. + """ + SQUASH - """The HTTP URL for the user.""" - userUrl: URI + """ + Add all commits from the head branch onto the base branch individually. + """ + REBASE } -"""The default permission a repository can have in an Organization.""" -enum OrgUpdateDefaultRepositoryPermissionAuditEntryPermission { - """Can read and clone repositories.""" - READ - - """Can read, clone and push to repositories.""" - WRITE - - """Can read, clone, push, and add collaborators to repositories.""" - ADMIN +"""Ways in which lists of issues can be ordered upon return.""" +input PullRequestOrder { + """The field in which to order pull requests by.""" + field: PullRequestOrderField! - """No default permission value.""" - NONE + """The direction in which to order pull requests by the specified field.""" + direction: OrderDirection! } -"""Audit log entry for a org.update_member event.""" -type OrgUpdateMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor - - """The IP address of the actor""" - actorIp: String +"""Properties by which pull_requests connections can be ordered.""" +enum PullRequestOrderField { + """Order pull_requests by creation time""" + CREATED_AT - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Order pull_requests by update time""" + UPDATED_AT +} - """The username of the user who initiated the action""" - actorLogin: String +"""A review object for a given pull request.""" +type PullRequestReview implements Node & Comment & Deletable & Updatable & UpdatableComment & Reactable & RepositoryNode { + """The actor who authored the comment.""" + author: Actor - """The HTTP path for the actor.""" - actorResourcePath: URI + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! - """The HTTP URL for the actor.""" - actorUrl: URI + """ + Indicates whether the author of this review has push access to the repository. + """ + authorCanPushToRepository: Boolean! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Identifies the pull request review body.""" + body: String! - """The corresponding operation type for the action""" - operationType: OperationType + """The body rendered to HTML.""" + bodyHTML: HTML! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The body of this review rendered as plain text.""" + bodyText: String! - """The name of the Organization.""" - organizationName: String + """A list of review comments for the current pull request review.""" + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The new member permission level for the organization.""" - permission: OrgUpdateMemberAuditEntryPermission + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestReviewCommentConnection! - """The former member permission level for the organization.""" - permissionWas: OrgUpdateMemberAuditEntryPermission + """Identifies the commit associated with this pull request review.""" + commit: Commit - """The user affected by the action""" - user: User + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! - """The HTTP path for the user.""" - userResourcePath: URI + """Identifies the primary key from the database.""" + databaseId: Int - """The HTTP URL for the user.""" - userUrl: URI -} + """The actor who edited the comment.""" + editor: Actor + id: ID! -"""The permissions available to members on an Organization.""" -enum OrgUpdateMemberAuditEntryPermission { - """Can read and clone repositories.""" - READ + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! - """Can read, clone, push, and add collaborators to repositories.""" - ADMIN -} + """The moment the editor made the last edit""" + lastEditedAt: DateTime -""" -Audit log entry for a org.update_member_repository_creation_permission event. -""" -type OrgUpdateMemberRepositoryCreationPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! + """A list of teams that this review was made on behalf of.""" + onBehalfOf( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user who initiated the action""" - actor: AuditEntryActor + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The IP address of the actor""" - actorIp: String + """Returns the first _n_ elements from the list.""" + first: Int - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the last _n_ elements from the list.""" + last: Int + ): TeamConnection! - """The username of the user who initiated the action""" - actorLogin: String + """Identifies when the comment was published at.""" + publishedAt: DateTime - """The HTTP path for the actor.""" - actorResourcePath: URI + """Identifies the pull request associated with this pull request review.""" + pullRequest: PullRequest! - """The HTTP URL for the actor.""" - actorUrl: URI + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] - """Can members create repositories in the organization.""" - canCreateRepositories: Boolean + """A list of Reactions left on the Issue.""" + reactions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the first _n_ elements from the list.""" + first: Int - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns the last _n_ elements from the list.""" + last: Int - """The name of the Organization.""" - organizationName: String + """Allows filtering Reactions by emoji.""" + content: ReactionContent - """The HTTP path for the organization""" - organizationResourcePath: URI + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! - """The HTTP URL for the organization""" - organizationUrl: URI + """The repository associated with this node.""" + repository: Repository! - """The user affected by the action""" - user: User + """The HTTP path permalink for this PullRequestReview.""" + resourcePath: URI! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Identifies the current state of the pull request review.""" + state: PullRequestReviewState! - """The HTTP path for the user.""" - userResourcePath: URI + """Identifies when the Pull Request Review was submitted""" + submittedAt: DateTime - """The HTTP URL for the user.""" - userUrl: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """ - The permission for visibility level of repositories for this organization. - """ - visibility: OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility -} + """The HTTP URL permalink for this PullRequestReview.""" + url: URI! -"""The permissions available for repository creation on an Organization.""" -enum OrgUpdateMemberRepositoryCreationPermissionAuditEntryVisibility { - """ - All organization members are restricted from creating any repositories. - """ - ALL + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """ - All organization members are restricted from creating public repositories. - """ - PUBLIC + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """All organization members are allowed to create any repositories.""" - NONE + """Returns the first _n_ elements from the list.""" + first: Int - """ - All organization members are restricted from creating private repositories. - """ - PRIVATE + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection - """ - All organization members are restricted from creating internal repositories. - """ - INTERNAL + """Check if the current viewer can delete this object.""" + viewerCanDelete: Boolean! - """ - All organization members are restricted from creating public or internal repositories. - """ - PUBLIC_INTERNAL + """Can user react to this subject""" + viewerCanReact: Boolean! - """ - All organization members are restricted from creating private or internal repositories. - """ - PRIVATE_INTERNAL + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! - """ - All organization members are restricted from creating public or private repositories. - """ - PUBLIC_PRIVATE + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! } -""" -Audit log entry for a org.update_member_repository_invitation_permission event. -""" -type OrgUpdateMemberRepositoryInvitationPermissionAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData { - """The action name""" - action: String! +"""A review comment associated with a given repository pull request.""" +type PullRequestReviewComment implements Node & Comment & Deletable & Minimizable & Updatable & UpdatableComment & Reactable & RepositoryNode { + """The actor who authored the comment.""" + author: Actor - """The user who initiated the action""" - actor: AuditEntryActor + """Author's association with the subject of the comment.""" + authorAssociation: CommentAuthorAssociation! - """The IP address of the actor""" - actorIp: String + """The comment body of this review comment.""" + body: String! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The body rendered to HTML.""" + bodyHTML: HTML! - """The username of the user who initiated the action""" - actorLogin: String + """The comment body of this review comment rendered as plain text.""" + bodyText: String! - """The HTTP path for the actor.""" - actorResourcePath: URI + """Identifies the commit associated with the comment.""" + commit: Commit - """The HTTP URL for the actor.""" - actorUrl: URI + """Identifies when the comment was created.""" + createdAt: DateTime! - """ - Can outside collaborators be invited to repositories in the organization. - """ - canInviteOutsideCollaboratorsToRepositories: Boolean + """Check if this comment was created via an email reply.""" + createdViaEmail: Boolean! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Identifies the primary key from the database.""" + databaseId: Int - """The corresponding operation type for the action""" - operationType: OperationType + """The diff hunk to which the comment applies.""" + diffHunk: String! - """The Organization associated with the Audit Entry.""" - organization: Organization + """Identifies when the comment was created in a draft state.""" + draftedAt: DateTime! - """The name of the Organization.""" - organizationName: String + """The actor who edited the comment.""" + editor: Actor + id: ID! - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns whether or not a comment has been minimized.""" + isMinimized: Boolean! - """The user affected by the action""" - user: User + """The moment the editor made the last edit""" + lastEditedAt: DateTime + + """The end line number on the file to which the comment applies""" + line: Int """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Returns why the comment was minimized. One of `abuse`, `off-topic`, + `outdated`, `resolved`, `duplicate` and `spam`. Note that the case and + formatting of these values differs from the inputs to the `MinimizeComment` mutation. """ - userLogin: String - - """The HTTP path for the user.""" - userResourcePath: URI + minimizedReason: String - """The HTTP URL for the user.""" - userUrl: URI -} + """Identifies the original commit associated with the comment.""" + originalCommit: Commit -"""Information for an uploaded package.""" -type Package implements Node { - id: ID! + """ + The end line number on the file to which the comment applied when it was first created + """ + originalLine: Int - """Find the latest version for the package.""" - latestVersion: PackageVersion + """ + The start line number on the file to which the comment applied when it was first created + """ + originalStartLine: Int - """Identifies the name of the package.""" - name: String! + """Identifies when the comment body is outdated""" + outdated: Boolean! - """Identifies the type of the package.""" - packageType: PackageType! + """The path to which the comment applies.""" + path: String! - """The repository this package belongs to.""" - repository: Repository + """Identifies when the comment was published at.""" + publishedAt: DateTime - """Statistics about package activity.""" - statistics: PackageStatistics + """The pull request associated with this review comment.""" + pullRequest: PullRequest! - """Find package version by version string.""" - version( - """The package version.""" - version: String! - ): PackageVersion + """The pull request review associated with this review comment.""" + pullRequestReview: PullRequestReview - """list of versions for this package""" - versions( - """Ordering of the returned packages.""" - orderBy: PackageVersionOrder = {field: CREATED_AT, direction: DESC} + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] + """A list of Reactions left on the Issue.""" + reactions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -12505,69 +22023,83 @@ type Package implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): PackageVersionConnection! -} -"""The connection type for Package.""" -type PackageConnection { - """A list of edges.""" - edges: [PackageEdge] + """Allows filtering Reactions by emoji.""" + content: ReactionContent - """A list of nodes.""" - nodes: [Package] + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The comment this is a reply to.""" + replyTo: PullRequestReviewComment - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The repository associated with this node.""" + repository: Repository! -"""An edge in a connection.""" -type PackageEdge { - """A cursor for use in pagination.""" - cursor: String! + """The HTTP path permalink for this review comment.""" + resourcePath: URI! - """The item at the end of the edge.""" - node: Package -} + """The start line number on the file to which the comment applies""" + startLine: Int -"""A file in a package version.""" -type PackageFile implements Node { - id: ID! + """Identifies the state of the comment.""" + state: PullRequestReviewCommentState! - """MD5 hash of the file.""" - md5: String + """ + The level at which the comments in the corresponding thread are targeted, can be a diff line or a file + """ + subjectType: PullRequestReviewThreadSubjectType! - """Name of the file.""" - name: String! + """Identifies when the comment was last updated.""" + updatedAt: DateTime! - """The package version this file belongs to.""" - packageVersion: PackageVersion + """The HTTP URL permalink for this review comment.""" + url: URI! - """SHA1 hash of the file.""" - sha1: String + """A list of edits to this content.""" + userContentEdits( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """SHA256 hash of the file.""" - sha256: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Size of the file in bytes.""" - size: Int + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """Returns the last _n_ elements from the list.""" + last: Int + ): UserContentEditConnection - """URL to download the asset.""" - url: URI + """Check if the current viewer can delete this object.""" + viewerCanDelete: Boolean! + + """Check if the current viewer can minimize this object.""" + viewerCanMinimize: Boolean! + + """Can user react to this subject""" + viewerCanReact: Boolean! + + """Check if the current viewer can update this object.""" + viewerCanUpdate: Boolean! + + """Reasons why the current viewer can not update this comment.""" + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """Did the viewer author this comment.""" + viewerDidAuthor: Boolean! } -"""The connection type for PackageFile.""" -type PackageFileConnection { +"""The connection type for PullRequestReviewComment.""" +type PullRequestReviewCommentConnection { """A list of edges.""" - edges: [PackageFileEdge] + edges: [PullRequestReviewCommentEdge] """A list of nodes.""" - nodes: [PackageFile] + nodes: [PullRequestReviewComment] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -12577,128 +22109,44 @@ type PackageFileConnection { } """An edge in a connection.""" -type PackageFileEdge { +type PullRequestReviewCommentEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: PackageFile -} - -"""Ways in which lists of package files can be ordered upon return.""" -input PackageFileOrder { - """The field in which to order package files by.""" - field: PackageFileOrderField - - """The direction in which to order package files by the specified field.""" - direction: OrderDirection -} - -"""Properties by which package file connections can be ordered.""" -enum PackageFileOrderField { - """Order package files by creation time""" - CREATED_AT + node: PullRequestReviewComment } -"""Ways in which lists of packages can be ordered upon return.""" -input PackageOrder { - """The field in which to order packages by.""" - field: PackageOrderField - - """The direction in which to order packages by the specified field.""" - direction: OrderDirection -} +"""The possible states of a pull request review comment.""" +enum PullRequestReviewCommentState { + """A comment that is part of a pending review""" + PENDING -"""Properties by which package connections can be ordered.""" -enum PackageOrderField { - """Order packages by creation time""" - CREATED_AT + """A comment that is part of a submitted review""" + SUBMITTED } -"""Represents an owner of a package.""" -interface PackageOwner { - id: ID! - - """A list of packages under the owner.""" - packages( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - - """Find packages by their names.""" - names: [String] +"""The connection type for PullRequestReview.""" +type PullRequestReviewConnection { + """A list of edges.""" + edges: [PullRequestReviewEdge] - """Find packages in a repository by ID.""" - repositoryId: ID + """A list of nodes.""" + nodes: [PullRequestReview] - """Filter registry package by type.""" - packageType: PackageType + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Ordering of the returned packages.""" - orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} - ): PackageConnection! + """Identifies the total count of items in the connection.""" + totalCount: Int! } """ -Represents a object that contains package activity statistics such as downloads. +This aggregates pull request reviews made by a user within one repository. """ -type PackageStatistics { - """Number of times the package was downloaded since it was created.""" - downloadsTotalCount: Int! -} - -"""A version tag contains the mapping between a tag name and a version.""" -type PackageTag implements Node { - id: ID! - - """Identifies the tag name of the version.""" - name: String! - - """Version that the tag is associated with.""" - version: PackageVersion -} - -"""The possible types of a package.""" -enum PackageType { - """An npm package.""" - NPM - - """A rubygems package.""" - RUBYGEMS - - """A maven package.""" - MAVEN - - """A docker image.""" - DOCKER - - """A debian package.""" - DEBIAN - - """A nuget package.""" - NUGET - - """A python package.""" - PYPI -} - -"""Information about a specific package version.""" -type PackageVersion implements Node { - """List of files associated with this package version""" - files( - """Ordering of the returned package files.""" - orderBy: PackageFileOrder = {field: CREATED_AT, direction: ASC} - +type PullRequestReviewContributionsByRepository { + """The pull request review contributions.""" + contributions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -12712,611 +22160,609 @@ type PackageVersion implements Node { """Returns the last _n_ elements from the list.""" last: Int - ): PackageFileConnection! - id: ID! - - """The package associated with this version.""" - package: Package - - """The platform this version was built for.""" - platform: String - - """Whether or not this version is a pre-release.""" - preRelease: Boolean! - - """The README of this package version.""" - readme: String - - """The release associated with this package version.""" - release: Release - - """Statistics about package activity.""" - statistics: PackageVersionStatistics - """The package version summary.""" - summary: String + """Ordering options for contributions returned from the connection.""" + orderBy: ContributionOrder = {direction: DESC} + ): CreatedPullRequestReviewContributionConnection! - """The version string.""" - version: String! + """The repository in which the pull request reviews were made.""" + repository: Repository! } -"""The connection type for PackageVersion.""" -type PackageVersionConnection { - """A list of edges.""" - edges: [PackageVersionEdge] - - """A list of nodes.""" - nodes: [PackageVersion] +"""The review status of a pull request.""" +enum PullRequestReviewDecision { + """Changes have been requested on the pull request.""" + CHANGES_REQUESTED - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The pull request has received an approving review.""" + APPROVED - """Identifies the total count of items in the connection.""" - totalCount: Int! + """A review is required before the pull request can be merged.""" + REVIEW_REQUIRED } """An edge in a connection.""" -type PackageVersionEdge { +type PullRequestReviewEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: PackageVersion + node: PullRequestReview } -"""Ways in which lists of package versions can be ordered upon return.""" -input PackageVersionOrder { - """The field in which to order package versions by.""" - field: PackageVersionOrderField +"""The possible events to perform on a pull request review.""" +enum PullRequestReviewEvent { + """Submit general feedback without explicit approval.""" + COMMENT - """ - The direction in which to order package versions by the specified field. - """ - direction: OrderDirection -} + """Submit feedback and approve merging these changes.""" + APPROVE -"""Properties by which package version connections can be ordered.""" -enum PackageVersionOrderField { - """Order package versions by creation time""" - CREATED_AT -} + """Submit feedback that must be addressed before merging.""" + REQUEST_CHANGES -""" -Represents a object that contains package version activity statistics such as downloads. -""" -type PackageVersionStatistics { - """Number of times the package was downloaded since it was created.""" - downloadsTotalCount: Int! + """Dismiss review so it now longer effects merging.""" + DISMISS } -"""Information about pagination in a connection.""" -type PageInfo { - """When paginating forwards, the cursor to continue.""" - endCursor: String +"""The possible states of a pull request review.""" +enum PullRequestReviewState { + """A review that has not yet been submitted.""" + PENDING - """When paginating forwards, are there more items?""" - hasNextPage: Boolean! + """An informational review.""" + COMMENTED - """When paginating backwards, are there more items?""" - hasPreviousPage: Boolean! + """A review allowing the pull request to merge.""" + APPROVED - """When paginating backwards, the cursor to continue.""" - startCursor: String + """A review blocking the pull request from merging.""" + CHANGES_REQUESTED + + """A review that has been dismissed.""" + DISMISSED } -"""Types that can grant permissions on a repository to a user""" -union PermissionGranter = Organization | Repository | Team +"""A threaded list of comments for a given pull request.""" +type PullRequestReviewThread implements Node { + """A list of pull request comments associated with the thread.""" + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""A level of permission and source for a user's access to a repository.""" -type PermissionSource { - """The organization the repository belongs to.""" - organization: Organization! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The level of access this source has granted to the user.""" - permission: DefaultRepositoryPermissionField! + """Returns the first _n_ elements from the list.""" + first: Int - """The source of this permission.""" - source: PermissionGranter! -} + """Returns the last _n_ elements from the list.""" + last: Int -"""Types that can be pinned to a profile page.""" -union PinnableItem = Gist | Repository + """Skips the first _n_ elements in the list.""" + skip: Int + ): PullRequestReviewCommentConnection! -"""The connection type for PinnableItem.""" -type PinnableItemConnection { - """A list of edges.""" - edges: [PinnableItemEdge] + """The side of the diff on which this thread was placed.""" + diffSide: DiffSide! + id: ID! - """A list of nodes.""" - nodes: [PinnableItem] + """Whether or not the thread has been collapsed (resolved)""" + isCollapsed: Boolean! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Indicates whether this thread was outdated by newer changes.""" + isOutdated: Boolean! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Whether this thread has been resolved""" + isResolved: Boolean! -"""An edge in a connection.""" -type PinnableItemEdge { - """A cursor for use in pagination.""" - cursor: String! + """The line in the file to which this thread refers""" + line: Int - """The item at the end of the edge.""" - node: PinnableItem -} + """The original line in the file to which this thread refers.""" + originalLine: Int -"""Represents items that can be pinned to a profile page or dashboard.""" -enum PinnableItemType { - """A repository.""" - REPOSITORY + """ + The original start line in the file to which this thread refers (multi-line only). + """ + originalStartLine: Int - """A gist.""" - GIST + """Identifies the file path of this thread.""" + path: String! - """An issue.""" - ISSUE + """Identifies the pull request associated with this thread.""" + pullRequest: PullRequest! - """A project.""" - PROJECT + """Identifies the repository associated with this thread.""" + repository: Repository! - """A pull request.""" - PULL_REQUEST + """The user who resolved this thread""" + resolvedBy: User - """A user.""" - USER + """ + The side of the diff that the first line of the thread starts on (multi-line only) + """ + startDiffSide: DiffSide - """An organization.""" - ORGANIZATION + """ + The start line in the file to which this thread refers (multi-line only) + """ + startLine: Int - """A team.""" - TEAM -} + """ + The level at which the comments in the corresponding thread are targeted, can be a diff line or a file + """ + subjectType: PullRequestReviewThreadSubjectType! -"""Represents a 'pinned' event on a given issue or pull request.""" -type PinnedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """Indicates whether the current viewer can reply to this thread.""" + viewerCanReply: Boolean! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """Whether or not the viewer can resolve this thread""" + viewerCanResolve: Boolean! - """Identifies the issue associated with the event.""" - issue: Issue! + """Whether or not the viewer can unresolve this thread""" + viewerCanUnresolve: Boolean! } -"""An ISO-8601 encoded UTC date string with millisecond precison.""" -scalar PreciseDateTime +"""Review comment threads for a pull request review.""" +type PullRequestReviewThreadConnection { + """A list of edges.""" + edges: [PullRequestReviewThreadEdge] -"""Audit log entry for a private_repository_forking.disable event.""" -type PrivateRepositoryForkingDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """A list of nodes.""" + nodes: [PullRequestReviewThread] - """The user who initiated the action""" - actor: AuditEntryActor + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The IP address of the actor""" - actorIp: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """A readable representation of the actor's location""" - actorLocation: ActorLocation +"""An edge in a connection.""" +type PullRequestReviewThreadEdge { + """A cursor for use in pagination.""" + cursor: String! - """The username of the user who initiated the action""" - actorLogin: String + """The item at the end of the edge.""" + node: PullRequestReviewThread +} - """The HTTP path for the actor.""" - actorResourcePath: URI +"""The possible subject types of a pull request review comment.""" +enum PullRequestReviewThreadSubjectType { + """A comment that has been made against the line of a pull request""" + LINE - """The HTTP URL for the actor.""" - actorUrl: URI + """A comment that has been made against the file of a pull request""" + FILE +} - """The time the action was initiated""" - createdAt: PreciseDateTime! +""" +Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. +""" +type PullRequestRevisionMarker { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI + """The last commit the viewer has seen.""" + lastSeenCommit: Commit! - """The slug of the enterprise.""" - enterpriseSlug: String + """The pull request to which the marker belongs.""" + pullRequest: PullRequest! +} - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI - id: ID! +"""The possible states of a pull request.""" +enum PullRequestState { + """A pull request that is still open.""" + OPEN - """The corresponding operation type for the action""" - operationType: OperationType + """A pull request that has been closed without being merged.""" + CLOSED - """The Organization associated with the Audit Entry.""" - organization: Organization + """A pull request that has been closed by being merged.""" + MERGED +} - """The name of the Organization.""" - organizationName: String +"""A repository pull request template.""" +type PullRequestTemplate { + """The body of the template""" + body: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """The filename of the template""" + filename: String - """The HTTP URL for the organization""" - organizationUrl: URI + """The repository the template belongs to""" + repository: Repository! +} - """The repository associated with the action""" - repository: Repository +"""A threaded list of comments for a given pull request.""" +type PullRequestThread implements Node { + """A list of pull request comments associated with the thread.""" + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The name of the repository""" - repositoryName: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the repository""" - repositoryUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The user affected by the action""" - user: User + """Skips the first _n_ elements in the list.""" + skip: Int + ): PullRequestReviewCommentConnection! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """The side of the diff on which this thread was placed.""" + diffSide: DiffSide! + id: ID! - """The HTTP path for the user.""" - userResourcePath: URI + """Whether or not the thread has been collapsed (resolved)""" + isCollapsed: Boolean! - """The HTTP URL for the user.""" - userUrl: URI -} + """Indicates whether this thread was outdated by newer changes.""" + isOutdated: Boolean! -"""Audit log entry for a private_repository_forking.enable event.""" -type PrivateRepositoryForkingEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Whether this thread has been resolved""" + isResolved: Boolean! - """The user who initiated the action""" - actor: AuditEntryActor + """The line in the file to which this thread refers""" + line: Int - """The IP address of the actor""" - actorIp: String + """Identifies the pull request associated with this thread.""" + pullRequest: PullRequest! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Identifies the repository associated with this thread.""" + repository: Repository! - """The username of the user who initiated the action""" - actorLogin: String + """The user who resolved this thread""" + resolvedBy: User - """The HTTP path for the actor.""" - actorResourcePath: URI + """ + The side of the diff that the first line of the thread starts on (multi-line only) + """ + startDiffSide: DiffSide - """The HTTP URL for the actor.""" - actorUrl: URI + """The line of the first file diff in the thread.""" + startLine: Int - """The time the action was initiated""" - createdAt: PreciseDateTime! + """Indicates whether the current viewer can reply to this thread.""" + viewerCanReply: Boolean! - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI + """Whether or not the viewer can resolve this thread""" + viewerCanResolve: Boolean! - """The slug of the enterprise.""" - enterpriseSlug: String + """Whether or not the viewer can unresolve this thread""" + viewerCanUnresolve: Boolean! +} - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI - id: ID! +"""The connection type for PullRequestTimelineItem.""" +type PullRequestTimelineConnection { + """A list of edges.""" + edges: [PullRequestTimelineItemEdge] - """The corresponding operation type for the action""" - operationType: OperationType + """A list of nodes.""" + nodes: [PullRequestTimelineItem] - """The Organization associated with the Audit Entry.""" - organization: Organization + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The name of the Organization.""" - organizationName: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The HTTP path for the organization""" - organizationResourcePath: URI +"""An item in a pull request timeline""" +union PullRequestTimelineItem = AssignedEvent | BaseRefDeletedEvent | BaseRefForcePushedEvent | ClosedEvent | Commit | CommitCommentThread | CrossReferencedEvent | DemilestonedEvent | DeployedEvent | DeploymentEnvironmentChangedEvent | HeadRefDeletedEvent | HeadRefForcePushedEvent | HeadRefRestoredEvent | IssueComment | LabeledEvent | LockedEvent | MergedEvent | MilestonedEvent | PullRequestReview | PullRequestReviewComment | PullRequestReviewThread | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | ReviewDismissedEvent | ReviewRequestRemovedEvent | ReviewRequestedEvent | SubscribedEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent | UserBlockedEvent - """The HTTP URL for the organization""" - organizationUrl: URI +"""An edge in a connection.""" +type PullRequestTimelineItemEdge { + """A cursor for use in pagination.""" + cursor: String! - """The repository associated with the action""" - repository: Repository + """The item at the end of the edge.""" + node: PullRequestTimelineItem +} - """The name of the repository""" - repositoryName: String +"""An item in a pull request timeline""" +union PullRequestTimelineItems = AddedToMergeQueueEvent | AddedToProjectEvent | AssignedEvent | AutoMergeDisabledEvent | AutoMergeEnabledEvent | AutoRebaseEnabledEvent | AutoSquashEnabledEvent | AutomaticBaseChangeFailedEvent | AutomaticBaseChangeSucceededEvent | BaseRefChangedEvent | BaseRefDeletedEvent | BaseRefForcePushedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent | ConvertToDraftEvent | ConvertedNoteToIssueEvent | ConvertedToDiscussionEvent | CrossReferencedEvent | DemilestonedEvent | DeployedEvent | DeploymentEnvironmentChangedEvent | DisconnectedEvent | HeadRefDeletedEvent | HeadRefForcePushedEvent | HeadRefRestoredEvent | IssueComment | LabeledEvent | LockedEvent | MarkedAsDuplicateEvent | MentionedEvent | MergedEvent | MilestonedEvent | MovedColumnsInProjectEvent | PinnedEvent | PullRequestCommit | PullRequestCommitCommentThread | PullRequestReview | PullRequestReviewThread | PullRequestRevisionMarker | ReadyForReviewEvent | ReferencedEvent | RemovedFromMergeQueueEvent | RemovedFromProjectEvent | RenamedTitleEvent | ReopenedEvent | ReviewDismissedEvent | ReviewRequestRemovedEvent | ReviewRequestedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnmarkedAsDuplicateEvent | UnpinnedEvent | UnsubscribedEvent | UserBlockedEvent - """The HTTP path for the repository""" - repositoryResourcePath: URI +"""The connection type for PullRequestTimelineItems.""" +type PullRequestTimelineItemsConnection { + """A list of edges.""" + edges: [PullRequestTimelineItemsEdge] - """The HTTP URL for the repository""" - repositoryUrl: URI + """ + Identifies the count of items after applying `before` and `after` filters. + """ + filteredCount: Int! - """The user affected by the action""" - user: User + """A list of nodes.""" + nodes: [PullRequestTimelineItems] """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing. """ - userLogin: String + pageCount: Int! - """The HTTP path for the user.""" - userResourcePath: URI + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The HTTP URL for the user.""" - userUrl: URI + """Identifies the total count of items in the connection.""" + totalCount: Int! + + """Identifies the date and time when the timeline was last updated.""" + updatedAt: DateTime! } -""" -A curatable list of repositories relating to a repository owner, which defaults -to showing the most popular repositories they own. -""" -type ProfileItemShowcase { - """Whether or not the owner has pinned any repositories or gists.""" - hasPinnedItems: Boolean! +"""An edge in a connection.""" +type PullRequestTimelineItemsEdge { + """A cursor for use in pagination.""" + cursor: String! - """ - The repositories and gists in the showcase. If the profile owner has any - pinned items, those will be returned. Otherwise, the profile owner's popular - repositories will be returned. - """ - items( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The item at the end of the edge.""" + node: PullRequestTimelineItems +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The possible item types found in a timeline.""" +enum PullRequestTimelineItemsItemType { + """Represents a Git commit part of a pull request.""" + PULL_REQUEST_COMMIT - """Returns the first _n_ elements from the list.""" - first: Int + """Represents a commit comment thread part of a pull request.""" + PULL_REQUEST_COMMIT_COMMENT_THREAD - """Returns the last _n_ elements from the list.""" - last: Int - ): PinnableItemConnection! -} + """A review object for a given pull request.""" + PULL_REQUEST_REVIEW + + """A threaded list of comments for a given pull request.""" + PULL_REQUEST_REVIEW_THREAD -"""Represents any entity on GitHub that has a profile page.""" -interface ProfileOwner { """ - Determine if this repository owner has any items that can be pinned to their profile. + Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. """ - anyPinnableItems( - """Filter to only a particular kind of pinnable item.""" - type: PinnableItemType - ): Boolean! + PULL_REQUEST_REVISION_MARKER - """The public profile email.""" - email: String - id: ID! + """ + Represents a 'automatic_base_change_failed' event on a given pull request. + """ + AUTOMATIC_BASE_CHANGE_FAILED_EVENT """ - Showcases a selection of repositories and gists that the profile owner has - either curated or that have been selected automatically based on popularity. + Represents a 'automatic_base_change_succeeded' event on a given pull request. """ - itemShowcase: ProfileItemShowcase! + AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT - """The public profile location.""" - location: String + """Represents a 'auto_merge_disabled' event on a given pull request.""" + AUTO_MERGE_DISABLED_EVENT - """The username used to login.""" - login: String! + """Represents a 'auto_merge_enabled' event on a given pull request.""" + AUTO_MERGE_ENABLED_EVENT - """The public profile name.""" - name: String + """Represents a 'auto_rebase_enabled' event on a given pull request.""" + AUTO_REBASE_ENABLED_EVENT + + """Represents a 'auto_squash_enabled' event on a given pull request.""" + AUTO_SQUASH_ENABLED_EVENT """ - A list of repositories and gists this profile owner can pin to their profile. + Represents a 'base_ref_changed' event on a given issue or pull request. """ - pinnableItems( - """Filter the types of pinnable items that are returned.""" - types: [PinnableItemType!] - - """Returns the elements in the list that come after the specified cursor.""" - after: String + BASE_REF_CHANGED_EVENT - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Represents a 'base_ref_force_pushed' event on a given pull request.""" + BASE_REF_FORCE_PUSHED_EVENT - """Returns the first _n_ elements from the list.""" - first: Int + """Represents a 'base_ref_deleted' event on a given pull request.""" + BASE_REF_DELETED_EVENT - """Returns the last _n_ elements from the list.""" - last: Int - ): PinnableItemConnection! + """Represents a 'deployed' event on a given pull request.""" + DEPLOYED_EVENT """ - A list of repositories and gists this profile owner has pinned to their profile + Represents a 'deployment_environment_changed' event on a given pull request. """ - pinnedItems( - """Filter the types of pinned items that are returned.""" - types: [PinnableItemType!] + DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Represents a 'head_ref_deleted' event on a given pull request.""" + HEAD_REF_DELETED_EVENT - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Represents a 'head_ref_force_pushed' event on a given pull request.""" + HEAD_REF_FORCE_PUSHED_EVENT - """Returns the first _n_ elements from the list.""" - first: Int + """Represents a 'head_ref_restored' event on a given pull request.""" + HEAD_REF_RESTORED_EVENT - """Returns the last _n_ elements from the list.""" - last: Int - ): PinnableItemConnection! + """Represents a 'merged' event on a given pull request.""" + MERGED_EVENT """ - Returns how many more items this profile owner can pin to their profile. + Represents a 'review_dismissed' event on a given issue or pull request. """ - pinnedItemsRemaining: Int! + REVIEW_DISMISSED_EVENT - """Can the viewer pin repositories and gists to the profile?""" - viewerCanChangePinnedItems: Boolean! + """Represents an 'review_requested' event on a given pull request.""" + REVIEW_REQUESTED_EVENT - """The public profile website URL.""" - websiteUrl: URI -} + """Represents an 'review_request_removed' event on a given pull request.""" + REVIEW_REQUEST_REMOVED_EVENT -""" -Projects manage issues, pull requests and notes within a project owner. -""" -type Project implements Node & Closable & Updatable { - """The project's description body.""" - body: String + """Represents a 'ready_for_review' event on a given pull request.""" + READY_FOR_REVIEW_EVENT - """The projects description body rendered to HTML.""" - bodyHTML: HTML! + """Represents a 'convert_to_draft' event on a given pull request.""" + CONVERT_TO_DRAFT_EVENT + + """Represents an 'added_to_merge_queue' event on a given pull request.""" + ADDED_TO_MERGE_QUEUE_EVENT + + """Represents a 'removed_from_merge_queue' event on a given pull request.""" + REMOVED_FROM_MERGE_QUEUE_EVENT + + """Represents a comment on an Issue.""" + ISSUE_COMMENT + + """Represents a mention made by one issue or pull request to another.""" + CROSS_REFERENCED_EVENT """ - `true` if the object is closed (definition of closed may depend on type) + Represents a 'added_to_project' event on a given issue or pull request. """ - closed: Boolean! + ADDED_TO_PROJECT_EVENT - """Identifies the date and time when the object was closed.""" - closedAt: DateTime + """Represents an 'assigned' event on any assignable object.""" + ASSIGNED_EVENT - """List of columns in the project""" - columns( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Represents a 'closed' event on any `Closable`.""" + CLOSED_EVENT - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Represents a 'comment_deleted' event on a given issue or pull request.""" + COMMENT_DELETED_EVENT - """Returns the first _n_ elements from the list.""" - first: Int + """Represents a 'connected' event on a given issue or pull request.""" + CONNECTED_EVENT - """Returns the last _n_ elements from the list.""" - last: Int - ): ProjectColumnConnection! + """ + Represents a 'converted_note_to_issue' event on a given issue or pull request. + """ + CONVERTED_NOTE_TO_ISSUE_EVENT - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Represents a 'converted_to_discussion' event on a given issue.""" + CONVERTED_TO_DISCUSSION_EVENT - """The actor who originally created the project.""" - creator: Actor + """Represents a 'demilestoned' event on a given issue or pull request.""" + DEMILESTONED_EVENT - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """Represents a 'disconnected' event on a given issue or pull request.""" + DISCONNECTED_EVENT - """The project's name.""" - name: String! + """Represents a 'labeled' event on a given issue or pull request.""" + LABELED_EVENT - """The project's number.""" - number: Int! + """Represents a 'locked' event on a given issue or pull request.""" + LOCKED_EVENT """ - The project's owner. Currently limited to repositories, organizations, and users. + Represents a 'marked_as_duplicate' event on a given issue or pull request. """ - owner: ProjectOwner! + MARKED_AS_DUPLICATE_EVENT - """List of pending cards in this project""" - pendingCards( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Represents a 'mentioned' event on a given issue or pull request.""" + MENTIONED_EVENT - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Represents a 'milestoned' event on a given issue or pull request.""" + MILESTONED_EVENT - """Returns the first _n_ elements from the list.""" - first: Int + """ + Represents a 'moved_columns_in_project' event on a given issue or pull request. + """ + MOVED_COLUMNS_IN_PROJECT_EVENT - """Returns the last _n_ elements from the list.""" - last: Int + """Represents a 'pinned' event on a given issue or pull request.""" + PINNED_EVENT - """A list of archived states to filter the cards by""" - archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] - ): ProjectCardConnection! + """Represents a 'referenced' event on a given `ReferencedSubject`.""" + REFERENCED_EVENT - """Project progress details.""" - progress: ProjectProgress! + """ + Represents a 'removed_from_project' event on a given issue or pull request. + """ + REMOVED_FROM_PROJECT_EVENT - """The HTTP path for this project""" - resourcePath: URI! + """Represents a 'renamed' event on a given issue or pull request""" + RENAMED_TITLE_EVENT - """Whether the project is open or closed.""" - state: ProjectState! + """Represents a 'reopened' event on any `Closable`.""" + REOPENED_EVENT - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """Represents a 'subscribed' event on a given `Subscribable`.""" + SUBSCRIBED_EVENT - """The HTTP URL for this project""" - url: URI! + """Represents a 'transferred' event on a given issue or pull request.""" + TRANSFERRED_EVENT - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! -} + """Represents an 'unassigned' event on any assignable object.""" + UNASSIGNED_EVENT -"""A card in a project.""" -type ProjectCard implements Node { - """ - The project column this card is associated under. A card may only belong to one - project column at a time. The column field will be null if the card is created - in a pending state and has yet to be associated with a column. Once cards are - associated with a column, they will not become pending in the future. - - """ - column: ProjectColumn + """Represents an 'unlabeled' event on a given issue or pull request.""" + UNLABELED_EVENT - """The card content item""" - content: ProjectCardItem + """Represents an 'unlocked' event on a given issue or pull request.""" + UNLOCKED_EVENT - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Represents a 'user_blocked' event on a given user.""" + USER_BLOCKED_EVENT - """The actor who created this card""" - creator: Actor + """ + Represents an 'unmarked_as_duplicate' event on a given issue or pull request. + """ + UNMARKED_AS_DUPLICATE_EVENT - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """Represents an 'unpinned' event on a given issue or pull request.""" + UNPINNED_EVENT - """Whether the card is archived""" - isArchived: Boolean! + """Represents an 'unsubscribed' event on a given `Subscribable`.""" + UNSUBSCRIBED_EVENT +} - """The card note""" - note: String +"""The possible target states when updating a pull request.""" +enum PullRequestUpdateState { + """A pull request that is still open.""" + OPEN - """The project that contains this card.""" - project: Project! + """A pull request that has been closed without being merged.""" + CLOSED +} - """The HTTP path for this card""" - resourcePath: URI! +"""A Git push.""" +type Push implements Node { + id: ID! + + """The SHA after the push""" + nextSha: GitObjectID - """The state of ProjectCard""" - state: ProjectCardState + """The permalink for this push.""" + permalink: URI! - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The SHA before the push""" + previousSha: GitObjectID - """The HTTP URL for this card""" - url: URI! + """The actor who pushed""" + pusher: Actor! + + """The repository that was pushed to""" + repository: Repository! } -"""The possible archived states of a project card.""" -enum ProjectCardArchivedState { - """A project card that is archived""" - ARCHIVED +""" +A team, user, or app who has the ability to push to a protected branch. +""" +type PushAllowance implements Node { + """The actor that can push.""" + actor: PushAllowanceActor - """A project card that is not archived""" - NOT_ARCHIVED + """ + Identifies the branch protection rule associated with the allowed user, team, or app. + """ + branchProtectionRule: BranchProtectionRule + id: ID! } -"""The connection type for ProjectCard.""" -type ProjectCardConnection { +"""Types that can be an actor.""" +union PushAllowanceActor = App | Team | User + +"""The connection type for PushAllowance.""" +type PushAllowanceConnection { """A list of edges.""" - edges: [ProjectCardEdge] + edges: [PushAllowanceEdge] """A list of nodes.""" - nodes: [ProjectCard] + nodes: [PushAllowance] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -13326,33 +22772,96 @@ type ProjectCardConnection { } """An edge in a connection.""" -type ProjectCardEdge { +type PushAllowanceEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: ProjectCard + node: PushAllowance } -"""Types that can be inside Project Cards.""" -union ProjectCardItem = Issue | PullRequest +"""The query root of GitHub's GraphQL interface.""" +type Query { + """Look up a code of conduct by its key""" + codeOfConduct( + """The code of conduct's key""" + key: String! + ): CodeOfConduct -"""Various content states of a ProjectCard""" -enum ProjectCardState { - """The card has content only.""" - CONTENT_ONLY + """Look up a code of conduct by its key""" + codesOfConduct: [CodeOfConduct] - """The card has a note only.""" - NOTE_ONLY + """Look up an enterprise by URL slug.""" + enterprise( + """The enterprise URL slug.""" + slug: String! - """The card is redacted.""" - REDACTED -} + """The enterprise invitation token.""" + invitationToken: String + ): Enterprise -"""A column inside a project.""" -type ProjectColumn implements Node { - """List of cards in the column""" - cards( + """ + Look up a pending enterprise administrator invitation by invitee, enterprise and role. + """ + enterpriseAdministratorInvitation( + """The login of the user invited to join the business.""" + userLogin: String! + + """The slug of the enterprise the user was invited to join.""" + enterpriseSlug: String! + + """The role for the business member invitation.""" + role: EnterpriseAdministratorRole! + ): EnterpriseAdministratorInvitation + + """ + Look up a pending enterprise administrator invitation by invitation token. + """ + enterpriseAdministratorInvitationByToken( + """The invitation token sent with the invitation email.""" + invitationToken: String! + ): EnterpriseAdministratorInvitation + + """Look up an open source license by its key""" + license( + """The license's downcased SPDX ID""" + key: String! + ): License + + """Return a list of known open source licenses""" + licenses: [License]! + + """Get alphabetically sorted list of Marketplace categories""" + marketplaceCategories( + """Return only the specified categories.""" + includeCategories: [String!] + + """Exclude categories with no listings.""" + excludeEmpty: Boolean + + """Returns top level categories only, excluding any subcategories.""" + excludeSubcategories: Boolean + ): [MarketplaceCategory!]! + + """Look up a Marketplace category by its slug.""" + marketplaceCategory( + """The URL slug of the category.""" + slug: String! + + """Also check topic aliases for the category slug""" + useTopicAliases: Boolean + ): MarketplaceCategory + + """Look up a single Marketplace listing""" + marketplaceListing( + """ + Select the listing that matches this slug. It's the short name of the listing used in its URL. + """ + slug: String! + ): MarketplaceListing + + """Look up Marketplace listings""" + marketplaceListings( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -13367,137 +22876,185 @@ type ProjectColumn implements Node { """Returns the last _n_ elements from the list.""" last: Int - """A list of archived states to filter the cards by""" - archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] - ): ProjectCardConnection! + """Select only listings with the given category.""" + categorySlug: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Also check topic aliases for the category slug""" + useTopicAliases: Boolean - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """ + Select listings to which user has admin access. If omitted, listings visible to the + viewer are returned. + + """ + viewerCanAdmin: Boolean - """The project column's name.""" - name: String! + """Select listings that can be administered by the specified user.""" + adminId: ID - """The project that contains this column.""" - project: Project! + """Select listings for products owned by the specified organization.""" + organizationId: ID - """The semantic purpose of the column""" - purpose: ProjectColumnPurpose + """ + Select listings visible to the viewer even if they are not approved. If omitted or + false, only approved listings will be returned. + + """ + allStates: Boolean - """The HTTP path for this project column""" - resourcePath: URI! + """ + Select the listings with these slugs, if they are visible to the viewer. + """ + slugs: [String] - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """ + Select only listings where the primary category matches the given category slug. + """ + primaryCategoryOnly: Boolean = false - """The HTTP URL for this project column""" - url: URI! -} + """Select only listings that offer a free trial.""" + withFreeTrialsOnly: Boolean = false + ): MarketplaceListingConnection! -"""The connection type for ProjectColumn.""" -type ProjectColumnConnection { - """A list of edges.""" - edges: [ProjectColumnEdge] + """Return information about the GitHub instance""" + meta: GitHubMetadata! - """A list of nodes.""" - nodes: [ProjectColumn] + """Fetches an object given its ID.""" + node( + """ID of the object.""" + id: ID! + ): Node - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Lookup nodes by a list of IDs.""" + nodes( + """The list of node IDs.""" + ids: [ID!]! + ): [Node]! - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Lookup a organization by login.""" + organization( + """The organization's login.""" + login: String! + ): Organization -"""An edge in a connection.""" -type ProjectColumnEdge { - """A cursor for use in pagination.""" - cursor: String! + """The client's rate limit information.""" + rateLimit( + """If true, calculate the cost for the query without evaluating it""" + dryRun: Boolean = false + ): RateLimit + + """ + Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object + """ + relay: Query! + + """Lookup a given repository by the owner and repository name.""" + repository( + """The login field of a user or organization""" + owner: String! + + """The name of the repository""" + name: String! + + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + ): Repository + + """ + Lookup a repository owner (ie. either a User or an Organization) by login. + """ + repositoryOwner( + """The username to lookup the owner by.""" + login: String! + ): RepositoryOwner + + """Lookup resource by a URL.""" + resource( + """The URL.""" + url: URI! + ): UniformResourceLocatable - """The item at the end of the edge.""" - node: ProjectColumn -} + """ + Perform a search across resources, returning a maximum of 1,000 results. + """ + search( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""The semantic purpose of the column - todo, in progress, or done.""" -enum ProjectColumnPurpose { - """The column contains cards still to be worked on""" - TODO + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The column contains cards which are currently being worked on""" - IN_PROGRESS + """Returns the first _n_ elements from the list.""" + first: Int - """The column contains cards which are complete""" - DONE -} + """Returns the last _n_ elements from the list.""" + last: Int -"""A list of projects associated with the owner.""" -type ProjectConnection { - """A list of edges.""" - edges: [ProjectEdge] + """The search string to look for.""" + query: String! - """A list of nodes.""" - nodes: [Project] + """The types of search items to search within.""" + type: SearchType! + ): SearchResultItemConnection! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """GitHub Security Advisories""" + securityAdvisories( + """Ordering options for the returned topics.""" + orderBy: SecurityAdvisoryOrder = {field: UPDATED_AT, direction: DESC} - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Filter advisories by identifier, e.g. GHSA or CVE.""" + identifier: SecurityAdvisoryIdentifierFilter -"""An edge in a connection.""" -type ProjectEdge { - """A cursor for use in pagination.""" - cursor: String! + """Filter advisories to those published since a time in the past.""" + publishedSince: DateTime - """The item at the end of the edge.""" - node: Project -} + """Filter advisories to those updated since a time in the past.""" + updatedSince: DateTime -"""Ways in which lists of projects can be ordered upon return.""" -input ProjectOrder { - """The field in which to order projects by.""" - field: ProjectOrderField! + """A list of classifications to filter advisories by.""" + classifications: [SecurityAdvisoryClassification!] - """The direction in which to order projects by the specified field.""" - direction: OrderDirection! -} + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""Properties by which project connections can be ordered.""" -enum ProjectOrderField { - """Order projects by creation time""" - CREATED_AT + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Order projects by update time""" - UPDATED_AT + """Returns the first _n_ elements from the list.""" + first: Int - """Order projects by name""" - NAME -} + """Returns the last _n_ elements from the list.""" + last: Int + ): SecurityAdvisoryConnection! -"""Represents an owner of a Project.""" -interface ProjectOwner { - id: ID! + """Fetch a Security Advisory by its GHSA ID""" + securityAdvisory( + """GitHub Security Advisory ID.""" + ghsaId: String! + ): SecurityAdvisory - """Find project by number.""" - project( - """The project number to find.""" - number: Int! - ): Project + """Software Vulnerabilities documented by GitHub Security Advisories""" + securityVulnerabilities( + """Ordering options for the returned topics.""" + orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} - """A list of projects under the owner.""" - projects( - """Ordering options for projects returned from the connection""" - orderBy: ProjectOrder + """An ecosystem to filter vulnerabilities by.""" + ecosystem: SecurityAdvisoryEcosystem - """Query to search projects by, currently only searching by name.""" - search: String + """A package name to filter vulnerabilities by.""" + package: String - """A list of states to filter the projects by.""" - states: [ProjectState!] + """A list of severities to filter vulnerabilities by.""" + severities: [SecurityAdvisorySeverity!] + + """A list of advisory classifications to filter vulnerabilities by.""" + classifications: [SecurityAdvisoryClassification!] """Returns the elements in the list that come after the specified cursor.""" after: String @@ -13512,114 +23069,149 @@ interface ProjectOwner { """Returns the last _n_ elements from the list.""" last: Int - ): ProjectConnection! + ): SecurityVulnerabilityConnection! - """The HTTP path listing owners projects""" - projectsResourcePath: URI! + """Users and organizations who can be sponsored via GitHub Sponsors.""" + sponsorables( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL listing owners projects""" - projectsUrl: URI! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Can the current viewer create new projects on this owner.""" - viewerCanCreateProjects: Boolean! -} + """Returns the first _n_ elements from the list.""" + first: Int -"""Project progress stats.""" -type ProjectProgress { - """The number of done cards.""" - doneCount: Int! + """Returns the last _n_ elements from the list.""" + last: Int - """The percentage of done cards.""" - donePercentage: Float! + """ + Ordering options for users and organizations returned from the connection. + """ + orderBy: SponsorableOrder = {field: LOGIN, direction: ASC} - """ - Whether progress tracking is enabled and cards with purpose exist for this project - """ - enabled: Boolean! + """ + Whether only sponsorables who own the viewer's dependencies will be + returned. Must be authenticated to use. Can check an organization instead + for their dependencies owned by sponsorables by passing + orgLoginForDependencies. + """ + onlyDependencies: Boolean = false - """The number of in-progress cards.""" - inProgressCount: Int! + """ + Optional organization username for whose dependencies should be checked. + Used when onlyDependencies = true. Omit to check your own dependencies. If + you are not an administrator of the organization, only dependencies from its + public repositories will be considered. + """ + orgLoginForDependencies: String - """The percentage of in-progress cards.""" - inProgressPercentage: Float! + """ + Optional filter for which dependencies should be checked for sponsorable + owners. Only sponsorable owners of dependencies in this ecosystem will be + included. Used when onlyDependencies = true. + + **Upcoming Change on 2022-07-01 UTC** + **Description:** `dependencyEcosystem` will be removed. Use the ecosystem argument instead. + **Reason:** The type is switching from SecurityAdvisoryEcosystem to DependencyGraphEcosystem. + + """ + dependencyEcosystem: SecurityAdvisoryEcosystem - """The number of to do cards.""" - todoCount: Int! + """ + Optional filter for which dependencies should be checked for sponsorable + owners. Only sponsorable owners of dependencies in this ecosystem will be + included. Used when onlyDependencies = true. + """ + ecosystem: DependencyGraphEcosystem + ): SponsorableItemConnection! - """The percentage of to do cards.""" - todoPercentage: Float! -} + """Look up a topic by name.""" + topic( + """The topic's name.""" + name: String! + ): Topic -"""State of the project; either 'open' or 'closed'""" -enum ProjectState { - """The project is open.""" - OPEN + """Lookup a user by login.""" + user( + """The user's login.""" + login: String! + ): User - """The project is closed.""" - CLOSED + """The currently authenticated user.""" + viewer: User! } -"""GitHub-provided templates for Projects""" -enum ProjectTemplate { - """Create a board with columns for To do, In progress and Done.""" - BASIC_KANBAN +"""Represents the client's rate limit.""" +type RateLimit { + """The point cost for the current query counting against the rate limit.""" + cost: Int! """ - Create a board with v2 triggers to automatically move cards across To do, In progress and Done columns. + The maximum number of points the client is permitted to consume in a 60 minute window. """ - AUTOMATED_KANBAN_V2 + limit: Int! - """ - Create a board with triggers to automatically move cards across columns with review automation. - """ - AUTOMATED_REVIEWS_KANBAN + """The maximum number of nodes this query may return""" + nodeCount: Int! - """ - Create a board to triage and prioritize bugs with To do, priority, and Done columns. - """ - BUG_TRIAGE -} + """The number of points remaining in the current rate limit window.""" + remaining: Int! -"""A user's public key.""" -type PublicKey implements Node { """ - The last time this authorization was used to perform an action. Values will be null for keys not owned by the user. + The time at which the current rate limit window resets in UTC epoch seconds. """ - accessedAt: DateTime + resetAt: DateTime! - """ - Identifies the date and time when the key was created. Keys created before - March 5th, 2014 have inaccurate values. Values will be null for keys not owned by the user. - """ - createdAt: DateTime + """The number of points used in the current rate limit window.""" + used: Int! +} - """The fingerprint for this PublicKey.""" - fingerprint: String! +"""Represents a subject that can be reacted on.""" +interface Reactable { + """Identifies the primary key from the database.""" + databaseId: Int id: ID! - """ - Whether this PublicKey is read-only or not. Values will be null for keys not owned by the user. - """ - isReadOnly: Boolean + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] - """The public key string.""" - key: String! + """A list of Reactions left on the Issue.""" + reactions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Allows filtering Reactions by emoji.""" + content: ReactionContent - """ - Identifies the date and time when the key was updated. Keys created before - March 5th, 2014 may have inaccurate values. Values will be null for keys not - owned by the user. - """ - updatedAt: DateTime + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! + + """Can user react to this subject""" + viewerCanReact: Boolean! } -"""The connection type for PublicKey.""" -type PublicKeyConnection { +"""The connection type for User.""" +type ReactingUserConnection { """A list of edges.""" - edges: [PublicKeyEdge] + edges: [ReactingUserEdge] """A list of nodes.""" - nodes: [PublicKey] + nodes: [User] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -13628,110 +23220,103 @@ type PublicKeyConnection { totalCount: Int! } -"""An edge in a connection.""" -type PublicKeyEdge { +"""Represents a user that's made a reaction.""" +type ReactingUserEdge { """A cursor for use in pagination.""" cursor: String! + node: User! - """The item at the end of the edge.""" - node: PublicKey + """The moment when the user made the reaction.""" + reactedAt: DateTime! } -"""A repository pull request.""" -type PullRequest implements Node & Assignable & Closable & Comment & Updatable & UpdatableComment & Labelable & Lockable & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable { - """Reason that the conversation was locked.""" - activeLockReason: LockReason - - """The number of additions in this pull request.""" - additions: Int! +"""An emoji reaction to a particular piece of content.""" +type Reaction implements Node { + """Identifies the emoji reaction.""" + content: ReactionContent! - """A list of Users assigned to this object.""" - assignees( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! - """Returns the first _n_ elements from the list.""" - first: Int + """The reactable piece of content""" + reactable: Reactable! - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """Identifies the user who created this reaction.""" + user: User +} - """The actor who authored the comment.""" - author: Actor +"""A list of reactions that have been left on the subject.""" +type ReactionConnection { + """A list of edges.""" + edges: [ReactionEdge] - """Author's association with the subject of the comment.""" - authorAssociation: CommentAuthorAssociation! + """A list of nodes.""" + nodes: [Reaction] - """Identifies the base Ref associated with the pull request.""" - baseRef: Ref + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted. - """ - baseRefName: String! + """Identifies the total count of items in the connection.""" + totalCount: Int! """ - Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted. + Whether or not the authenticated user has left a reaction on the subject. """ - baseRefOid: GitObjectID! - - """The repository associated with this pull request's base Ref.""" - baseRepository: Repository - - """The body as Markdown.""" - body: String! + viewerHasReacted: Boolean! +} - """The body rendered to HTML.""" - bodyHTML: HTML! +"""Emojis that can be attached to Issues, Pull Requests and Comments.""" +enum ReactionContent { + """Represents the `:+1:` emoji.""" + THUMBS_UP - """The body rendered to text.""" - bodyText: String! + """Represents the `:-1:` emoji.""" + THUMBS_DOWN - """The number of changed files in this pull request.""" - changedFiles: Int! + """Represents the `:laugh:` emoji.""" + LAUGH - """The HTTP path for the checks of this pull request.""" - checksResourcePath: URI! + """Represents the `:hooray:` emoji.""" + HOORAY - """The HTTP URL for the checks of this pull request.""" - checksUrl: URI! + """Represents the `:confused:` emoji.""" + CONFUSED - """`true` if the pull request is closed""" - closed: Boolean! + """Represents the `:heart:` emoji.""" + HEART - """Identifies the date and time when the object was closed.""" - closedAt: DateTime + """Represents the `:rocket:` emoji.""" + ROCKET - """A list of comments associated with the pull request.""" - comments( - """Ordering options for issue comments returned from the connection.""" - orderBy: IssueCommentOrder + """Represents the `:eyes:` emoji.""" + EYES +} - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""An edge in a connection.""" +type ReactionEdge { + """A cursor for use in pagination.""" + cursor: String! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The item at the end of the edge.""" + node: Reaction +} - """Returns the first _n_ elements from the list.""" - first: Int +"""A group of emoji reactions to a particular piece of content.""" +type ReactionGroup { + """Identifies the emoji reaction.""" + content: ReactionContent! - """Returns the last _n_ elements from the list.""" - last: Int - ): IssueCommentConnection! + """Identifies when the reaction was created.""" + createdAt: DateTime """ - A list of commits present in this pull request's head branch not present in the base branch. + Reactors to the reaction subject with the emotion represented by this reaction group. """ - commits( + reactors( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -13745,86 +23330,99 @@ type PullRequest implements Node & Assignable & Closable & Comment & Updatable & """Returns the last _n_ elements from the list.""" last: Int - ): PullRequestCommitConnection! + ): ReactorConnection! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The subject that was reacted to.""" + subject: Reactable! - """Check if this comment was created via an email reply.""" - createdViaEmail: Boolean! + """ + Whether or not the authenticated user has left a reaction on the subject. + """ + viewerHasReacted: Boolean! +} - """Identifies the primary key from the database.""" - databaseId: Int +"""Ways in which lists of reactions can be ordered upon return.""" +input ReactionOrder { + """The field in which to order reactions by.""" + field: ReactionOrderField! - """The number of deletions in this pull request.""" - deletions: Int! + """The direction in which to order reactions by the specified field.""" + direction: OrderDirection! +} - """The actor who edited this pull request's body.""" - editor: Actor +"""A list of fields that reactions can be ordered by.""" +enum ReactionOrderField { + """Allows ordering a list of reactions by when they were created.""" + CREATED_AT +} - """Lists the files changed within this pull request.""" - files( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Types that can be assigned to reactions.""" +union Reactor = Bot | Mannequin | Organization | User - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The connection type for Reactor.""" +type ReactorConnection { + """A list of edges.""" + edges: [ReactorEdge] - """Returns the first _n_ elements from the list.""" - first: Int + """A list of nodes.""" + nodes: [Reactor] - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestChangedFileConnection + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Identifies the head Ref associated with the pull request.""" - headRef: Ref + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """ - Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted. - """ - headRefName: String! +"""Represents an author of a reaction.""" +type ReactorEdge { + """A cursor for use in pagination.""" + cursor: String! - """ - Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted. - """ - headRefOid: GitObjectID! + """The author of the reaction.""" + node: Reactor! - """The repository associated with this pull request's head Ref.""" - headRepository: Repository + """The moment when the user made the reaction.""" + reactedAt: DateTime! +} - """ - The owner of the repository associated with this pull request's head Ref. - """ - headRepositoryOwner: RepositoryOwner +"""Represents a 'ready_for_review' event on a given pull request.""" +type ReadyForReviewEvent implements Node & UniformResourceLocatable { + """Identifies the actor who performed the event.""" + actor: Actor - """The hovercard information for this issue""" - hovercard( - """Whether or not to include notification contexts""" - includeNotificationContexts: Boolean = true - ): Hovercard! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! id: ID! - """ - Check if this comment was edited and includes an edit with the creation data - """ - includesCreatedEdit: Boolean! + """PullRequest referenced by event.""" + pullRequest: PullRequest! + + """The HTTP path for this ready for review event.""" + resourcePath: URI! + + """The HTTP URL for this ready for review event.""" + url: URI! +} + +"""Represents a Git reference.""" +type Ref implements Node { + """A list of pull requests with this ref as the head ref.""" + associatedPullRequests( + """A list of states to filter the pull requests by.""" + states: [PullRequestState!] - """The head and base repositories are different.""" - isCrossRepository: Boolean! + """A list of label names to filter the pull requests by.""" + labels: [String!] - """Identifies if the pull request is a draft.""" - isDraft: Boolean! + """The head ref name to filter the pull requests by.""" + headRefName: String - """Is this pull request read by the viewer""" - isReadByViewer: Boolean + """The base ref name to filter the pull requests by.""" + baseRefName: String - """A list of labels associated with the object.""" - labels( - """Ordering options for labels returned from the connection.""" - orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + """Ordering options for pull requests returned from the connection.""" + orderBy: IssueOrder """Returns the elements in the list that come after the specified cursor.""" after: String @@ -13839,209 +23437,244 @@ type PullRequest implements Node & Assignable & Closable & Comment & Updatable & """Returns the last _n_ elements from the list.""" last: Int - ): LabelConnection + ): PullRequestConnection! - """The moment the editor made the last edit""" - lastEditedAt: DateTime + """Branch protection rules for this ref""" + branchProtectionRule: BranchProtectionRule - """A list of latest reviews per user associated with the pull request.""" - latestOpinionatedReviews( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """ + Compares the current ref as a base ref to another head ref, if the comparison can be made. + """ + compare( + """The head ref to compare against.""" + headRef: String! + ): Comparison + id: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The ref name.""" + name: String! - """Returns the first _n_ elements from the list.""" - first: Int + """The ref's prefix, such as `refs/heads/` or `refs/tags/`.""" + prefix: String! - """Returns the last _n_ elements from the list.""" - last: Int + """Branch protection rules that are viewable by non-admins""" + refUpdateRule: RefUpdateRule - """Only return reviews from user who have write access to the repository""" - writersOnly: Boolean = false - ): PullRequestReviewConnection + """The repository the ref belongs to.""" + repository: Repository! - """ - A list of latest reviews per user associated with the pull request that are not also pending review. - """ - latestReviews( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The object the ref points to. Returns null when object does not exist.""" + target: GitObject +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The connection type for Ref.""" +type RefConnection { + """A list of edges.""" + edges: [RefEdge] - """Returns the first _n_ elements from the list.""" - first: Int + """A list of nodes.""" + nodes: [Ref] - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestReviewConnection + """Information to aid in pagination.""" + pageInfo: PageInfo! - """`true` if the pull request is locked""" - locked: Boolean! + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Indicates whether maintainers can modify the pull request.""" - maintainerCanModify: Boolean! +"""An edge in a connection.""" +type RefEdge { + """A cursor for use in pagination.""" + cursor: String! - """The commit that was created when this pull request was merged.""" - mergeCommit: Commit + """The item at the end of the edge.""" + node: Ref +} + +"""Represents a 'referenced' event on a given `ReferencedSubject`.""" +type ReferencedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor + + """Identifies the commit associated with the 'referenced' event.""" + commit: Commit + + """Identifies the repository associated with the 'referenced' event.""" + commitRepository: Repository! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! + + """Reference originated in a different repository.""" + isCrossRepository: Boolean! """ - Whether or not the pull request can be merged based on the existence of merge conflicts. + Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference. """ - mergeable: MergeableState! + isDirectReference: Boolean! - """Whether or not the pull request was merged.""" - merged: Boolean! + """Object referenced by event.""" + subject: ReferencedSubject! +} - """The date and time that the pull request was merged.""" - mergedAt: DateTime +"""Any referencable object""" +union ReferencedSubject = Issue | PullRequest - """The actor who merged the pull request.""" - mergedBy: Actor +"""Ways in which lists of git refs can be ordered upon return.""" +input RefOrder { + """The field in which to order refs by.""" + field: RefOrderField! - """Identifies the milestone associated with the pull request.""" - milestone: Milestone + """The direction in which to order refs by the specified field.""" + direction: OrderDirection! +} - """Identifies the pull request number.""" - number: Int! +"""Properties by which ref connections can be ordered.""" +enum RefOrderField { + """Order refs by underlying commit date if the ref prefix is refs/tags/""" + TAG_COMMIT_DATE - """ - A list of Users that are participating in the Pull Request conversation. - """ - participants( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Order refs by their alphanumeric name""" + ALPHABETICAL +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""A ref update rules for a viewer.""" +type RefUpdateRule { + """Can this branch be deleted.""" + allowsDeletions: Boolean! - """Returns the first _n_ elements from the list.""" - first: Int + """Are force pushes allowed on this branch.""" + allowsForcePushes: Boolean! - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """Can matching branches be created.""" + blocksCreations: Boolean! - """The permalink to the pull request.""" - permalink: URI! + """Identifies the protection rule pattern.""" + pattern: String! + + """Number of approving reviews required to update matching branches.""" + requiredApprovingReviewCount: Int """ - The commit that GitHub automatically generated to test if this pull request - could be merged. This field will not return a value if the pull request is - merged, or if the test merge commit is still being generated. See the - `mergeable` field for more details on the mergeability of the pull request. + List of required status check contexts that must pass for commits to be accepted to matching branches. """ - potentialMergeCommit: Commit + requiredStatusCheckContexts: [String] - """List of project cards associated with this pull request.""" - projectCards( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Are reviews from code owners required to update matching branches.""" + requiresCodeOwnerReviews: Boolean! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Are conversations required to be resolved before merging.""" + requiresConversationResolution: Boolean! - """Returns the first _n_ elements from the list.""" - first: Int + """Are merge commits prohibited from being pushed to this branch.""" + requiresLinearHistory: Boolean! - """Returns the last _n_ elements from the list.""" - last: Int + """Are commits required to be signed.""" + requiresSignatures: Boolean! - """A list of archived states to filter the cards by""" - archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] - ): ProjectCardConnection! + """Is the viewer allowed to dismiss reviews.""" + viewerAllowedToDismissReviews: Boolean! - """Identifies when the comment was published at.""" - publishedAt: DateTime + """Can the viewer push to the branch""" + viewerCanPush: Boolean! +} - """A list of reactions grouped by content left on the subject.""" - reactionGroups: [ReactionGroup!] +""" +Autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes +""" +input RegenerateEnterpriseIdentityProviderRecoveryCodesInput { + """The ID of the enterprise on which to set an identity provider.""" + enterpriseId: ID! - """A list of Reactions left on the Issue.""" - reactions( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +Autogenerated return type of RegenerateEnterpriseIdentityProviderRecoveryCodes +""" +type RegenerateEnterpriseIdentityProviderRecoveryCodesPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Returns the first _n_ elements from the list.""" - first: Int + """The identity provider for the enterprise.""" + identityProvider: EnterpriseIdentityProvider +} - """Returns the last _n_ elements from the list.""" - last: Int +"""Autogenerated input type of RegenerateVerifiableDomainToken""" +input RegenerateVerifiableDomainTokenInput { + """ + The ID of the verifiable domain to regenerate the verification token of. + """ + id: ID! - """Allows filtering Reactions by emoji.""" - content: ReactionContent + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Allows specifying the order in which reactions are returned.""" - orderBy: ReactionOrder - ): ReactionConnection! +"""Autogenerated return type of RegenerateVerifiableDomainToken""" +type RegenerateVerifiableDomainTokenPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The repository associated with this node.""" - repository: Repository! + """The verification token that was generated.""" + verificationToken: String +} + +"""Autogenerated input type of RejectDeployments""" +input RejectDeploymentsInput { + """The node ID of the workflow run containing the pending deployments.""" + workflowRunId: ID! + + """The ids of environments to reject deployments""" + environmentIds: [ID!]! - """The HTTP path for this pull request.""" - resourcePath: URI! + """Optional comment for rejecting deployments""" + comment: String = "" - """The HTTP path for reverting this pull request.""" - revertResourcePath: URI! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The HTTP URL for reverting this pull request.""" - revertUrl: URI! +"""Autogenerated return type of RejectDeployments""" +type RejectDeploymentsPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The current status of this pull request with respect to code review.""" - reviewDecision: PullRequestReviewDecision + """The affected deployments.""" + deployments: [Deployment!] +} - """A list of review requests associated with the pull request.""" - reviewRequests( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""A release contains the content for a release.""" +type Release implements Node & UniformResourceLocatable & Reactable { + """The author of the release""" + author: User - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Returns the first _n_ elements from the list.""" - first: Int + """Identifies the primary key from the database.""" + databaseId: Int - """Returns the last _n_ elements from the list.""" - last: Int - ): ReviewRequestConnection + """The description of the release.""" + description: String - """The list of all review threads for this pull request.""" - reviewThreads( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The description of this release rendered to HTML.""" + descriptionHTML: HTML + id: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Whether or not the release is a draft""" + isDraft: Boolean! - """Returns the first _n_ elements from the list.""" - first: Int + """Whether or not the release is the latest releast""" + isLatest: Boolean! - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestReviewThreadConnection! + """Whether or not the release is a prerelease""" + isPrerelease: Boolean! - """A list of reviews associated with the pull request.""" - reviews( + """A list of users mentioned in the release description""" + mentions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -14055,35 +23688,19 @@ type PullRequest implements Node & Assignable & Closable & Comment & Updatable & """Returns the last _n_ elements from the list.""" last: Int + ): UserConnection - """A list of states to filter the reviews.""" - states: [PullRequestReviewState!] - - """Filter by author of the review.""" - author: String - ): PullRequestReviewConnection - - """Identifies the state of the pull request.""" - state: PullRequestState! - - """ - A list of reviewer suggestions based on commit history and past review comments. - """ - suggestedReviewers: [SuggestedReviewer]! - - """ - A list of events, comments, commits, etc. associated with the pull request. - """ - timelineItems( - """Filter timeline items by a `since` timestamp.""" - since: DateTime + """The title of the release.""" + name: String - """Skips the first _n_ elements in the list.""" - skip: Int + """Identifies the date and time when the release was created.""" + publishedAt: DateTime - """Filter timeline items by type.""" - itemTypes: [PullRequestTimelineItemsItemType!] + """A list of reactions grouped by content left on the subject.""" + reactionGroups: [ReactionGroup!] + """A list of Reactions left on the Issue.""" + reactions( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -14097,19 +23714,16 @@ type PullRequest implements Node & Assignable & Closable & Comment & Updatable & """Returns the last _n_ elements from the list.""" last: Int - ): PullRequestTimelineItemsConnection! - """Identifies the pull request title.""" - title: String! - - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """Allows filtering Reactions by emoji.""" + content: ReactionContent - """The HTTP URL for this pull request.""" - url: URI! + """Allows specifying the order in which reactions are returned.""" + orderBy: ReactionOrder + ): ReactionConnection! - """A list of edits to this content.""" - userContentEdits( + """List of releases assets which are dependent on this release.""" + releaseAssets( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -14123,147 +23737,87 @@ type PullRequest implements Node & Assignable & Closable & Comment & Updatable & """Returns the last _n_ elements from the list.""" last: Int - ): UserContentEditConnection - """Whether or not the viewer can apply suggestion.""" - viewerCanApplySuggestion: Boolean! + """A list of names to filter the assets by.""" + name: String + ): ReleaseAssetConnection! - """Check if the viewer can restore the deleted head ref.""" - viewerCanDeleteHeadRef: Boolean! + """The repository that the release belongs to.""" + repository: Repository! - """Can user react to this subject""" - viewerCanReact: Boolean! + """The HTTP path for this issue""" + resourcePath: URI! """ - Check if the viewer is able to change their subscription status for the repository. + A description of the release, rendered to HTML without any links in it. """ - viewerCanSubscribe: Boolean! - - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! - - """Reasons why the current viewer can not update this comment.""" - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! - - """Did the viewer author this comment.""" - viewerDidAuthor: Boolean! - - """The merge body text for the viewer and method.""" - viewerMergeBodyText( - """The merge method for the message.""" - mergeType: PullRequestMergeMethod - ): String! + shortDescriptionHTML( + """How many characters to return.""" + limit: Int = 200 + ): HTML - """The merge headline text for the viewer and method.""" - viewerMergeHeadlineText( - """The merge method for the message.""" - mergeType: PullRequestMergeMethod - ): String! + """The Git tag the release points to""" + tag: Ref - """ - Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. - """ - viewerSubscription: SubscriptionState -} + """The tag commit for this release.""" + tagCommit: Commit -"""A file changed in a pull request.""" -type PullRequestChangedFile { - """The number of additions to the file.""" - additions: Int! + """The name of the release's Git tag""" + tagName: String! - """The number of deletions to the file.""" - deletions: Int! + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The path of the file.""" - path: String! + """The HTTP URL for this issue""" + url: URI! - """The state of the file for the viewer.""" - viewerViewedState: FileViewedState! + """Can user react to this subject""" + viewerCanReact: Boolean! } -"""The connection type for PullRequestChangedFile.""" -type PullRequestChangedFileConnection { - """A list of edges.""" - edges: [PullRequestChangedFileEdge] - - """A list of nodes.""" - nodes: [PullRequestChangedFile] - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """Identifies the total count of items in the connection.""" - totalCount: Int! -} +"""A release asset contains the content for a release asset.""" +type ReleaseAsset implements Node { + """The asset's content-type""" + contentType: String! -"""An edge in a connection.""" -type PullRequestChangedFileEdge { - """A cursor for use in pagination.""" - cursor: String! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The item at the end of the edge.""" - node: PullRequestChangedFile -} + """The number of times this asset was downloaded""" + downloadCount: Int! -"""Represents a Git commit part of a pull request.""" -type PullRequestCommit implements Node & UniformResourceLocatable { - """The Git commit object""" - commit: Commit! + """ + Identifies the URL where you can download the release asset via the browser. + """ + downloadUrl: URI! id: ID! - """The pull request this commit belongs to""" - pullRequest: PullRequest! - - """The HTTP path for this pull request commit""" - resourcePath: URI! - - """The HTTP URL for this pull request commit""" - url: URI! -} - -"""Represents a commit comment thread part of a pull request.""" -type PullRequestCommitCommentThread implements Node & RepositoryNode { - """The comments that exist in this thread.""" - comments( - """Returns the elements in the list that come after the specified cursor.""" - after: String - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String - - """Returns the first _n_ elements from the list.""" - first: Int - - """Returns the last _n_ elements from the list.""" - last: Int - ): CommitCommentConnection! + """Identifies the title of the release asset.""" + name: String! - """The commit the comments were made on.""" - commit: Commit! - id: ID! + """Release that the asset is associated with""" + release: Release - """The file the comments were made on.""" - path: String + """The size (in bytes) of the asset""" + size: Int! - """The position in the diff for the commit that the comment was made on.""" - position: Int + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The pull request this commit comment thread belongs to""" - pullRequest: PullRequest! + """The user that performed the upload""" + uploadedBy: User! - """The repository associated with this node.""" - repository: Repository! + """Identifies the URL of the release asset.""" + url: URI! } -"""The connection type for PullRequestCommit.""" -type PullRequestCommitConnection { +"""The connection type for ReleaseAsset.""" +type ReleaseAssetConnection { """A list of edges.""" - edges: [PullRequestCommitEdge] + edges: [ReleaseAssetEdge] """A list of nodes.""" - nodes: [PullRequestCommit] + nodes: [ReleaseAsset] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -14273,21 +23827,21 @@ type PullRequestCommitConnection { } """An edge in a connection.""" -type PullRequestCommitEdge { +type ReleaseAssetEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: PullRequestCommit + node: ReleaseAsset } -"""The connection type for PullRequest.""" -type PullRequestConnection { +"""The connection type for Release.""" +type ReleaseConnection { """A list of edges.""" - edges: [PullRequestEdge] + edges: [ReleaseEdge] """A list of nodes.""" - nodes: [PullRequest] + nodes: [Release] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -14296,2784 +23850,2948 @@ type PullRequestConnection { totalCount: Int! } -"""This aggregates pull requests opened by a user within one repository.""" -type PullRequestContributionsByRepository { - """The pull request contributions.""" - contributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""An edge in a connection.""" +type ReleaseEdge { + """A cursor for use in pagination.""" + cursor: String! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The item at the end of the edge.""" + node: Release +} - """Returns the first _n_ elements from the list.""" - first: Int +"""Ways in which lists of releases can be ordered upon return.""" +input ReleaseOrder { + """The field in which to order releases by.""" + field: ReleaseOrderField! - """Returns the last _n_ elements from the list.""" - last: Int + """The direction in which to order releases by the specified field.""" + direction: OrderDirection! +} - """Ordering options for contributions returned from the connection.""" - orderBy: ContributionOrder = {direction: DESC} - ): CreatedPullRequestContributionConnection! +"""Properties by which release connections can be ordered.""" +enum ReleaseOrderField { + """Order releases by creation time""" + CREATED_AT - """The repository in which the pull requests were opened.""" - repository: Repository! + """Order releases alphabetically by name""" + NAME } -"""An edge in a connection.""" -type PullRequestEdge { - """A cursor for use in pagination.""" - cursor: String! +"""Autogenerated input type of RemoveAssigneesFromAssignable""" +input RemoveAssigneesFromAssignableInput { + """The id of the assignable object to remove assignees from.""" + assignableId: ID! - """The item at the end of the edge.""" - node: PullRequest + """The id of users to remove as assignees.""" + assigneeIds: [ID!]! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String } -""" -Represents available types of methods to use when merging a pull request. -""" -enum PullRequestMergeMethod { - """ - Add all commits from the head branch to the base branch with a merge commit. - """ - MERGE +"""Autogenerated return type of RemoveAssigneesFromAssignable""" +type RemoveAssigneesFromAssignablePayload { + """The item that was unassigned.""" + assignable: Assignable - """ - Combine all commits from the head branch into a single commit in the base branch. - """ - SQUASH + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Represents a 'removed_from_merge_queue' event on a given pull request.""" +type RemovedFromMergeQueueEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor """ - Add all commits from the head branch onto the base branch individually. + Identifies the before commit SHA for the 'removed_from_merge_queue' event. """ - REBASE + beforeCommit: Commit + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """The user who removed this Pull Request from the merge queue""" + enqueuer: User + id: ID! + + """The merge queue where this pull request was removed from.""" + mergeQueue: MergeQueue + + """PullRequest referenced by event.""" + pullRequest: PullRequest + + """The reason this pull request was removed from the queue.""" + reason: String } -"""Ways in which lists of issues can be ordered upon return.""" -input PullRequestOrder { - """The field in which to order pull requests by.""" - field: PullRequestOrderField! +""" +Represents a 'removed_from_project' event on a given issue or pull request. +""" +type RemovedFromProjectEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor - """The direction in which to order pull requests by the specified field.""" - direction: OrderDirection! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! } -"""Properties by which pull_requests connections can be ordered.""" -enum PullRequestOrderField { - """Order pull_requests by creation time""" - CREATED_AT +"""Autogenerated input type of RemoveEnterpriseAdmin""" +input RemoveEnterpriseAdminInput { + """The Enterprise ID from which to remove the administrator.""" + enterpriseId: ID! - """Order pull_requests by update time""" - UPDATED_AT + """The login of the user to remove as an administrator.""" + login: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String } -"""A review object for a given pull request.""" -type PullRequestReview implements Node & Comment & Deletable & Updatable & UpdatableComment & Reactable & RepositoryNode { - """The actor who authored the comment.""" - author: Actor +"""Autogenerated return type of RemoveEnterpriseAdmin""" +type RemoveEnterpriseAdminPayload { + """The user who was removed as an administrator.""" + admin: User - """Author's association with the subject of the comment.""" - authorAssociation: CommentAuthorAssociation! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """ - Indicates whether the author of this review has push access to the repository. - """ - authorCanPushToRepository: Boolean! + """The updated enterprise.""" + enterprise: Enterprise - """Identifies the pull request review body.""" - body: String! + """A message confirming the result of removing an administrator.""" + message: String - """The body rendered to HTML.""" - bodyHTML: HTML! + """The viewer performing the mutation.""" + viewer: User +} - """The body of this review rendered as plain text.""" - bodyText: String! +"""Autogenerated input type of RemoveEnterpriseIdentityProvider""" +input RemoveEnterpriseIdentityProviderInput { + """The ID of the enterprise from which to remove the identity provider.""" + enterpriseId: ID! - """A list of review comments for the current pull request review.""" - comments( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""Autogenerated return type of RemoveEnterpriseIdentityProvider""" +type RemoveEnterpriseIdentityProviderPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Returns the first _n_ elements from the list.""" - first: Int + """The identity provider that was removed from the enterprise.""" + identityProvider: EnterpriseIdentityProvider +} - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestReviewCommentConnection! +"""Autogenerated input type of RemoveEnterpriseMember""" +input RemoveEnterpriseMemberInput { + """The ID of the enterprise from which the user should be removed.""" + enterpriseId: ID! - """Identifies the commit associated with this pull request review.""" - commit: Commit + """The ID of the user to remove from the enterprise.""" + userId: ID! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Check if this comment was created via an email reply.""" - createdViaEmail: Boolean! +"""Autogenerated return type of RemoveEnterpriseMember""" +type RemoveEnterpriseMemberPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Identifies the primary key from the database.""" - databaseId: Int + """The updated enterprise.""" + enterprise: Enterprise - """The actor who edited the comment.""" - editor: Actor - id: ID! + """The user that was removed from the enterprise.""" + user: User + + """The viewer performing the mutation.""" + viewer: User +} +"""Autogenerated input type of RemoveEnterpriseOrganization""" +input RemoveEnterpriseOrganizationInput { """ - Check if this comment was edited and includes an edit with the creation data + The ID of the enterprise from which the organization should be removed. """ - includesCreatedEdit: Boolean! + enterpriseId: ID! - """The moment the editor made the last edit""" - lastEditedAt: DateTime + """The ID of the organization to remove from the enterprise.""" + organizationId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of RemoveEnterpriseOrganization""" +type RemoveEnterpriseOrganizationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated enterprise.""" + enterprise: Enterprise + + """The organization that was removed from the enterprise.""" + organization: Organization + + """The viewer performing the mutation.""" + viewer: User +} - """A list of teams that this review was made on behalf of.""" - onBehalfOf( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Autogenerated input type of RemoveEnterpriseSupportEntitlement""" +input RemoveEnterpriseSupportEntitlementInput { + """The ID of the Enterprise which the admin belongs to.""" + enterpriseId: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The login of a member who will lose the support entitlement.""" + login: String! - """Returns the first _n_ elements from the list.""" - first: Int + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Returns the last _n_ elements from the list.""" - last: Int - ): TeamConnection! +"""Autogenerated return type of RemoveEnterpriseSupportEntitlement""" +type RemoveEnterpriseSupportEntitlementPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Identifies when the comment was published at.""" - publishedAt: DateTime + """A message confirming the result of removing the support entitlement.""" + message: String +} - """Identifies the pull request associated with this pull request review.""" - pullRequest: PullRequest! +"""Autogenerated input type of RemoveLabelsFromLabelable""" +input RemoveLabelsFromLabelableInput { + """The id of the Labelable to remove labels from.""" + labelableId: ID! - """A list of reactions grouped by content left on the subject.""" - reactionGroups: [ReactionGroup!] + """The ids of labels to remove.""" + labelIds: [ID!]! - """A list of Reactions left on the Issue.""" - reactions( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""Autogenerated return type of RemoveLabelsFromLabelable""" +type RemoveLabelsFromLabelablePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Returns the first _n_ elements from the list.""" - first: Int + """The Labelable the labels were removed from.""" + labelable: Labelable +} - """Returns the last _n_ elements from the list.""" - last: Int +"""Autogenerated input type of RemoveOutsideCollaborator""" +input RemoveOutsideCollaboratorInput { + """The ID of the outside collaborator to remove.""" + userId: ID! - """Allows filtering Reactions by emoji.""" - content: ReactionContent + """The ID of the organization to remove the outside collaborator from.""" + organizationId: ID! - """Allows specifying the order in which reactions are returned.""" - orderBy: ReactionOrder - ): ReactionConnection! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The repository associated with this node.""" - repository: Repository! +"""Autogenerated return type of RemoveOutsideCollaborator""" +type RemoveOutsideCollaboratorPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The HTTP path permalink for this PullRequestReview.""" - resourcePath: URI! + """The user that was removed as an outside collaborator.""" + removedUser: User +} - """Identifies the current state of the pull request review.""" - state: PullRequestReviewState! +"""Autogenerated input type of RemoveReaction""" +input RemoveReactionInput { + """The Node ID of the subject to modify.""" + subjectId: ID! - """Identifies when the Pull Request Review was submitted""" - submittedAt: DateTime + """The name of the emoji reaction to remove.""" + content: ReactionContent! - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The HTTP URL permalink for this PullRequestReview.""" - url: URI! +"""Autogenerated return type of RemoveReaction""" +type RemoveReactionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """A list of edits to this content.""" - userContentEdits( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The reaction object.""" + reaction: Reaction - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The reaction groups for the subject.""" + reactionGroups: [ReactionGroup!] - """Returns the first _n_ elements from the list.""" - first: Int + """The reactable subject.""" + subject: Reactable +} - """Returns the last _n_ elements from the list.""" - last: Int - ): UserContentEditConnection +"""Autogenerated input type of RemoveStar""" +input RemoveStarInput { + """The Starrable ID to unstar.""" + starrableId: ID! - """Check if the current viewer can delete this object.""" - viewerCanDelete: Boolean! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Can user react to this subject""" - viewerCanReact: Boolean! +"""Autogenerated return type of RemoveStar""" +type RemoveStarPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! + """The starrable.""" + starrable: Starrable +} - """Reasons why the current viewer can not update this comment.""" - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! +"""Autogenerated input type of RemoveUpvote""" +input RemoveUpvoteInput { + """The Node ID of the discussion or comment to remove upvote.""" + subjectId: ID! - """Did the viewer author this comment.""" - viewerDidAuthor: Boolean! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String } -"""A review comment associated with a given repository pull request.""" -type PullRequestReviewComment implements Node & Comment & Deletable & Minimizable & Updatable & UpdatableComment & Reactable & RepositoryNode { - """The actor who authored the comment.""" - author: Actor +"""Autogenerated return type of RemoveUpvote""" +type RemoveUpvotePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Author's association with the subject of the comment.""" - authorAssociation: CommentAuthorAssociation! + """The votable subject.""" + subject: Votable +} - """The comment body of this review comment.""" - body: String! +"""Represents a 'renamed' event on a given issue or pull request""" +type RenamedTitleEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor - """The body rendered to HTML.""" - bodyHTML: HTML! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The comment body of this review comment rendered as plain text.""" - bodyText: String! + """Identifies the current title of the issue or pull request.""" + currentTitle: String! + id: ID! - """Identifies the commit associated with the comment.""" - commit: Commit + """Identifies the previous title of the issue or pull request.""" + previousTitle: String! - """Identifies when the comment was created.""" - createdAt: DateTime! + """Subject that was renamed.""" + subject: RenamedTitleSubject! +} - """Check if this comment was created via an email reply.""" - createdViaEmail: Boolean! +"""An object which has a renamable title""" +union RenamedTitleSubject = Issue | PullRequest - """Identifies the primary key from the database.""" - databaseId: Int +"""Autogenerated input type of ReopenDiscussion""" +input ReopenDiscussionInput { + """ID of the discussion to be reopened.""" + discussionId: ID! - """The diff hunk to which the comment applies.""" - diffHunk: String! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Identifies when the comment was created in a draft state.""" - draftedAt: DateTime! +"""Autogenerated return type of ReopenDiscussion""" +type ReopenDiscussionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The actor who edited the comment.""" - editor: Actor - id: ID! + """The discussion that was reopened.""" + discussion: Discussion +} - """ - Check if this comment was edited and includes an edit with the creation data - """ - includesCreatedEdit: Boolean! +"""Represents a 'reopened' event on any `Closable`.""" +type ReopenedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor - """Returns whether or not a comment has been minimized.""" - isMinimized: Boolean! + """Object that was reopened.""" + closable: Closable! - """The moment the editor made the last edit""" - lastEditedAt: DateTime + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! - """Returns why the comment was minimized.""" - minimizedReason: String + """The reason the issue state was changed to open.""" + stateReason: IssueStateReason +} - """Identifies the original commit associated with the comment.""" - originalCommit: Commit +"""Autogenerated input type of ReopenIssue""" +input ReopenIssueInput { + """ID of the issue to be opened.""" + issueId: ID! - """The original line index in the diff to which the comment applies.""" - originalPosition: Int! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Identifies when the comment body is outdated""" - outdated: Boolean! +"""Autogenerated return type of ReopenIssue""" +type ReopenIssuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The path to which the comment applies.""" - path: String! + """The issue that was opened.""" + issue: Issue +} - """The line index in the diff to which the comment applies.""" - position: Int +"""Autogenerated input type of ReopenPullRequest""" +input ReopenPullRequestInput { + """ID of the pull request to be reopened.""" + pullRequestId: ID! - """Identifies when the comment was published at.""" - publishedAt: DateTime + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of ReopenPullRequest""" +type ReopenPullRequestPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The pull request associated with this review comment.""" - pullRequest: PullRequest! + """The pull request that was reopened.""" + pullRequest: PullRequest +} - """The pull request review associated with this review comment.""" - pullRequestReview: PullRequestReview +"""Audit log entry for a repo.access event.""" +type RepoAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """A list of reactions grouped by content left on the subject.""" - reactionGroups: [ReactionGroup!] + """The user who initiated the action""" + actor: AuditEntryActor - """A list of Reactions left on the Issue.""" - reactions( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The IP address of the actor""" + actorIp: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Returns the first _n_ elements from the list.""" - first: Int + """The username of the user who initiated the action""" + actorLogin: String - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP path for the actor.""" + actorResourcePath: URI - """Allows filtering Reactions by emoji.""" - content: ReactionContent + """The HTTP URL for the actor.""" + actorUrl: URI - """Allows specifying the order in which reactions are returned.""" - orderBy: ReactionOrder - ): ReactionConnection! + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """The comment this is a reply to.""" - replyTo: PullRequestReviewComment + """The corresponding operation type for the action""" + operationType: OperationType - """The repository associated with this node.""" - repository: Repository! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The HTTP path permalink for this review comment.""" - resourcePath: URI! + """The name of the Organization.""" + organizationName: String - """Identifies the state of the comment.""" - state: PullRequestReviewCommentState! + """The HTTP path for the organization""" + organizationResourcePath: URI - """Identifies when the comment was last updated.""" - updatedAt: DateTime! + """The HTTP URL for the organization""" + organizationUrl: URI - """The HTTP URL permalink for this review comment.""" - url: URI! + """The repository associated with the action""" + repository: Repository - """A list of edits to this content.""" - userContentEdits( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The name of the repository""" + repositoryName: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP URL for the repository""" + repositoryUrl: URI - """Returns the last _n_ elements from the list.""" - last: Int - ): UserContentEditConnection + """The user affected by the action""" + user: User - """Check if the current viewer can delete this object.""" - viewerCanDelete: Boolean! + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Check if the current viewer can minimize this object.""" - viewerCanMinimize: Boolean! + """The HTTP path for the user.""" + userResourcePath: URI - """Can user react to this subject""" - viewerCanReact: Boolean! + """The HTTP URL for the user.""" + userUrl: URI - """Check if the current viewer can update this object.""" - viewerCanUpdate: Boolean! + """The visibility of the repository""" + visibility: RepoAccessAuditEntryVisibility +} - """Reasons why the current viewer can not update this comment.""" - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! +"""The privacy of a repository""" +enum RepoAccessAuditEntryVisibility { + """The repository is visible only to users in the same business.""" + INTERNAL - """Did the viewer author this comment.""" - viewerDidAuthor: Boolean! + """The repository is visible only to those with explicit access.""" + PRIVATE + + """The repository is visible to everyone.""" + PUBLIC } -"""The connection type for PullRequestReviewComment.""" -type PullRequestReviewCommentConnection { - """A list of edges.""" - edges: [PullRequestReviewCommentEdge] +"""Audit log entry for a repo.add_member event.""" +type RepoAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """A list of nodes.""" - nodes: [PullRequestReviewComment] + """The user who initiated the action""" + actor: AuditEntryActor - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The IP address of the actor""" + actorIp: String - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """A readable representation of the actor's location""" + actorLocation: ActorLocation -"""An edge in a connection.""" -type PullRequestReviewCommentEdge { - """A cursor for use in pagination.""" - cursor: String! + """The username of the user who initiated the action""" + actorLogin: String - """The item at the end of the edge.""" - node: PullRequestReviewComment -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""The possible states of a pull request review comment.""" -enum PullRequestReviewCommentState { - """A comment that is part of a pending review""" - PENDING + """The HTTP URL for the actor.""" + actorUrl: URI - """A comment that is part of a submitted review""" - SUBMITTED -} + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! -"""The connection type for PullRequestReview.""" -type PullRequestReviewConnection { - """A list of edges.""" - edges: [PullRequestReviewEdge] + """The corresponding operation type for the action""" + operationType: OperationType - """A list of nodes.""" - nodes: [PullRequestReview] + """The Organization associated with the Audit Entry.""" + organization: Organization - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The name of the Organization.""" + organizationName: String - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The HTTP path for the organization""" + organizationResourcePath: URI -""" -This aggregates pull request reviews made by a user within one repository. -""" -type PullRequestReviewContributionsByRepository { - """The pull request review contributions.""" - contributions( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP URL for the organization""" + organizationUrl: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The repository associated with the action""" + repository: Repository - """Returns the first _n_ elements from the list.""" - first: Int + """The name of the repository""" + repositoryName: String - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Ordering options for contributions returned from the connection.""" - orderBy: ContributionOrder = {direction: DESC} - ): CreatedPullRequestReviewContributionConnection! + """The HTTP URL for the repository""" + repositoryUrl: URI - """The repository in which the pull request reviews were made.""" - repository: Repository! -} + """The user affected by the action""" + user: User -"""The review status of a pull request.""" -enum PullRequestReviewDecision { - """Changes have been requested on the pull request.""" - CHANGES_REQUESTED + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """The pull request has received an approving review.""" - APPROVED + """The HTTP path for the user.""" + userResourcePath: URI - """A review is required before the pull request can be merged.""" - REVIEW_REQUIRED + """The HTTP URL for the user.""" + userUrl: URI + + """The visibility of the repository""" + visibility: RepoAddMemberAuditEntryVisibility } -"""An edge in a connection.""" -type PullRequestReviewEdge { - """A cursor for use in pagination.""" - cursor: String! +"""The privacy of a repository""" +enum RepoAddMemberAuditEntryVisibility { + """The repository is visible only to users in the same business.""" + INTERNAL - """The item at the end of the edge.""" - node: PullRequestReview -} + """The repository is visible only to those with explicit access.""" + PRIVATE -"""The possible events to perform on a pull request review.""" -enum PullRequestReviewEvent { - """Submit general feedback without explicit approval.""" - COMMENT + """The repository is visible to everyone.""" + PUBLIC +} - """Submit feedback and approve merging these changes.""" - APPROVE +"""Audit log entry for a repo.add_topic event.""" +type RepoAddTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData & TopicAuditEntryData { + """The action name""" + action: String! - """Submit feedback that must be addressed before merging.""" - REQUEST_CHANGES + """The user who initiated the action""" + actor: AuditEntryActor - """Dismiss review so it now longer effects merging.""" - DISMISS -} + """The IP address of the actor""" + actorIp: String -"""The possible states of a pull request review.""" -enum PullRequestReviewState { - """A review that has not yet been submitted.""" - PENDING + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """An informational review.""" - COMMENTED + """The username of the user who initiated the action""" + actorLogin: String - """A review allowing the pull request to merge.""" - APPROVED + """The HTTP path for the actor.""" + actorResourcePath: URI - """A review blocking the pull request from merging.""" - CHANGES_REQUESTED + """The HTTP URL for the actor.""" + actorUrl: URI - """A review that has been dismissed.""" - DISMISSED -} + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! -"""A threaded list of comments for a given pull request.""" -type PullRequestReviewThread implements Node { - """A list of pull request comments associated with the thread.""" - comments( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The corresponding operation type for the action""" + operationType: OperationType - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The Organization associated with the Audit Entry.""" + organization: Organization - """Returns the first _n_ elements from the list.""" - first: Int + """The name of the Organization.""" + organizationName: String - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP path for the organization""" + organizationResourcePath: URI - """Skips the first _n_ elements in the list.""" - skip: Int - ): PullRequestReviewCommentConnection! + """The HTTP URL for the organization""" + organizationUrl: URI - """The side of the diff on which this thread was placed.""" - diffSide: DiffSide! - id: ID! + """The repository associated with the action""" + repository: Repository - """Whether or not the thread has been collapsed (outdated or resolved)""" - isCollapsed: Boolean! + """The name of the repository""" + repositoryName: String - """Indicates whether this thread was outdated by newer changes.""" - isOutdated: Boolean! + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Whether this thread has been resolved""" - isResolved: Boolean! + """The HTTP URL for the repository""" + repositoryUrl: URI - """The line in the file to which this thread refers""" - line: Int + """The name of the topic added to the repository""" + topic: Topic - """The original line in the file to which this thread refers.""" - originalLine: Int + """The name of the topic added to the repository""" + topicName: String + + """The user affected by the action""" + user: User """ - The original start line in the file to which this thread refers (multi-line only). + For actions involving two users, the actor is the initiator and the user is the affected user. """ - originalStartLine: Int - - """Identifies the file path of this thread.""" - path: String! + userLogin: String - """Identifies the pull request associated with this thread.""" - pullRequest: PullRequest! + """The HTTP path for the user.""" + userResourcePath: URI - """Identifies the repository associated with this thread.""" - repository: Repository! + """The HTTP URL for the user.""" + userUrl: URI +} - """The user who resolved this thread""" - resolvedBy: User +"""Audit log entry for a repo.archived event.""" +type RepoArchivedAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """ - The side of the diff that the first line of the thread starts on (multi-line only) - """ - startDiffSide: DiffSide + """The user who initiated the action""" + actor: AuditEntryActor - """ - The start line in the file to which this thread refers (multi-line only) - """ - startLine: Int + """The IP address of the actor""" + actorIp: String - """Indicates whether the current viewer can reply to this thread.""" - viewerCanReply: Boolean! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Whether or not the viewer can resolve this thread""" - viewerCanResolve: Boolean! + """The username of the user who initiated the action""" + actorLogin: String - """Whether or not the viewer can unresolve this thread""" - viewerCanUnresolve: Boolean! -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""Review comment threads for a pull request review.""" -type PullRequestReviewThreadConnection { - """A list of edges.""" - edges: [PullRequestReviewThreadEdge] + """The HTTP URL for the actor.""" + actorUrl: URI - """A list of nodes.""" - nodes: [PullRequestReviewThread] + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The corresponding operation type for the action""" + operationType: OperationType - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The Organization associated with the Audit Entry.""" + organization: Organization -"""An edge in a connection.""" -type PullRequestReviewThreadEdge { - """A cursor for use in pagination.""" - cursor: String! + """The name of the Organization.""" + organizationName: String - """The item at the end of the edge.""" - node: PullRequestReviewThread -} + """The HTTP path for the organization""" + organizationResourcePath: URI -""" -Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. -""" -type PullRequestRevisionMarker { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The HTTP URL for the organization""" + organizationUrl: URI - """The last commit the viewer has seen.""" - lastSeenCommit: Commit! + """The repository associated with the action""" + repository: Repository - """The pull request to which the marker belongs.""" - pullRequest: PullRequest! -} + """The name of the repository""" + repositoryName: String -"""The possible states of a pull request.""" -enum PullRequestState { - """A pull request that is still open.""" - OPEN + """The HTTP path for the repository""" + repositoryResourcePath: URI - """A pull request that has been closed without being merged.""" - CLOSED + """The HTTP URL for the repository""" + repositoryUrl: URI - """A pull request that has been closed by being merged.""" - MERGED -} + """The user affected by the action""" + user: User -"""The connection type for PullRequestTimelineItem.""" -type PullRequestTimelineConnection { - """A list of edges.""" - edges: [PullRequestTimelineItemEdge] + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """A list of nodes.""" - nodes: [PullRequestTimelineItem] + """The HTTP path for the user.""" + userResourcePath: URI - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The HTTP URL for the user.""" + userUrl: URI - """Identifies the total count of items in the connection.""" - totalCount: Int! + """The visibility of the repository""" + visibility: RepoArchivedAuditEntryVisibility } -"""An item in an pull request timeline""" -union PullRequestTimelineItem = AssignedEvent | BaseRefDeletedEvent | BaseRefForcePushedEvent | ClosedEvent | Commit | CommitCommentThread | CrossReferencedEvent | DemilestonedEvent | DeployedEvent | DeploymentEnvironmentChangedEvent | HeadRefDeletedEvent | HeadRefForcePushedEvent | HeadRefRestoredEvent | IssueComment | LabeledEvent | LockedEvent | MergedEvent | MilestonedEvent | PullRequestReview | PullRequestReviewComment | PullRequestReviewThread | ReferencedEvent | RenamedTitleEvent | ReopenedEvent | ReviewDismissedEvent | ReviewRequestRemovedEvent | ReviewRequestedEvent | SubscribedEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnsubscribedEvent | UserBlockedEvent +"""The privacy of a repository""" +enum RepoArchivedAuditEntryVisibility { + """The repository is visible only to users in the same business.""" + INTERNAL -"""An edge in a connection.""" -type PullRequestTimelineItemEdge { - """A cursor for use in pagination.""" - cursor: String! + """The repository is visible only to those with explicit access.""" + PRIVATE - """The item at the end of the edge.""" - node: PullRequestTimelineItem + """The repository is visible to everyone.""" + PUBLIC } -"""An item in a pull request timeline""" -union PullRequestTimelineItems = AddedToProjectEvent | AssignedEvent | AutomaticBaseChangeFailedEvent | AutomaticBaseChangeSucceededEvent | BaseRefChangedEvent | BaseRefDeletedEvent | BaseRefForcePushedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent | ConvertToDraftEvent | ConvertedNoteToIssueEvent | CrossReferencedEvent | DemilestonedEvent | DeployedEvent | DeploymentEnvironmentChangedEvent | DisconnectedEvent | HeadRefDeletedEvent | HeadRefForcePushedEvent | HeadRefRestoredEvent | IssueComment | LabeledEvent | LockedEvent | MarkedAsDuplicateEvent | MentionedEvent | MergedEvent | MilestonedEvent | MovedColumnsInProjectEvent | PinnedEvent | PullRequestCommit | PullRequestCommitCommentThread | PullRequestReview | PullRequestReviewThread | PullRequestRevisionMarker | ReadyForReviewEvent | ReferencedEvent | RemovedFromProjectEvent | RenamedTitleEvent | ReopenedEvent | ReviewDismissedEvent | ReviewRequestRemovedEvent | ReviewRequestedEvent | SubscribedEvent | TransferredEvent | UnassignedEvent | UnlabeledEvent | UnlockedEvent | UnmarkedAsDuplicateEvent | UnpinnedEvent | UnsubscribedEvent | UserBlockedEvent +"""Audit log entry for a repo.change_merge_setting event.""" +type RepoChangeMergeSettingAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor + + """The IP address of the actor""" + actorIp: String + + """A readable representation of the actor's location""" + actorLocation: ActorLocation + + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI -"""The connection type for PullRequestTimelineItems.""" -type PullRequestTimelineItemsConnection { - """A list of edges.""" - edges: [PullRequestTimelineItemsEdge] + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! """ - Identifies the count of items after applying `before` and `after` filters. + Whether the change was to enable (true) or disable (false) the merge type """ - filteredCount: Int! + isEnabled: Boolean - """A list of nodes.""" - nodes: [PullRequestTimelineItems] + """The merge method affected by the change""" + mergeType: RepoChangeMergeSettingAuditEntryMergeType - """ - Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing. - """ - pageCount: Int! + """The corresponding operation type for the action""" + operationType: OperationType - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The Organization associated with the Audit Entry.""" + organization: Organization - """Identifies the total count of items in the connection.""" - totalCount: Int! + """The name of the Organization.""" + organizationName: String - """Identifies the date and time when the timeline was last updated.""" - updatedAt: DateTime! -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""An edge in a connection.""" -type PullRequestTimelineItemsEdge { - """A cursor for use in pagination.""" - cursor: String! + """The HTTP URL for the organization""" + organizationUrl: URI - """The item at the end of the edge.""" - node: PullRequestTimelineItems -} + """The repository associated with the action""" + repository: Repository -"""The possible item types found in a timeline.""" -enum PullRequestTimelineItemsItemType { - """Represents a Git commit part of a pull request.""" - PULL_REQUEST_COMMIT + """The name of the repository""" + repositoryName: String - """Represents a commit comment thread part of a pull request.""" - PULL_REQUEST_COMMIT_COMMENT_THREAD + """The HTTP path for the repository""" + repositoryResourcePath: URI - """A review object for a given pull request.""" - PULL_REQUEST_REVIEW + """The HTTP URL for the repository""" + repositoryUrl: URI - """A threaded list of comments for a given pull request.""" - PULL_REQUEST_REVIEW_THREAD + """The user affected by the action""" + user: User """ - Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - PULL_REQUEST_REVISION_MARKER + userLogin: String - """ - Represents a 'automatic_base_change_failed' event on a given pull request. - """ - AUTOMATIC_BASE_CHANGE_FAILED_EVENT + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI +} + +"""The merge options available for pull requests to this repository.""" +enum RepoChangeMergeSettingAuditEntryMergeType { + """The pull request is added to the base branch in a merge commit.""" + MERGE """ - Represents a 'automatic_base_change_succeeded' event on a given pull request. + Commits from the pull request are added onto the base branch individually without a merge commit. """ - AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT + REBASE """ - Represents a 'base_ref_changed' event on a given issue or pull request. + The pull request's commits are squashed into a single commit before they are merged to the base branch. """ - BASE_REF_CHANGED_EVENT - - """Represents a 'base_ref_force_pushed' event on a given pull request.""" - BASE_REF_FORCE_PUSHED_EVENT - - """Represents a 'base_ref_deleted' event on a given pull request.""" - BASE_REF_DELETED_EVENT + SQUASH +} - """Represents a 'deployed' event on a given pull request.""" - DEPLOYED_EVENT +"""Audit log entry for a repo.config.disable_anonymous_git_access event.""" +type RepoConfigDisableAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """ - Represents a 'deployment_environment_changed' event on a given pull request. - """ - DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT + """The user who initiated the action""" + actor: AuditEntryActor - """Represents a 'head_ref_deleted' event on a given pull request.""" - HEAD_REF_DELETED_EVENT + """The IP address of the actor""" + actorIp: String - """Represents a 'head_ref_force_pushed' event on a given pull request.""" - HEAD_REF_FORCE_PUSHED_EVENT + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Represents a 'head_ref_restored' event on a given pull request.""" - HEAD_REF_RESTORED_EVENT + """The username of the user who initiated the action""" + actorLogin: String - """Represents a 'merged' event on a given pull request.""" - MERGED_EVENT + """The HTTP path for the actor.""" + actorResourcePath: URI - """ - Represents a 'review_dismissed' event on a given issue or pull request. - """ - REVIEW_DISMISSED_EVENT + """The HTTP URL for the actor.""" + actorUrl: URI - """Represents an 'review_requested' event on a given pull request.""" - REVIEW_REQUESTED_EVENT + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Represents an 'review_request_removed' event on a given pull request.""" - REVIEW_REQUEST_REMOVED_EVENT + """The corresponding operation type for the action""" + operationType: OperationType - """Represents a 'ready_for_review' event on a given pull request.""" - READY_FOR_REVIEW_EVENT + """The Organization associated with the Audit Entry.""" + organization: Organization - """Represents a 'convert_to_draft' event on a given pull request.""" - CONVERT_TO_DRAFT_EVENT + """The name of the Organization.""" + organizationName: String - """Represents a comment on an Issue.""" - ISSUE_COMMENT + """The HTTP path for the organization""" + organizationResourcePath: URI - """Represents a mention made by one issue or pull request to another.""" - CROSS_REFERENCED_EVENT + """The HTTP URL for the organization""" + organizationUrl: URI - """ - Represents a 'added_to_project' event on a given issue or pull request. - """ - ADDED_TO_PROJECT_EVENT + """The repository associated with the action""" + repository: Repository - """Represents an 'assigned' event on any assignable object.""" - ASSIGNED_EVENT + """The name of the repository""" + repositoryName: String - """Represents a 'closed' event on any `Closable`.""" - CLOSED_EVENT + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Represents a 'comment_deleted' event on a given issue or pull request.""" - COMMENT_DELETED_EVENT + """The HTTP URL for the repository""" + repositoryUrl: URI - """Represents a 'connected' event on a given issue or pull request.""" - CONNECTED_EVENT + """The user affected by the action""" + user: User """ - Represents a 'converted_note_to_issue' event on a given issue or pull request. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - CONVERTED_NOTE_TO_ISSUE_EVENT + userLogin: String - """Represents a 'demilestoned' event on a given issue or pull request.""" - DEMILESTONED_EVENT + """The HTTP path for the user.""" + userResourcePath: URI - """Represents a 'disconnected' event on a given issue or pull request.""" - DISCONNECTED_EVENT + """The HTTP URL for the user.""" + userUrl: URI +} - """Represents a 'labeled' event on a given issue or pull request.""" - LABELED_EVENT +"""Audit log entry for a repo.config.disable_collaborators_only event.""" +type RepoConfigDisableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """Represents a 'locked' event on a given issue or pull request.""" - LOCKED_EVENT + """The user who initiated the action""" + actor: AuditEntryActor - """ - Represents a 'marked_as_duplicate' event on a given issue or pull request. - """ - MARKED_AS_DUPLICATE_EVENT + """The IP address of the actor""" + actorIp: String - """Represents a 'mentioned' event on a given issue or pull request.""" - MENTIONED_EVENT + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Represents a 'milestoned' event on a given issue or pull request.""" - MILESTONED_EVENT + """The username of the user who initiated the action""" + actorLogin: String - """ - Represents a 'moved_columns_in_project' event on a given issue or pull request. - """ - MOVED_COLUMNS_IN_PROJECT_EVENT + """The HTTP path for the actor.""" + actorResourcePath: URI - """Represents a 'pinned' event on a given issue or pull request.""" - PINNED_EVENT + """The HTTP URL for the actor.""" + actorUrl: URI - """Represents a 'referenced' event on a given `ReferencedSubject`.""" - REFERENCED_EVENT + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """ - Represents a 'removed_from_project' event on a given issue or pull request. - """ - REMOVED_FROM_PROJECT_EVENT + """The corresponding operation type for the action""" + operationType: OperationType - """Represents a 'renamed' event on a given issue or pull request""" - RENAMED_TITLE_EVENT + """The Organization associated with the Audit Entry.""" + organization: Organization - """Represents a 'reopened' event on any `Closable`.""" - REOPENED_EVENT + """The name of the Organization.""" + organizationName: String - """Represents a 'subscribed' event on a given `Subscribable`.""" - SUBSCRIBED_EVENT + """The HTTP path for the organization""" + organizationResourcePath: URI + + """The HTTP URL for the organization""" + organizationUrl: URI - """Represents a 'transferred' event on a given issue or pull request.""" - TRANSFERRED_EVENT + """The repository associated with the action""" + repository: Repository - """Represents an 'unassigned' event on any assignable object.""" - UNASSIGNED_EVENT + """The name of the repository""" + repositoryName: String - """Represents an 'unlabeled' event on a given issue or pull request.""" - UNLABELED_EVENT + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Represents an 'unlocked' event on a given issue or pull request.""" - UNLOCKED_EVENT + """The HTTP URL for the repository""" + repositoryUrl: URI - """Represents a 'user_blocked' event on a given user.""" - USER_BLOCKED_EVENT + """The user affected by the action""" + user: User """ - Represents an 'unmarked_as_duplicate' event on a given issue or pull request. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - UNMARKED_AS_DUPLICATE_EVENT - - """Represents an 'unpinned' event on a given issue or pull request.""" - UNPINNED_EVENT - - """Represents an 'unsubscribed' event on a given `Subscribable`.""" - UNSUBSCRIBED_EVENT -} + userLogin: String -"""The possible target states when updating a pull request.""" -enum PullRequestUpdateState { - """A pull request that is still open.""" - OPEN + """The HTTP path for the user.""" + userResourcePath: URI - """A pull request that has been closed without being merged.""" - CLOSED + """The HTTP URL for the user.""" + userUrl: URI } -"""A Git push.""" -type Push implements Node { - id: ID! +"""Audit log entry for a repo.config.disable_contributors_only event.""" +type RepoConfigDisableContributorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """The SHA after the push""" - nextSha: GitObjectID + """The user who initiated the action""" + actor: AuditEntryActor - """The permalink for this push.""" - permalink: URI! + """The IP address of the actor""" + actorIp: String - """The SHA before the push""" - previousSha: GitObjectID + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The user who pushed""" - pusher: User! + """The username of the user who initiated the action""" + actorLogin: String - """The repository that was pushed to""" - repository: Repository! -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""A team, user or app who has the ability to push to a protected branch.""" -type PushAllowance implements Node { - """The actor that can push.""" - actor: PushAllowanceActor + """The HTTP URL for the actor.""" + actorUrl: URI - """ - Identifies the branch protection rule associated with the allowed user or team. - """ - branchProtectionRule: BranchProtectionRule + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! -} -"""Types that can be an actor.""" -union PushAllowanceActor = App | Team | User - -"""The connection type for PushAllowance.""" -type PushAllowanceConnection { - """A list of edges.""" - edges: [PushAllowanceEdge] + """The corresponding operation type for the action""" + operationType: OperationType - """A list of nodes.""" - nodes: [PushAllowance] + """The Organization associated with the Audit Entry.""" + organization: Organization - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The name of the Organization.""" + organizationName: String - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""An edge in a connection.""" -type PushAllowanceEdge { - """A cursor for use in pagination.""" - cursor: String! + """The HTTP URL for the organization""" + organizationUrl: URI - """The item at the end of the edge.""" - node: PushAllowance -} + """The repository associated with the action""" + repository: Repository -"""The query root of GitHub's GraphQL interface.""" -type Query { - """Look up a code of conduct by its key""" - codeOfConduct( - """The code of conduct's key""" - key: String! - ): CodeOfConduct + """The name of the repository""" + repositoryName: String - """Look up a code of conduct by its key""" - codesOfConduct: [CodeOfConduct] + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Look up an enterprise by URL slug.""" - enterprise( - """The enterprise URL slug.""" - slug: String! + """The HTTP URL for the repository""" + repositoryUrl: URI - """The enterprise invitation token.""" - invitationToken: String - ): Enterprise + """The user affected by the action""" + user: User """ - Look up a pending enterprise administrator invitation by invitee, enterprise and role. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - enterpriseAdministratorInvitation( - """The login of the user invited to join the business.""" - userLogin: String! + userLogin: String - """The slug of the enterprise the user was invited to join.""" - enterpriseSlug: String! + """The HTTP path for the user.""" + userResourcePath: URI - """The role for the business member invitation.""" - role: EnterpriseAdministratorRole! - ): EnterpriseAdministratorInvitation + """The HTTP URL for the user.""" + userUrl: URI +} - """ - Look up a pending enterprise administrator invitation by invitation token. - """ - enterpriseAdministratorInvitationByToken( - """The invitation token sent with the invitation email.""" - invitationToken: String! - ): EnterpriseAdministratorInvitation +"""Audit log entry for a repo.config.disable_sockpuppet_disallowed event.""" +type RepoConfigDisableSockpuppetDisallowedAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """Look up an open source license by its key""" - license( - """The license's downcased SPDX ID""" - key: String! - ): License + """The user who initiated the action""" + actor: AuditEntryActor - """Return a list of known open source licenses""" - licenses: [License]! + """The IP address of the actor""" + actorIp: String - """Get alphabetically sorted list of Marketplace categories""" - marketplaceCategories( - """Return only the specified categories.""" - includeCategories: [String!] + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Exclude categories with no listings.""" - excludeEmpty: Boolean + """The username of the user who initiated the action""" + actorLogin: String - """Returns top level categories only, excluding any subcategories.""" - excludeSubcategories: Boolean - ): [MarketplaceCategory!]! + """The HTTP path for the actor.""" + actorResourcePath: URI - """Look up a Marketplace category by its slug.""" - marketplaceCategory( - """The URL slug of the category.""" - slug: String! + """The HTTP URL for the actor.""" + actorUrl: URI - """Also check topic aliases for the category slug""" - useTopicAliases: Boolean - ): MarketplaceCategory + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Look up a single Marketplace listing""" - marketplaceListing( - """ - Select the listing that matches this slug. It's the short name of the listing used in its URL. - """ - slug: String! - ): MarketplaceListing + """The corresponding operation type for the action""" + operationType: OperationType - """Look up Marketplace listings""" - marketplaceListings( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The Organization associated with the Audit Entry.""" + organization: Organization - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The name of the Organization.""" + organizationName: String - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP path for the organization""" + organizationResourcePath: URI - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP URL for the organization""" + organizationUrl: URI - """Select only listings with the given category.""" - categorySlug: String + """The repository associated with the action""" + repository: Repository - """Also check topic aliases for the category slug""" - useTopicAliases: Boolean + """The name of the repository""" + repositoryName: String + + """The HTTP path for the repository""" + repositoryResourcePath: URI + + """The HTTP URL for the repository""" + repositoryUrl: URI + + """The user affected by the action""" + user: User + + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI - """ - Select listings to which user has admin access. If omitted, listings visible to the - viewer are returned. - - """ - viewerCanAdmin: Boolean + """The HTTP URL for the user.""" + userUrl: URI +} - """Select listings that can be administered by the specified user.""" - adminId: ID +"""Audit log entry for a repo.config.enable_anonymous_git_access event.""" +type RepoConfigEnableAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """Select listings for products owned by the specified organization.""" - organizationId: ID + """The user who initiated the action""" + actor: AuditEntryActor - """ - Select listings visible to the viewer even if they are not approved. If omitted or - false, only approved listings will be returned. - - """ - allStates: Boolean + """The IP address of the actor""" + actorIp: String - """ - Select the listings with these slugs, if they are visible to the viewer. - """ - slugs: [String] + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """ - Select only listings where the primary category matches the given category slug. - """ - primaryCategoryOnly: Boolean = false + """The username of the user who initiated the action""" + actorLogin: String - """Select only listings that offer a free trial.""" - withFreeTrialsOnly: Boolean = false - ): MarketplaceListingConnection! + """The HTTP path for the actor.""" + actorResourcePath: URI - """Return information about the GitHub instance""" - meta: GitHubMetadata! + """The HTTP URL for the actor.""" + actorUrl: URI - """Fetches an object given its ID.""" - node( - """ID of the object.""" - id: ID! - ): Node + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Lookup nodes by a list of IDs.""" - nodes( - """The list of node IDs.""" - ids: [ID!]! - ): [Node]! + """The corresponding operation type for the action""" + operationType: OperationType - """Lookup a organization by login.""" - organization( - """The organization's login.""" - login: String! - ): Organization + """The Organization associated with the Audit Entry.""" + organization: Organization - """The client's rate limit information.""" - rateLimit( - """If true, calculate the cost for the query without evaluating it""" - dryRun: Boolean = false - ): RateLimit + """The name of the Organization.""" + organizationName: String - """ - Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object - """ - relay: Query! + """The HTTP path for the organization""" + organizationResourcePath: URI - """Lookup a given repository by the owner and repository name.""" - repository( - """The login field of a user or organization""" - owner: String! + """The HTTP URL for the organization""" + organizationUrl: URI - """The name of the repository""" - name: String! - ): Repository + """The repository associated with the action""" + repository: Repository - """ - Lookup a repository owner (ie. either a User or an Organization) by login. - """ - repositoryOwner( - """The username to lookup the owner by.""" - login: String! - ): RepositoryOwner + """The name of the repository""" + repositoryName: String - """Lookup resource by a URL.""" - resource( - """The URL.""" - url: URI! - ): UniformResourceLocatable + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Perform a search across resources.""" - search( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP URL for the repository""" + repositoryUrl: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The user affected by the action""" + user: User - """Returns the first _n_ elements from the list.""" - first: Int + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP path for the user.""" + userResourcePath: URI - """The search string to look for.""" - query: String! + """The HTTP URL for the user.""" + userUrl: URI +} - """The types of search items to search within.""" - type: SearchType! - ): SearchResultItemConnection! +"""Audit log entry for a repo.config.enable_collaborators_only event.""" +type RepoConfigEnableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """GitHub Security Advisories""" - securityAdvisories( - """Ordering options for the returned topics.""" - orderBy: SecurityAdvisoryOrder = {field: UPDATED_AT, direction: DESC} + """The user who initiated the action""" + actor: AuditEntryActor - """Filter advisories by identifier, e.g. GHSA or CVE.""" - identifier: SecurityAdvisoryIdentifierFilter + """The IP address of the actor""" + actorIp: String - """Filter advisories to those published since a time in the past.""" - publishedSince: DateTime + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Filter advisories to those updated since a time in the past.""" - updatedSince: DateTime + """The username of the user who initiated the action""" + actorLogin: String - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP path for the actor.""" + actorResourcePath: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP URL for the actor.""" + actorUrl: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """Returns the last _n_ elements from the list.""" - last: Int - ): SecurityAdvisoryConnection! + """The corresponding operation type for the action""" + operationType: OperationType - """Fetch a Security Advisory by its GHSA ID""" - securityAdvisory( - """GitHub Security Advisory ID.""" - ghsaId: String! - ): SecurityAdvisory + """The Organization associated with the Audit Entry.""" + organization: Organization - """Software Vulnerabilities documented by GitHub Security Advisories""" - securityVulnerabilities( - """Ordering options for the returned topics.""" - orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} + """The name of the Organization.""" + organizationName: String - """An ecosystem to filter vulnerabilities by.""" - ecosystem: SecurityAdvisoryEcosystem + """The HTTP path for the organization""" + organizationResourcePath: URI - """A package name to filter vulnerabilities by.""" - package: String + """The HTTP URL for the organization""" + organizationUrl: URI - """A list of severities to filter vulnerabilities by.""" - severities: [SecurityAdvisorySeverity!] + """The repository associated with the action""" + repository: Repository - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The name of the repository""" + repositoryName: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP URL for the repository""" + repositoryUrl: URI - """Returns the last _n_ elements from the list.""" - last: Int - ): SecurityVulnerabilityConnection! + """The user affected by the action""" + user: User - """Look up a topic by name.""" - topic( - """The topic's name.""" - name: String! - ): Topic + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Lookup a user by login.""" - user( - """The user's login.""" - login: String! - ): User + """The HTTP path for the user.""" + userResourcePath: URI - """The currently authenticated user.""" - viewer: User! + """The HTTP URL for the user.""" + userUrl: URI } -"""Represents the client's rate limit.""" -type RateLimit { - """The point cost for the current query counting against the rate limit.""" - cost: Int! +"""Audit log entry for a repo.config.enable_contributors_only event.""" +type RepoConfigEnableContributorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! + + """The user who initiated the action""" + actor: AuditEntryActor - """ - The maximum number of points the client is permitted to consume in a 60 minute window. - """ - limit: Int! + """The IP address of the actor""" + actorIp: String - """The maximum number of nodes this query may return""" - nodeCount: Int! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The number of points remaining in the current rate limit window.""" - remaining: Int! + """The username of the user who initiated the action""" + actorLogin: String - """ - The time at which the current rate limit window resets in UTC epoch seconds. - """ - resetAt: DateTime! + """The HTTP path for the actor.""" + actorResourcePath: URI - """The number of points used in the current rate limit window.""" - used: Int! -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""Represents a subject that can be reacted on.""" -interface Reactable { - """Identifies the primary key from the database.""" - databaseId: Int + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """A list of reactions grouped by content left on the subject.""" - reactionGroups: [ReactionGroup!] + """The corresponding operation type for the action""" + operationType: OperationType - """A list of Reactions left on the Issue.""" - reactions( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The Organization associated with the Audit Entry.""" + organization: Organization - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The name of the Organization.""" + organizationName: String - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP path for the organization""" + organizationResourcePath: URI - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP URL for the organization""" + organizationUrl: URI - """Allows filtering Reactions by emoji.""" - content: ReactionContent + """The repository associated with the action""" + repository: Repository - """Allows specifying the order in which reactions are returned.""" - orderBy: ReactionOrder - ): ReactionConnection! + """The name of the repository""" + repositoryName: String - """Can user react to this subject""" - viewerCanReact: Boolean! -} + """The HTTP path for the repository""" + repositoryResourcePath: URI -"""The connection type for User.""" -type ReactingUserConnection { - """A list of edges.""" - edges: [ReactingUserEdge] + """The HTTP URL for the repository""" + repositoryUrl: URI - """A list of nodes.""" - nodes: [User] + """The user affected by the action""" + user: User - """Information to aid in pagination.""" - pageInfo: PageInfo! + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """Identifies the total count of items in the connection.""" - totalCount: Int! + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI } -"""Represents a user that's made a reaction.""" -type ReactingUserEdge { - """A cursor for use in pagination.""" - cursor: String! - node: User! +"""Audit log entry for a repo.config.enable_sockpuppet_disallowed event.""" +type RepoConfigEnableSockpuppetDisallowedAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """The moment when the user made the reaction.""" - reactedAt: DateTime! -} + """The user who initiated the action""" + actor: AuditEntryActor -"""An emoji reaction to a particular piece of content.""" -type Reaction implements Node { - """Identifies the emoji reaction.""" - content: ReactionContent! + """The IP address of the actor""" + actorIp: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Identifies the primary key from the database.""" - databaseId: Int + """The username of the user who initiated the action""" + actorLogin: String + + """The HTTP path for the actor.""" + actorResourcePath: URI + + """The HTTP URL for the actor.""" + actorUrl: URI + + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """The reactable piece of content""" - reactable: Reactable! + """The corresponding operation type for the action""" + operationType: OperationType - """Identifies the user who created this reaction.""" - user: User -} + """The Organization associated with the Audit Entry.""" + organization: Organization -"""A list of reactions that have been left on the subject.""" -type ReactionConnection { - """A list of edges.""" - edges: [ReactionEdge] + """The name of the Organization.""" + organizationName: String - """A list of nodes.""" - nodes: [Reaction] + """The HTTP path for the organization""" + organizationResourcePath: URI - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The HTTP URL for the organization""" + organizationUrl: URI - """Identifies the total count of items in the connection.""" - totalCount: Int! + """The repository associated with the action""" + repository: Repository + + """The name of the repository""" + repositoryName: String + + """The HTTP path for the repository""" + repositoryResourcePath: URI + + """The HTTP URL for the repository""" + repositoryUrl: URI + + """The user affected by the action""" + user: User """ - Whether or not the authenticated user has left a reaction on the subject. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - viewerHasReacted: Boolean! + userLogin: String + + """The HTTP path for the user.""" + userResourcePath: URI + + """The HTTP URL for the user.""" + userUrl: URI } -"""Emojis that can be attached to Issues, Pull Requests and Comments.""" -enum ReactionContent { - """Represents the `:+1:` emoji.""" - THUMBS_UP +"""Audit log entry for a repo.config.lock_anonymous_git_access event.""" +type RepoConfigLockAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """Represents the `:-1:` emoji.""" - THUMBS_DOWN + """The user who initiated the action""" + actor: AuditEntryActor - """Represents the `:laugh:` emoji.""" - LAUGH + """The IP address of the actor""" + actorIp: String - """Represents the `:hooray:` emoji.""" - HOORAY + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Represents the `:confused:` emoji.""" - CONFUSED + """The username of the user who initiated the action""" + actorLogin: String - """Represents the `:heart:` emoji.""" - HEART + """The HTTP path for the actor.""" + actorResourcePath: URI - """Represents the `:rocket:` emoji.""" - ROCKET + """The HTTP URL for the actor.""" + actorUrl: URI - """Represents the `:eyes:` emoji.""" - EYES -} + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! -"""An edge in a connection.""" -type ReactionEdge { - """A cursor for use in pagination.""" - cursor: String! + """The corresponding operation type for the action""" + operationType: OperationType - """The item at the end of the edge.""" - node: Reaction -} + """The Organization associated with the Audit Entry.""" + organization: Organization -"""A group of emoji reactions to a particular piece of content.""" -type ReactionGroup { - """Identifies the emoji reaction.""" - content: ReactionContent! + """The name of the Organization.""" + organizationName: String - """Identifies when the reaction was created.""" - createdAt: DateTime + """The HTTP path for the organization""" + organizationResourcePath: URI - """The subject that was reacted to.""" - subject: Reactable! + """The HTTP URL for the organization""" + organizationUrl: URI - """ - Users who have reacted to the reaction subject with the emotion represented by this reaction group - """ - users( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The repository associated with the action""" + repository: Repository - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The name of the repository""" + repositoryName: String + + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The HTTP URL for the repository""" + repositoryUrl: URI - """Returns the last _n_ elements from the list.""" - last: Int - ): ReactingUserConnection! + """The user affected by the action""" + user: User """ - Whether or not the authenticated user has left a reaction on the subject. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - viewerHasReacted: Boolean! -} + userLogin: String -"""Ways in which lists of reactions can be ordered upon return.""" -input ReactionOrder { - """The field in which to order reactions by.""" - field: ReactionOrderField! + """The HTTP path for the user.""" + userResourcePath: URI - """The direction in which to order reactions by the specified field.""" - direction: OrderDirection! + """The HTTP URL for the user.""" + userUrl: URI } -"""A list of fields that reactions can be ordered by.""" -enum ReactionOrderField { - """Allows ordering a list of reactions by when they were created.""" - CREATED_AT -} +"""Audit log entry for a repo.config.unlock_anonymous_git_access event.""" +type RepoConfigUnlockAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! -"""Represents a 'ready_for_review' event on a given pull request.""" -type ReadyForReviewEvent implements Node & UniformResourceLocatable { - """Identifies the actor who performed the event.""" - actor: Actor + """The user who initiated the action""" + actor: AuditEntryActor - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """The IP address of the actor""" + actorIp: String - """PullRequest referenced by event.""" - pullRequest: PullRequest! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """The HTTP path for this ready for review event.""" - resourcePath: URI! + """The username of the user who initiated the action""" + actorLogin: String - """The HTTP URL for this ready for review event.""" - url: URI! -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""Represents a Git reference.""" -type Ref implements Node { - """A list of pull requests with this ref as the head ref.""" - associatedPullRequests( - """A list of states to filter the pull requests by.""" - states: [PullRequestState!] + """The HTTP URL for the actor.""" + actorUrl: URI - """A list of label names to filter the pull requests by.""" - labels: [String!] + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """The head ref name to filter the pull requests by.""" - headRefName: String + """The corresponding operation type for the action""" + operationType: OperationType - """The base ref name to filter the pull requests by.""" - baseRefName: String + """The Organization associated with the Audit Entry.""" + organization: Organization - """Ordering options for pull requests returned from the connection.""" - orderBy: IssueOrder + """The name of the Organization.""" + organizationName: String - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP path for the organization""" + organizationResourcePath: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The HTTP URL for the organization""" + organizationUrl: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The repository associated with the action""" + repository: Repository - """Returns the last _n_ elements from the list.""" - last: Int - ): PullRequestConnection! + """The name of the repository""" + repositoryName: String - """Branch protection rules for this ref""" - branchProtectionRule: BranchProtectionRule - id: ID! + """The HTTP path for the repository""" + repositoryResourcePath: URI - """The ref name.""" - name: String! + """The HTTP URL for the repository""" + repositoryUrl: URI - """The ref's prefix, such as `refs/heads/` or `refs/tags/`.""" - prefix: String! + """The user affected by the action""" + user: User - """Branch protection rules that are viewable by non-admins""" - refUpdateRule: RefUpdateRule + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String - """The repository the ref belongs to.""" - repository: Repository! + """The HTTP path for the user.""" + userResourcePath: URI - """The object the ref points to. Returns null when object does not exist.""" - target: GitObject + """The HTTP URL for the user.""" + userUrl: URI } -"""The connection type for Ref.""" -type RefConnection { - """A list of edges.""" - edges: [RefEdge] +"""Audit log entry for a repo.create event.""" +type RepoCreateAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """A list of nodes.""" - nodes: [Ref] + """The user who initiated the action""" + actor: AuditEntryActor - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The IP address of the actor""" + actorIp: String - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """A readable representation of the actor's location""" + actorLocation: ActorLocation -"""An edge in a connection.""" -type RefEdge { - """A cursor for use in pagination.""" - cursor: String! + """The username of the user who initiated the action""" + actorLogin: String - """The item at the end of the edge.""" - node: Ref -} + """The HTTP path for the actor.""" + actorResourcePath: URI -"""Represents a 'referenced' event on a given `ReferencedSubject`.""" -type ReferencedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The HTTP URL for the actor.""" + actorUrl: URI - """Identifies the commit associated with the 'referenced' event.""" - commit: Commit + """The time the action was initiated""" + createdAt: PreciseDateTime! - """Identifies the repository associated with the 'referenced' event.""" - commitRepository: Repository! + """The name of the parent repository for this forked repository.""" + forkParentName: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The name of the root repository for this network.""" + forkSourceName: String id: ID! - """Reference originated in a different repository.""" - isCrossRepository: Boolean! - - """ - Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference. - """ - isDirectReference: Boolean! - - """Object referenced by event.""" - subject: ReferencedSubject! -} + """The corresponding operation type for the action""" + operationType: OperationType -"""Any referencable object""" -union ReferencedSubject = Issue | PullRequest + """The Organization associated with the Audit Entry.""" + organization: Organization -"""Ways in which lists of git refs can be ordered upon return.""" -input RefOrder { - """The field in which to order refs by.""" - field: RefOrderField! + """The name of the Organization.""" + organizationName: String - """The direction in which to order refs by the specified field.""" - direction: OrderDirection! -} + """The HTTP path for the organization""" + organizationResourcePath: URI -"""Properties by which ref connections can be ordered.""" -enum RefOrderField { - """Order refs by underlying commit date if the ref prefix is refs/tags/""" - TAG_COMMIT_DATE + """The HTTP URL for the organization""" + organizationUrl: URI - """Order refs by their alphanumeric name""" - ALPHABETICAL -} + """The repository associated with the action""" + repository: Repository -"""A ref update rules for a viewer.""" -type RefUpdateRule { - """Can this branch be deleted.""" - allowsDeletions: Boolean! + """The name of the repository""" + repositoryName: String - """Are force pushes allowed on this branch.""" - allowsForcePushes: Boolean! + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Identifies the protection rule pattern.""" - pattern: String! + """The HTTP URL for the repository""" + repositoryUrl: URI - """Number of approving reviews required to update matching branches.""" - requiredApprovingReviewCount: Int + """The user affected by the action""" + user: User """ - List of required status check contexts that must pass for commits to be accepted to matching branches. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - requiredStatusCheckContexts: [String] + userLogin: String - """Are merge commits prohibited from being pushed to this branch.""" - requiresLinearHistory: Boolean! + """The HTTP path for the user.""" + userResourcePath: URI - """Are commits required to be signed.""" - requiresSignatures: Boolean! + """The HTTP URL for the user.""" + userUrl: URI + + """The visibility of the repository""" + visibility: RepoCreateAuditEntryVisibility +} + +"""The privacy of a repository""" +enum RepoCreateAuditEntryVisibility { + """The repository is visible only to users in the same business.""" + INTERNAL + + """The repository is visible only to those with explicit access.""" + PRIVATE - """Can the viewer push to the branch""" - viewerCanPush: Boolean! + """The repository is visible to everyone.""" + PUBLIC } -""" -Autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes -""" -input RegenerateEnterpriseIdentityProviderRecoveryCodesInput { - """The ID of the enterprise on which to set an identity provider.""" - enterpriseId: ID! +"""Audit log entry for a repo.destroy event.""" +type RepoDestroyAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { + """The action name""" + action: String! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The user who initiated the action""" + actor: AuditEntryActor -""" -Autogenerated return type of RegenerateEnterpriseIdentityProviderRecoveryCodes -""" -type RegenerateEnterpriseIdentityProviderRecoveryCodesPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The IP address of the actor""" + actorIp: String - """The identity provider for the enterprise.""" - identityProvider: EnterpriseIdentityProvider -} + """A readable representation of the actor's location""" + actorLocation: ActorLocation -"""A release contains the content for a release.""" -type Release implements Node & UniformResourceLocatable { - """The author of the release""" - author: User + """The username of the user who initiated the action""" + actorLogin: String - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The HTTP path for the actor.""" + actorResourcePath: URI - """The description of the release.""" - description: String + """The HTTP URL for the actor.""" + actorUrl: URI - """The description of this release rendered to HTML.""" - descriptionHTML: HTML + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! - """Whether or not the release is a draft""" - isDraft: Boolean! + """The corresponding operation type for the action""" + operationType: OperationType - """Whether or not the release is a prerelease""" - isPrerelease: Boolean! + """The Organization associated with the Audit Entry.""" + organization: Organization - """The title of the release.""" - name: String + """The name of the Organization.""" + organizationName: String - """Identifies the date and time when the release was created.""" - publishedAt: DateTime + """The HTTP path for the organization""" + organizationResourcePath: URI - """List of releases assets which are dependent on this release.""" - releaseAssets( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The HTTP URL for the organization""" + organizationUrl: URI - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The repository associated with the action""" + repository: Repository - """Returns the first _n_ elements from the list.""" - first: Int + """The name of the repository""" + repositoryName: String - """Returns the last _n_ elements from the list.""" - last: Int + """The HTTP path for the repository""" + repositoryResourcePath: URI - """A list of names to filter the assets by.""" - name: String - ): ReleaseAssetConnection! + """The HTTP URL for the repository""" + repositoryUrl: URI - """The HTTP path for this issue""" - resourcePath: URI! + """The user affected by the action""" + user: User """ - A description of the release, rendered to HTML without any links in it. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - shortDescriptionHTML( - """How many characters to return.""" - limit: Int = 200 - ): HTML - - """The Git tag the release points to""" - tag: Ref + userLogin: String - """The name of the release's Git tag""" - tagName: String! + """The HTTP path for the user.""" + userResourcePath: URI - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The HTTP URL for the user.""" + userUrl: URI - """The HTTP URL for this issue""" - url: URI! + """The visibility of the repository""" + visibility: RepoDestroyAuditEntryVisibility } -"""A release asset contains the content for a release asset.""" -type ReleaseAsset implements Node { - """The asset's content-type""" - contentType: String! +"""The privacy of a repository""" +enum RepoDestroyAuditEntryVisibility { + """The repository is visible only to users in the same business.""" + INTERNAL - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The repository is visible only to those with explicit access.""" + PRIVATE - """The number of times this asset was downloaded""" - downloadCount: Int! + """The repository is visible to everyone.""" + PUBLIC +} - """ - Identifies the URL where you can download the release asset via the browser. - """ - downloadUrl: URI! - id: ID! +"""Audit log entry for a repo.remove_member event.""" +type RepoRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { + """The action name""" + action: String! - """Identifies the title of the release asset.""" - name: String! + """The user who initiated the action""" + actor: AuditEntryActor - """Release that the asset is associated with""" - release: Release + """The IP address of the actor""" + actorIp: String - """The size (in bytes) of the asset""" - size: Int! + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """The username of the user who initiated the action""" + actorLogin: String - """The user that performed the upload""" - uploadedBy: User! + """The HTTP path for the actor.""" + actorResourcePath: URI - """Identifies the URL of the release asset.""" - url: URI! -} + """The HTTP URL for the actor.""" + actorUrl: URI -"""The connection type for ReleaseAsset.""" -type ReleaseAssetConnection { - """A list of edges.""" - edges: [ReleaseAssetEdge] + """The time the action was initiated""" + createdAt: PreciseDateTime! + id: ID! - """A list of nodes.""" - nodes: [ReleaseAsset] + """The corresponding operation type for the action""" + operationType: OperationType - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The Organization associated with the Audit Entry.""" + organization: Organization - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The name of the Organization.""" + organizationName: String -"""An edge in a connection.""" -type ReleaseAssetEdge { - """A cursor for use in pagination.""" - cursor: String! + """The HTTP path for the organization""" + organizationResourcePath: URI - """The item at the end of the edge.""" - node: ReleaseAsset -} + """The HTTP URL for the organization""" + organizationUrl: URI -"""The connection type for Release.""" -type ReleaseConnection { - """A list of edges.""" - edges: [ReleaseEdge] + """The repository associated with the action""" + repository: Repository - """A list of nodes.""" - nodes: [Release] + """The name of the repository""" + repositoryName: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """The HTTP path for the repository""" + repositoryResourcePath: URI - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """The HTTP URL for the repository""" + repositoryUrl: URI -"""An edge in a connection.""" -type ReleaseEdge { - """A cursor for use in pagination.""" - cursor: String! + """The user affected by the action""" + user: User - """The item at the end of the edge.""" - node: Release -} + """ + For actions involving two users, the actor is the initiator and the user is the affected user. + """ + userLogin: String -"""Ways in which lists of releases can be ordered upon return.""" -input ReleaseOrder { - """The field in which to order releases by.""" - field: ReleaseOrderField! + """The HTTP path for the user.""" + userResourcePath: URI - """The direction in which to order releases by the specified field.""" - direction: OrderDirection! + """The HTTP URL for the user.""" + userUrl: URI + + """The visibility of the repository""" + visibility: RepoRemoveMemberAuditEntryVisibility } -"""Properties by which release connections can be ordered.""" -enum ReleaseOrderField { - """Order releases by creation time""" - CREATED_AT +"""The privacy of a repository""" +enum RepoRemoveMemberAuditEntryVisibility { + """The repository is visible only to users in the same business.""" + INTERNAL + + """The repository is visible only to those with explicit access.""" + PRIVATE - """Order releases alphabetically by name""" - NAME + """The repository is visible to everyone.""" + PUBLIC } -"""Autogenerated input type of RemoveAssigneesFromAssignable""" -input RemoveAssigneesFromAssignableInput { - """The id of the assignable object to remove assignees from.""" - assignableId: ID! +"""Audit log entry for a repo.remove_topic event.""" +type RepoRemoveTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData & TopicAuditEntryData { + """The action name""" + action: String! - """The id of users to remove as assignees.""" - assigneeIds: [ID!]! + """The user who initiated the action""" + actor: AuditEntryActor - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The IP address of the actor""" + actorIp: String -"""Autogenerated return type of RemoveAssigneesFromAssignable""" -type RemoveAssigneesFromAssignablePayload { - """The item that was unassigned.""" - assignable: Assignable + """A readable representation of the actor's location""" + actorLocation: ActorLocation - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The username of the user who initiated the action""" + actorLogin: String -""" -Represents a 'removed_from_project' event on a given issue or pull request. -""" -type RemovedFromProjectEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """The HTTP path for the actor.""" + actorResourcePath: URI - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """The HTTP URL for the actor.""" + actorUrl: URI - """Identifies the primary key from the database.""" - databaseId: Int + """The time the action was initiated""" + createdAt: PreciseDateTime! id: ID! -} -"""Autogenerated input type of RemoveEnterpriseAdmin""" -input RemoveEnterpriseAdminInput { - """The Enterprise ID from which to remove the administrator.""" - enterpriseId: ID! + """The corresponding operation type for the action""" + operationType: OperationType - """The login of the user to remove as an administrator.""" - login: String! + """The Organization associated with the Audit Entry.""" + organization: Organization - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The name of the Organization.""" + organizationName: String -"""Autogenerated return type of RemoveEnterpriseAdmin""" -type RemoveEnterpriseAdminPayload { - """The user who was removed as an administrator.""" - admin: User + """The HTTP path for the organization""" + organizationResourcePath: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL for the organization""" + organizationUrl: URI - """The updated enterprise.""" - enterprise: Enterprise + """The repository associated with the action""" + repository: Repository - """A message confirming the result of removing an administrator.""" - message: String + """The name of the repository""" + repositoryName: String - """The viewer performing the mutation.""" - viewer: User -} + """The HTTP path for the repository""" + repositoryResourcePath: URI -"""Autogenerated input type of RemoveEnterpriseIdentityProvider""" -input RemoveEnterpriseIdentityProviderInput { - """The ID of the enterprise from which to remove the identity provider.""" - enterpriseId: ID! + """The HTTP URL for the repository""" + repositoryUrl: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """The name of the topic added to the repository""" + topic: Topic -"""Autogenerated return type of RemoveEnterpriseIdentityProvider""" -type RemoveEnterpriseIdentityProviderPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The name of the topic added to the repository""" + topicName: String - """The identity provider that was removed from the enterprise.""" - identityProvider: EnterpriseIdentityProvider -} + """The user affected by the action""" + user: User -"""Autogenerated input type of RemoveEnterpriseOrganization""" -input RemoveEnterpriseOrganizationInput { """ - The ID of the enterprise from which the organization should be removed. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - enterpriseId: ID! + userLogin: String - """The ID of the organization to remove from the enterprise.""" - organizationId: ID! + """The HTTP path for the user.""" + userResourcePath: URI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The HTTP URL for the user.""" + userUrl: URI } -"""Autogenerated return type of RemoveEnterpriseOrganization""" -type RemoveEnterpriseOrganizationPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String +"""The reasons a piece of content can be reported or minimized.""" +enum ReportedContentClassifiers { + """A spammy piece of content""" + SPAM - """The updated enterprise.""" - enterprise: Enterprise + """An abusive or harassing piece of content""" + ABUSE - """The organization that was removed from the enterprise.""" - organization: Organization + """An irrelevant piece of content""" + OFF_TOPIC - """The viewer performing the mutation.""" - viewer: User + """An outdated piece of content""" + OUTDATED + + """A duplicated piece of content""" + DUPLICATE + + """The content has been resolved""" + RESOLVED } -"""Autogenerated input type of RemoveLabelsFromLabelable""" -input RemoveLabelsFromLabelableInput { - """The id of the Labelable to remove labels from.""" - labelableId: ID! +"""A repository contains the content for a project.""" +type Repository implements Node & ProjectV2Recent & ProjectOwner & PackageOwner & Subscribable & Starrable & UniformResourceLocatable & RepositoryInfo { + """ + Whether or not a pull request head branch that is behind its base branch can + always be updated even if it is not required to be up to date before merging. + """ + allowUpdateBranch: Boolean! - """The ids of labels to remove.""" - labelIds: [ID!]! + """Identifies the date and time when the repository was archived.""" + archivedAt: DateTime - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """A list of users that can be assigned to issues in this repository.""" + assignableUsers( + """Filters users with query on user name and login""" + query: String -"""Autogenerated return type of RemoveLabelsFromLabelable""" -type RemoveLabelsFromLabelablePayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The Labelable the labels were removed from.""" - labelable: Labelable -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Autogenerated input type of RemoveOutsideCollaborator""" -input RemoveOutsideCollaboratorInput { - """The ID of the outside collaborator to remove.""" - userId: ID! + """Returns the first _n_ elements from the list.""" + first: Int - """The ID of the organization to remove the outside collaborator from.""" - organizationId: ID! + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """ + Whether or not Auto-merge can be enabled on pull requests in this repository. + """ + autoMergeAllowed: Boolean! -"""Autogenerated return type of RemoveOutsideCollaborator""" -type RemoveOutsideCollaboratorPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """A list of branch protection rules for this repository.""" + branchProtectionRules( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user that was removed as an outside collaborator.""" - removedUser: User -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Autogenerated input type of RemoveReaction""" -input RemoveReactionInput { - """The Node ID of the subject to modify.""" - subjectId: ID! + """Returns the first _n_ elements from the list.""" + first: Int - """The name of the emoji reaction to remove.""" - content: ReactionContent! + """Returns the last _n_ elements from the list.""" + last: Int + ): BranchProtectionRuleConnection! - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Returns the code of conduct for this repository""" + codeOfConduct: CodeOfConduct -"""Autogenerated return type of RemoveReaction""" -type RemoveReactionPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Information extracted from the repository's `CODEOWNERS` file.""" + codeowners( + """The ref name used to return the associated `CODEOWNERS` file.""" + refName: String + ): RepositoryCodeowners - """The reaction object.""" - reaction: Reaction + """A list of collaborators associated with the repository.""" + collaborators( + """Collaborators affiliation level with a repository.""" + affiliation: CollaboratorAffiliation - """The reactable subject.""" - subject: Reactable -} + """The login of one specific collaborator.""" + login: String + + """Filters users with query on user name and login""" + query: String + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): RepositoryCollaboratorConnection -"""Autogenerated input type of RemoveStar""" -input RemoveStarInput { - """The Starrable ID to unstar.""" - starrableId: ID! + """A list of commit comments associated with the repository.""" + commitComments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Autogenerated return type of RemoveStar""" -type RemoveStarPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Returns the first _n_ elements from the list.""" + first: Int - """The starrable.""" - starrable: Starrable -} + """Returns the last _n_ elements from the list.""" + last: Int + ): CommitCommentConnection! -"""Represents a 'renamed' event on a given issue or pull request""" -type RenamedTitleEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """Returns a list of contact links associated to the repository""" + contactLinks: [RepositoryContactLink!] """Identifies the date and time when the object was created.""" createdAt: DateTime! - """Identifies the current title of the issue or pull request.""" - currentTitle: String! - id: ID! + """Identifies the primary key from the database.""" + databaseId: Int - """Identifies the previous title of the issue or pull request.""" - previousTitle: String! + """The Ref associated with the repository's default branch.""" + defaultBranchRef: Ref - """Subject that was renamed.""" - subject: RenamedTitleSubject! -} + """ + Whether or not branches are automatically deleted when merged in this repository. + """ + deleteBranchOnMerge: Boolean! -"""An object which has a renamable title""" -union RenamedTitleSubject = Issue | PullRequest + """A list of deploy keys that are on this repository.""" + deployKeys( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""Represents a 'reopened' event on any `Closable`.""" -type ReopenedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Object that was reopened.""" - closable: Closable! + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! -} + """Returns the last _n_ elements from the list.""" + last: Int + ): DeployKeyConnection! -"""Autogenerated input type of ReopenIssue""" -input ReopenIssueInput { - """ID of the issue to be opened.""" - issueId: ID! + """Deployments associated with the repository""" + deployments( + """Environments to list deployments for""" + environments: [String!] - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Ordering options for deployments returned from the connection.""" + orderBy: DeploymentOrder = {field: CREATED_AT, direction: ASC} -"""Autogenerated return type of ReopenIssue""" -type ReopenIssuePayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The issue that was opened.""" - issue: Issue -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Autogenerated input type of ReopenPullRequest""" -input ReopenPullRequestInput { - """ID of the pull request to be reopened.""" - pullRequestId: ID! + """Returns the first _n_ elements from the list.""" + first: Int - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Returns the last _n_ elements from the list.""" + last: Int + ): DeploymentConnection! -"""Autogenerated return type of ReopenPullRequest""" -type ReopenPullRequestPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """The description of the repository.""" + description: String - """The pull request that was reopened.""" - pullRequest: PullRequest -} + """The description of the repository rendered to HTML.""" + descriptionHTML: HTML! -"""Audit log entry for a repo.access event.""" -type RepoAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Returns a single discussion from the current repository by number.""" + discussion( + """The number for the discussion to be returned.""" + number: Int! + ): Discussion - """The user who initiated the action""" - actor: AuditEntryActor + """A list of discussion categories that are available in the repository.""" + discussionCategories( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The IP address of the actor""" - actorIp: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the first _n_ elements from the list.""" + first: Int - """The username of the user who initiated the action""" - actorLogin: String + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP path for the actor.""" - actorResourcePath: URI + """Filter by categories that are assignable by the viewer.""" + filterByAssignable: Boolean = false + ): DiscussionCategoryConnection! - """The HTTP URL for the actor.""" - actorUrl: URI + """A discussion category by slug.""" + discussionCategory( + """The slug of the discussion category to be returned.""" + slug: String! + ): DiscussionCategory - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """A list of discussions that have been opened in the repository.""" + discussions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The corresponding operation type for the action""" - operationType: OperationType + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns the first _n_ elements from the list.""" + first: Int - """The name of the Organization.""" - organizationName: String + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP path for the organization""" - organizationResourcePath: URI + """Only include discussions that belong to the category with this ID.""" + categoryId: ID = null - """The HTTP URL for the organization""" - organizationUrl: URI + """A list of states to filter the discussions by.""" + states: [DiscussionState!] = [] - """The repository associated with the action""" - repository: Repository + """Ordering options for discussions returned from the connection.""" + orderBy: DiscussionOrder = {field: UPDATED_AT, direction: DESC} + ): DiscussionConnection! - """The name of the repository""" - repositoryName: String + """The number of kilobytes this repository occupies on disk.""" + diskUsage: Int - """The HTTP path for the repository""" - repositoryResourcePath: URI + """ + Returns a single active environment from the current repository by name. + """ + environment( + """The name of the environment to be returned.""" + name: String! + ): Environment - """The HTTP URL for the repository""" - repositoryUrl: URI + """A list of environments that are in this repository.""" + environments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user affected by the action""" - user: User + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): EnvironmentConnection! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Returns how many forks there are of this repository in the whole network. """ - userLogin: String + forkCount: Int! - """The HTTP path for the user.""" - userResourcePath: URI + """Whether this repository allows forks.""" + forkingAllowed: Boolean! - """The HTTP URL for the user.""" - userUrl: URI + """A list of direct forked repositories.""" + forks( + """If non-null, filters repositories according to privacy""" + privacy: RepositoryPrivacy - """The visibility of the repository""" - visibility: RepoAccessAuditEntryVisibility -} + """Ordering options for repositories returned from the connection""" + orderBy: RepositoryOrder -"""The privacy of a repository""" -enum RepoAccessAuditEntryVisibility { - """The repository is visible only to users in the same business.""" - INTERNAL + """ + Array of viewer's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + current viewer owns. + """ + affiliations: [RepositoryAffiliation] + + """ + Array of owner's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + organization or user being viewed owns. + """ + ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] + + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): RepositoryConnection! - """The repository is visible only to those with explicit access.""" - PRIVATE + """The funding links for this repository""" + fundingLinks: [FundingLink!]! - """The repository is visible to everyone.""" - PUBLIC -} + """Indicates if the repository has the Discussions feature enabled.""" + hasDiscussionsEnabled: Boolean! -"""Audit log entry for a repo.add_member event.""" -type RepoAddMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Indicates if the repository has issues feature enabled.""" + hasIssuesEnabled: Boolean! - """The user who initiated the action""" - actor: AuditEntryActor + """Indicates if the repository has the Projects feature enabled.""" + hasProjectsEnabled: Boolean! - """The IP address of the actor""" - actorIp: String + """Whether vulnerability alerts are enabled for the repository.""" + hasVulnerabilityAlertsEnabled: Boolean! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Indicates if the repository has wiki feature enabled.""" + hasWikiEnabled: Boolean! - """The username of the user who initiated the action""" - actorLogin: String + """The repository's URL.""" + homepageUrl: URI + id: ID! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The interaction ability settings for this repository.""" + interactionAbility: RepositoryInteractionAbility - """The HTTP URL for the actor.""" - actorUrl: URI + """Indicates if the repository is unmaintained.""" + isArchived: Boolean! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Returns true if blank issue creation is allowed""" + isBlankIssuesEnabled: Boolean! - """The corresponding operation type for the action""" - operationType: OperationType + """Returns whether or not this repository disabled.""" + isDisabled: Boolean! - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns whether or not this repository is empty.""" + isEmpty: Boolean! - """The name of the Organization.""" - organizationName: String + """Identifies if the repository is a fork.""" + isFork: Boolean! - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. + """ + isInOrganization: Boolean! - """The HTTP URL for the organization""" - organizationUrl: URI + """Indicates if the repository has been locked or not.""" + isLocked: Boolean! - """The repository associated with the action""" - repository: Repository + """Identifies if the repository is a mirror.""" + isMirror: Boolean! - """The name of the repository""" - repositoryName: String + """Identifies if the repository is private or internal.""" + isPrivate: Boolean! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Returns true if this repository has a security policy""" + isSecurityPolicyEnabled: Boolean - """The HTTP URL for the repository""" - repositoryUrl: URI + """ + Identifies if the repository is a template that can be used to generate new repositories. + """ + isTemplate: Boolean! - """The user affected by the action""" - user: User + """Is this repository a user configuration repository?""" + isUserConfigurationRepository: Boolean! + + """Returns a single issue from the current repository by number.""" + issue( + """The number for the issue to be returned.""" + number: Int! + ): Issue """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Returns a single issue-like object from the current repository by number. """ - userLogin: String + issueOrPullRequest( + """The number for the issue to be returned.""" + number: Int! + ): IssueOrPullRequest - """The HTTP path for the user.""" - userResourcePath: URI + """Returns a list of issue templates associated to the repository""" + issueTemplates: [IssueTemplate!] - """The HTTP URL for the user.""" - userUrl: URI + """A list of issues that have been opened in the repository.""" + issues( + """Ordering options for issues returned from the connection.""" + orderBy: IssueOrder - """The visibility of the repository""" - visibility: RepoAddMemberAuditEntryVisibility -} + """A list of label names to filter the pull requests by.""" + labels: [String!] -"""The privacy of a repository""" -enum RepoAddMemberAuditEntryVisibility { - """The repository is visible only to users in the same business.""" - INTERNAL + """A list of states to filter the issues by.""" + states: [IssueState!] - """The repository is visible only to those with explicit access.""" - PRIVATE + """Filtering options for issues returned from the connection.""" + filterBy: IssueFilters - """The repository is visible to everyone.""" - PUBLIC -} + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""Audit log entry for a repo.add_topic event.""" -type RepoAddTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData & TopicAuditEntryData { - """The action name""" - action: String! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the first _n_ elements from the list.""" + first: Int - """The IP address of the actor""" - actorIp: String + """Returns the last _n_ elements from the list.""" + last: Int + ): IssueConnection! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns a single label by name""" + label( + """Label name""" + name: String! + ): Label - """The username of the user who initiated the action""" - actorLogin: String + """A list of labels associated with the repository.""" + labels( + """Ordering options for labels returned from the connection.""" + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the actor.""" - actorUrl: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Returns the first _n_ elements from the list.""" + first: Int - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the last _n_ elements from the list.""" + last: Int - """The Organization associated with the Audit Entry.""" - organization: Organization + """If provided, searches labels by name and description.""" + query: String + ): LabelConnection - """The name of the Organization.""" - organizationName: String + """ + A list containing a breakdown of the language composition of the repository. + """ + languages( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The repository associated with the action""" - repository: Repository + """Returns the last _n_ elements from the list.""" + last: Int - """The name of the repository""" - repositoryName: String + """Order for connection""" + orderBy: LanguageOrder + ): LanguageConnection - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Get the latest release for the repository if one exists.""" + latestRelease: Release - """The HTTP URL for the repository""" - repositoryUrl: URI + """The license associated with the repository""" + licenseInfo: License - """The name of the topic added to the repository""" - topic: Topic + """The reason the repository has been locked.""" + lockReason: RepositoryLockReason - """The name of the topic added to the repository""" - topicName: String + """ + A list of Users that can be mentioned in the context of the repository. + """ + mentionableUsers( + """Filters users with query on user name and login""" + query: String - """The user affected by the action""" - user: User + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! + + """Whether or not PRs are merged with a merge commit on this repository.""" + mergeCommitAllowed: Boolean! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + How the default commit message will be generated when merging a pull request. """ - userLogin: String + mergeCommitMessage: MergeCommitMessage! - """The HTTP path for the user.""" - userResourcePath: URI + """ + How the default commit title will be generated when merging a pull request. + """ + mergeCommitTitle: MergeCommitTitle! + + """ + The merge queue for a specified branch, otherwise the default branch if not provided. + """ + mergeQueue( + """The name of the branch to get the merge queue for. Case sensitive.""" + branch: String + ): MergeQueue - """The HTTP URL for the user.""" - userUrl: URI -} + """Returns a single milestone from the current repository by number.""" + milestone( + """The number for the milestone to be returned.""" + number: Int! + ): Milestone -"""Audit log entry for a repo.archived event.""" -type RepoArchivedAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! + """A list of milestones associated with the repository.""" + milestones( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user who initiated the action""" - actor: AuditEntryActor + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The IP address of the actor""" - actorIp: String + """Returns the first _n_ elements from the list.""" + first: Int - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the last _n_ elements from the list.""" + last: Int - """The username of the user who initiated the action""" - actorLogin: String + """Filter by the state of the milestones.""" + states: [MilestoneState!] - """The HTTP path for the actor.""" - actorResourcePath: URI + """Ordering options for milestones.""" + orderBy: MilestoneOrder - """The HTTP URL for the actor.""" - actorUrl: URI + """Filters milestones with a query on the title""" + query: String + ): MilestoneConnection - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """The repository's original mirror URL.""" + mirrorUrl: URI - """The corresponding operation type for the action""" - operationType: OperationType + """The name of the repository.""" + name: String! - """The Organization associated with the Audit Entry.""" - organization: Organization + """The repository's name with owner.""" + nameWithOwner: String! - """The name of the Organization.""" - organizationName: String + """A Git object in the repository""" + object( + """The Git object ID""" + oid: GitObjectID - """The HTTP path for the organization""" - organizationResourcePath: URI + """A Git revision expression suitable for rev-parse""" + expression: String + ): GitObject - """The HTTP URL for the organization""" - organizationUrl: URI + """The image used to represent this repository in Open Graph data.""" + openGraphImageUrl: URI! - """The repository associated with the action""" - repository: Repository + """The User owner of the repository.""" + owner: RepositoryOwner! - """The name of the repository""" - repositoryName: String + """A list of packages under the owner.""" + packages( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the repository""" - repositoryResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the repository""" - repositoryUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The user affected by the action""" - user: User + """Returns the last _n_ elements from the list.""" + last: Int - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Find packages by their names.""" + names: [String] - """The HTTP path for the user.""" - userResourcePath: URI + """Find packages in a repository by ID.""" + repositoryId: ID - """The HTTP URL for the user.""" - userUrl: URI + """Filter registry package by type.""" + packageType: PackageType - """The visibility of the repository""" - visibility: RepoArchivedAuditEntryVisibility -} + """Ordering of the returned packages.""" + orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} + ): PackageConnection! -"""The privacy of a repository""" -enum RepoArchivedAuditEntryVisibility { - """The repository is visible only to users in the same business.""" - INTERNAL + """The repository parent, if this is a fork.""" + parent: Repository - """The repository is visible only to those with explicit access.""" - PRIVATE + """A list of discussions that have been pinned in this repository.""" + pinnedDiscussions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The repository is visible to everyone.""" - PUBLIC -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Audit log entry for a repo.change_merge_setting event.""" -type RepoChangeMergeSettingAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! + """Returns the first _n_ elements from the list.""" + first: Int - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the last _n_ elements from the list.""" + last: Int + ): PinnedDiscussionConnection! - """The IP address of the actor""" - actorIp: String + """A list of pinned issues for this repository.""" + pinnedIssues( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The username of the user who initiated the action""" - actorLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): PinnedIssueConnection - """The HTTP URL for the actor.""" - actorUrl: URI + """The primary language of the repository's code.""" + primaryLanguage: Language - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Find project by number.""" + project( + """The project number to find.""" + number: Int! + ): Project """ - Whether the change was to enable (true) or disable (false) the merge type + Finds and returns the Project according to the provided Project number. """ - isEnabled: Boolean + projectV2( + """The Project number.""" + number: Int! + ): ProjectV2 - """The merge method affected by the change""" - mergeType: RepoChangeMergeSettingAuditEntryMergeType + """A list of projects under the owner.""" + projects( + """Ordering options for projects returned from the connection""" + orderBy: ProjectOrder - """The corresponding operation type for the action""" - operationType: OperationType + """Query to search projects by, currently only searching by name.""" + search: String - """The Organization associated with the Audit Entry.""" - organization: Organization + """A list of states to filter the projects by.""" + states: [ProjectState!] - """The name of the Organization.""" - organizationName: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The repository associated with the action""" - repository: Repository + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectConnection! - """The name of the repository""" - repositoryName: String + """The HTTP path listing the repository's projects""" + projectsResourcePath: URI! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """The HTTP URL listing the repository's projects""" + projectsUrl: URI! - """The HTTP URL for the repository""" - repositoryUrl: URI + """List of projects linked to this repository.""" + projectsV2( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user affected by the action""" - user: User + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the user.""" - userResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP URL for the user.""" - userUrl: URI -} + """A project to search for linked to the repo.""" + query: String -"""The merge options available for pull requests to this repository.""" -enum RepoChangeMergeSettingAuditEntryMergeType { - """The pull request is added to the base branch in a merge commit.""" - MERGE + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + ): ProjectV2Connection! - """ - Commits from the pull request are added onto the base branch individually without a merge commit. - """ - REBASE + """Returns a single pull request from the current repository by number.""" + pullRequest( + """The number for the pull request to be returned.""" + number: Int! + ): PullRequest + + """Returns a list of pull request templates associated to the repository""" + pullRequestTemplates: [PullRequestTemplate!] + + """A list of pull requests that have been opened in the repository.""" + pullRequests( + """A list of states to filter the pull requests by.""" + states: [PullRequestState!] - """ - The pull request's commits are squashed into a single commit before they are merged to the base branch. - """ - SQUASH -} + """A list of label names to filter the pull requests by.""" + labels: [String!] -"""Audit log entry for a repo.config.disable_anonymous_git_access event.""" -type RepoConfigDisableAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """The head ref name to filter the pull requests by.""" + headRefName: String - """The user who initiated the action""" - actor: AuditEntryActor + """The base ref name to filter the pull requests by.""" + baseRefName: String - """The IP address of the actor""" - actorIp: String + """Ordering options for pull requests returned from the connection.""" + orderBy: IssueOrder - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The username of the user who initiated the action""" - actorLogin: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the actor.""" - actorUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): PullRequestConnection! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Identifies the date and time when the repository was last pushed to.""" + pushedAt: DateTime - """The corresponding operation type for the action""" - operationType: OperationType + """Whether or not rebase-merging is enabled on this repository.""" + rebaseMergeAllowed: Boolean! - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + Recent projects that this user has modified in the context of the owner. + """ + recentProjects( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The name of the Organization.""" - organizationName: String + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! - """The repository associated with the action""" - repository: Repository + """Fetch a given ref from the repository""" + ref( + """ + The ref to retrieve. Fully qualified matches are checked in order + (`refs/heads/master`) before falling back onto checks for short name matches (`master`). + """ + qualifiedName: String! + ): Ref - """The name of the repository""" - repositoryName: String + """Fetch a list of refs from the repository""" + refs( + """Filters refs with query on name""" + query: String - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the repository""" - repositoryUrl: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The user affected by the action""" - user: User + """Returns the first _n_ elements from the list.""" + first: Int - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP path for the user.""" - userResourcePath: URI + """A ref name prefix like `refs/heads/`, `refs/tags/`, etc.""" + refPrefix: String! - """The HTTP URL for the user.""" - userUrl: URI -} + """DEPRECATED: use orderBy. The ordering direction.""" + direction: OrderDirection -"""Audit log entry for a repo.config.disable_collaborators_only event.""" -type RepoConfigDisableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Ordering options for refs returned from the connection.""" + orderBy: RefOrder + ): RefConnection - """The user who initiated the action""" - actor: AuditEntryActor + """Lookup a single release given various criteria.""" + release( + """The name of the Tag the Release was created from""" + tagName: String! + ): Release - """The IP address of the actor""" - actorIp: String + """List of releases which are dependent on this repository.""" + releases( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The username of the user who initiated the action""" - actorLogin: String + """Returns the first _n_ elements from the list.""" + first: Int - """The HTTP path for the actor.""" - actorResourcePath: URI + """Returns the last _n_ elements from the list.""" + last: Int - """The HTTP URL for the actor.""" - actorUrl: URI + """Order for connection""" + orderBy: ReleaseOrder + ): ReleaseConnection! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """A list of applied repository-topic associations for this repository.""" + repositoryTopics( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The corresponding operation type for the action""" - operationType: OperationType + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns the first _n_ elements from the list.""" + first: Int - """The name of the Organization.""" - organizationName: String + """Returns the last _n_ elements from the list.""" + last: Int + ): RepositoryTopicConnection! - """The HTTP path for the organization""" - organizationResourcePath: URI + """The HTTP path for this repository""" + resourcePath: URI! - """The HTTP URL for the organization""" - organizationUrl: URI + """The security policy URL.""" + securityPolicyUrl: URI - """The repository associated with the action""" - repository: Repository + """ + A description of the repository, rendered to HTML without any links in it. + """ + shortDescriptionHTML( + """How many characters to return.""" + limit: Int = 200 + ): HTML! - """The name of the repository""" - repositoryName: String + """Whether or not squash-merging is enabled on this repository.""" + squashMergeAllowed: Boolean! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """ + How the default commit message will be generated when squash merging a pull request. + """ + squashMergeCommitMessage: SquashMergeCommitMessage! - """The HTTP URL for the repository""" - repositoryUrl: URI + """ + How the default commit title will be generated when squash merging a pull request. + """ + squashMergeCommitTitle: SquashMergeCommitTitle! - """The user affected by the action""" - user: User + """The SSH URL to clone this repository""" + sshUrl: GitSSHRemote! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Returns a count of how many stargazers there are on this object + """ - userLogin: String + stargazerCount: Int! - """The HTTP path for the user.""" - userResourcePath: URI + """A list of users who have starred this starrable.""" + stargazers( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the user.""" - userUrl: URI -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Audit log entry for a repo.config.disable_contributors_only event.""" -type RepoConfigDisableContributorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Returns the first _n_ elements from the list.""" + first: Int - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the last _n_ elements from the list.""" + last: Int - """The IP address of the actor""" - actorIp: String + """Order for connection""" + orderBy: StarOrder + ): StargazerConnection! + + """ + Returns a list of all submodules in this repository parsed from the + .gitmodules file as of the default branch's HEAD commit. + """ + submodules( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the first _n_ elements from the list.""" + first: Int - """The username of the user who initiated the action""" - actorLogin: String + """Returns the last _n_ elements from the list.""" + last: Int + ): SubmoduleConnection! - """The HTTP path for the actor.""" - actorResourcePath: URI + """Temporary authentication token for cloning this repository.""" + tempCloneToken: String - """The HTTP URL for the actor.""" - actorUrl: URI + """The repository from which this repository was generated, if any.""" + templateRepository: Repository - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The corresponding operation type for the action""" - operationType: OperationType + """The HTTP URL for this repository""" + url: URI! - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. + """ + usesCustomOpenGraphImage: Boolean! - """The name of the Organization.""" - organizationName: String + """Indicates whether the viewer has admin permissions on this repository.""" + viewerCanAdminister: Boolean! - """The HTTP path for the organization""" - organizationResourcePath: URI + """Can the current viewer create new projects on this owner.""" + viewerCanCreateProjects: Boolean! - """The HTTP URL for the organization""" - organizationUrl: URI + """ + Check if the viewer is able to change their subscription status for the repository. + """ + viewerCanSubscribe: Boolean! - """The repository associated with the action""" - repository: Repository + """Indicates whether the viewer can update the topics of this repository.""" + viewerCanUpdateTopics: Boolean! - """The name of the repository""" - repositoryName: String + """The last commit email for the viewer.""" + viewerDefaultCommitEmail: String - """The HTTP path for the repository""" - repositoryResourcePath: URI + """ + The last used merge method by the viewer or the default for the repository. + """ + viewerDefaultMergeMethod: PullRequestMergeMethod! - """The HTTP URL for the repository""" - repositoryUrl: URI + """ + Returns a boolean indicating whether the viewing user has starred this starrable. + """ + viewerHasStarred: Boolean! - """The user affected by the action""" - user: User + """ + The users permission level on the repository. Will return null if authenticated as an GitHub App. + """ + viewerPermission: RepositoryPermission + + """A list of emails this viewer can commit with.""" + viewerPossibleCommitEmails: [String!] """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. """ - userLogin: String + viewerSubscription: SubscriptionState - """The HTTP path for the user.""" - userResourcePath: URI + """Indicates the repository's visibility level.""" + visibility: RepositoryVisibility! - """The HTTP URL for the user.""" - userUrl: URI -} + """ + Returns a single vulnerability alert from the current repository by number. + """ + vulnerabilityAlert( + """The number for the vulnerability alert to be returned.""" + number: Int! + ): RepositoryVulnerabilityAlert -"""Audit log entry for a repo.config.disable_sockpuppet_disallowed event.""" -type RepoConfigDisableSockpuppetDisallowedAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """A list of vulnerability alerts that are on this repository.""" + vulnerabilityAlerts( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The user who initiated the action""" - actor: AuditEntryActor + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The IP address of the actor""" - actorIp: String + """Returns the first _n_ elements from the list.""" + first: Int - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Returns the last _n_ elements from the list.""" + last: Int - """The username of the user who initiated the action""" - actorLogin: String + """Filter by the state of the alert""" + states: [RepositoryVulnerabilityAlertState!] - """The HTTP path for the actor.""" - actorResourcePath: URI + """Filter by the scope of the alert's dependency""" + dependencyScopes: [RepositoryVulnerabilityAlertDependencyScope!] + ): RepositoryVulnerabilityAlertConnection - """The HTTP URL for the actor.""" - actorUrl: URI + """A list of users watching the repository.""" + watchers( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the first _n_ elements from the list.""" + first: Int - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns the last _n_ elements from the list.""" + last: Int + ): UserConnection! - """The name of the Organization.""" - organizationName: String + """ + Whether contributors are required to sign off on web-based commits in this repository. + """ + webCommitSignoffRequired: Boolean! +} - """The HTTP path for the organization""" - organizationResourcePath: URI +"""The affiliation of a user to a repository""" +enum RepositoryAffiliation { + """Repositories that are owned by the authenticated user.""" + OWNER - """The HTTP URL for the organization""" - organizationUrl: URI + """Repositories that the user has been added to as a collaborator.""" + COLLABORATOR + + """ + Repositories that the user has access to through being a member of an + organization. This includes every repository on every team that the user is on. + """ + ORGANIZATION_MEMBER +} +"""Metadata for an audit entry with action repo.*""" +interface RepositoryAuditEntryData { """The repository associated with the action""" repository: Repository @@ -17085,612 +26803,726 @@ type RepoConfigDisableSockpuppetDisallowedAuditEntry implements Node & AuditEntr """The HTTP URL for the repository""" repositoryUrl: URI +} - """The user affected by the action""" - user: User +"""Information extracted from a repository's `CODEOWNERS` file.""" +type RepositoryCodeowners { + """ + Any problems that were encountered while parsing the `CODEOWNERS` file. + """ + errors: [RepositoryCodeownersError!]! +} + +"""An error in a `CODEOWNERS` file.""" +type RepositoryCodeownersError { + """The column number where the error occurs.""" + column: Int! + + """A short string describing the type of error.""" + kind: String! + + """The line number where the error occurs.""" + line: Int! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + A complete description of the error, combining information from other fields. """ - userLogin: String + message: String! - """The HTTP path for the user.""" - userResourcePath: URI + """The path to the file when the error occurs.""" + path: String! - """The HTTP URL for the user.""" - userUrl: URI + """The content of the line where the error occurs.""" + source: String! + + """A suggestion of how to fix the error.""" + suggestion: String } -"""Audit log entry for a repo.config.enable_anonymous_git_access event.""" -type RepoConfigEnableAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! +"""The connection type for User.""" +type RepositoryCollaboratorConnection { + """A list of edges.""" + edges: [RepositoryCollaboratorEdge] - """The user who initiated the action""" - actor: AuditEntryActor + """A list of nodes.""" + nodes: [User] - """The IP address of the actor""" - actorIp: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The username of the user who initiated the action""" - actorLogin: String +"""Represents a user who is a collaborator of a repository.""" +type RepositoryCollaboratorEdge { + """A cursor for use in pagination.""" + cursor: String! + node: User! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The permission the user has on the repository.""" + permission: RepositoryPermission! - """The HTTP URL for the actor.""" - actorUrl: URI + """A list of sources for the user's access to the repository.""" + permissionSources: [PermissionSource!] +} - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! +"""A list of repositories owned by the subject.""" +type RepositoryConnection { + """A list of edges.""" + edges: [RepositoryEdge] - """The corresponding operation type for the action""" - operationType: OperationType + """A list of nodes.""" + nodes: [Repository] - """The Organization associated with the Audit Entry.""" - organization: Organization + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The name of the Organization.""" - organizationName: String + """Identifies the total count of items in the connection.""" + totalCount: Int! - """The HTTP path for the organization""" - organizationResourcePath: URI + """The total size in kilobytes of all repositories in the connection.""" + totalDiskUsage: Int! +} - """The HTTP URL for the organization""" - organizationUrl: URI +"""A repository contact link.""" +type RepositoryContactLink { + """The contact link purpose.""" + about: String! - """The repository associated with the action""" - repository: Repository + """The contact link name.""" + name: String! + + """The contact link URL.""" + url: URI! +} - """The name of the repository""" - repositoryName: String +"""The reason a repository is listed as 'contributed'.""" +enum RepositoryContributionType { + """Created a commit""" + COMMIT - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Created an issue""" + ISSUE - """The HTTP URL for the repository""" - repositoryUrl: URI + """Created a pull request""" + PULL_REQUEST - """The user affected by the action""" - user: User + """Created the repository""" + REPOSITORY - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Reviewed a pull request""" + PULL_REQUEST_REVIEW +} - """The HTTP path for the user.""" - userResourcePath: URI +"""Represents an author of discussions in repositories.""" +interface RepositoryDiscussionAuthor { + """Discussions this user has started.""" + repositoryDiscussions( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP URL for the user.""" - userUrl: URI -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Audit log entry for a repo.config.enable_collaborators_only event.""" -type RepoConfigEnableCollaboratorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Returns the first _n_ elements from the list.""" + first: Int - """The user who initiated the action""" - actor: AuditEntryActor + """Returns the last _n_ elements from the list.""" + last: Int - """The IP address of the actor""" - actorIp: String + """Ordering options for discussions returned from the connection.""" + orderBy: DiscussionOrder = {field: CREATED_AT, direction: DESC} - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Filter discussions to only those in a specific repository.""" + repositoryId: ID - """The username of the user who initiated the action""" - actorLogin: String + """ + Filter discussions to only those that have been answered or not. Defaults to + including both answered and unanswered discussions. + """ + answered: Boolean = null - """The HTTP path for the actor.""" - actorResourcePath: URI + """A list of states to filter the discussions by.""" + states: [DiscussionState!] = [] + ): DiscussionConnection! +} - """The HTTP URL for the actor.""" - actorUrl: URI +"""Represents an author of discussion comments in repositories.""" +interface RepositoryDiscussionCommentAuthor { + """Discussion comments this user has authored.""" + repositoryDiscussionComments( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The corresponding operation type for the action""" - operationType: OperationType + """Returns the first _n_ elements from the list.""" + first: Int - """The Organization associated with the Audit Entry.""" - organization: Organization + """Returns the last _n_ elements from the list.""" + last: Int - """The name of the Organization.""" - organizationName: String + """Filter discussion comments to only those in a specific repository.""" + repositoryId: ID - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Filter discussion comments to only those that were marked as the answer + """ + onlyAnswers: Boolean = false + ): DiscussionCommentConnection! +} - """The HTTP URL for the organization""" - organizationUrl: URI +"""An edge in a connection.""" +type RepositoryEdge { + """A cursor for use in pagination.""" + cursor: String! - """The repository associated with the action""" - repository: Repository + """The item at the end of the edge.""" + node: Repository +} - """The name of the repository""" - repositoryName: String +"""A subset of repository info.""" +interface RepositoryInfo { + """Identifies the date and time when the repository was archived.""" + archivedAt: DateTime - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP URL for the repository""" - repositoryUrl: URI + """The description of the repository.""" + description: String - """The user affected by the action""" - user: User + """The description of the repository rendered to HTML.""" + descriptionHTML: HTML! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Returns how many forks there are of this repository in the whole network. """ - userLogin: String + forkCount: Int! - """The HTTP path for the user.""" - userResourcePath: URI + """Indicates if the repository has the Discussions feature enabled.""" + hasDiscussionsEnabled: Boolean! - """The HTTP URL for the user.""" - userUrl: URI -} + """Indicates if the repository has issues feature enabled.""" + hasIssuesEnabled: Boolean! -"""Audit log entry for a repo.config.enable_contributors_only event.""" -type RepoConfigEnableContributorsOnlyAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! + """Indicates if the repository has the Projects feature enabled.""" + hasProjectsEnabled: Boolean! - """The user who initiated the action""" - actor: AuditEntryActor + """Indicates if the repository has wiki feature enabled.""" + hasWikiEnabled: Boolean! - """The IP address of the actor""" - actorIp: String + """The repository's URL.""" + homepageUrl: URI - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Indicates if the repository is unmaintained.""" + isArchived: Boolean! - """The username of the user who initiated the action""" - actorLogin: String + """Identifies if the repository is a fork.""" + isFork: Boolean! - """The HTTP path for the actor.""" - actorResourcePath: URI + """ + Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. + """ + isInOrganization: Boolean! - """The HTTP URL for the actor.""" - actorUrl: URI + """Indicates if the repository has been locked or not.""" + isLocked: Boolean! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """Identifies if the repository is a mirror.""" + isMirror: Boolean! - """The corresponding operation type for the action""" - operationType: OperationType + """Identifies if the repository is private or internal.""" + isPrivate: Boolean! - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + Identifies if the repository is a template that can be used to generate new repositories. + """ + isTemplate: Boolean! - """The name of the Organization.""" - organizationName: String + """The license associated with the repository""" + licenseInfo: License - """The HTTP path for the organization""" - organizationResourcePath: URI + """The reason the repository has been locked.""" + lockReason: RepositoryLockReason - """The HTTP URL for the organization""" - organizationUrl: URI + """The repository's original mirror URL.""" + mirrorUrl: URI - """The repository associated with the action""" - repository: Repository + """The name of the repository.""" + name: String! - """The name of the repository""" - repositoryName: String + """The repository's name with owner.""" + nameWithOwner: String! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """The image used to represent this repository in Open Graph data.""" + openGraphImageUrl: URI! - """The HTTP URL for the repository""" - repositoryUrl: URI + """The User owner of the repository.""" + owner: RepositoryOwner! - """The user affected by the action""" - user: User + """Identifies the date and time when the repository was last pushed to.""" + pushedAt: DateTime + + """The HTTP path for this repository""" + resourcePath: URI! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + A description of the repository, rendered to HTML without any links in it. """ - userLogin: String + shortDescriptionHTML( + """How many characters to return.""" + limit: Int = 200 + ): HTML! - """The HTTP path for the user.""" - userResourcePath: URI + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! - """The HTTP URL for the user.""" - userUrl: URI + """The HTTP URL for this repository""" + url: URI! + + """ + Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. + """ + usesCustomOpenGraphImage: Boolean! + + """Indicates the repository's visibility level.""" + visibility: RepositoryVisibility! } -"""Audit log entry for a repo.config.enable_sockpuppet_disallowed event.""" -type RepoConfigEnableSockpuppetDisallowedAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! +"""Repository interaction limit that applies to this object.""" +type RepositoryInteractionAbility { + """The time the currently active limit expires.""" + expiresAt: DateTime - """The user who initiated the action""" - actor: AuditEntryActor + """The current limit that is enabled on this object.""" + limit: RepositoryInteractionLimit! - """The IP address of the actor""" - actorIp: String + """The origin of the currently active interaction limit.""" + origin: RepositoryInteractionLimitOrigin! +} - """A readable representation of the actor's location""" - actorLocation: ActorLocation +"""A repository interaction limit.""" +enum RepositoryInteractionLimit { + """ + Users that have recently created their account will be unable to interact with the repository. + """ + EXISTING_USERS - """The username of the user who initiated the action""" - actorLogin: String + """ + Users that have not previously committed to a repository’s default branch will be unable to interact with the repository. + """ + CONTRIBUTORS_ONLY - """The HTTP path for the actor.""" - actorResourcePath: URI + """ + Users that are not collaborators will not be able to interact with the repository. + """ + COLLABORATORS_ONLY - """The HTTP URL for the actor.""" - actorUrl: URI + """No interaction limits are enabled.""" + NO_LIMIT +} - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! +"""The length for a repository interaction limit to be enabled for.""" +enum RepositoryInteractionLimitExpiry { + """The interaction limit will expire after 1 day.""" + ONE_DAY - """The corresponding operation type for the action""" - operationType: OperationType + """The interaction limit will expire after 3 days.""" + THREE_DAYS - """The Organization associated with the Audit Entry.""" - organization: Organization + """The interaction limit will expire after 1 week.""" + ONE_WEEK - """The name of the Organization.""" - organizationName: String + """The interaction limit will expire after 1 month.""" + ONE_MONTH - """The HTTP path for the organization""" - organizationResourcePath: URI + """The interaction limit will expire after 6 months.""" + SIX_MONTHS +} - """The HTTP URL for the organization""" - organizationUrl: URI +"""Indicates where an interaction limit is configured.""" +enum RepositoryInteractionLimitOrigin { + """A limit that is configured at the repository level.""" + REPOSITORY - """The repository associated with the action""" - repository: Repository + """A limit that is configured at the organization level.""" + ORGANIZATION - """The name of the repository""" - repositoryName: String + """A limit that is configured at the user-wide level.""" + USER +} - """The HTTP path for the repository""" - repositoryResourcePath: URI +"""An invitation for a user to be added to a repository.""" +type RepositoryInvitation implements Node { + """The email address that received the invitation.""" + email: String + id: ID! - """The HTTP URL for the repository""" - repositoryUrl: URI + """The user who received the invitation.""" + invitee: User - """The user affected by the action""" - user: User + """The user who created the invitation.""" + inviter: User! - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """The permalink for this repository invitation.""" + permalink: URI! - """The HTTP path for the user.""" - userResourcePath: URI + """The permission granted on this repository by this invitation.""" + permission: RepositoryPermission! - """The HTTP URL for the user.""" - userUrl: URI + """The Repository the user is invited to.""" + repository: RepositoryInfo } -"""Audit log entry for a repo.config.lock_anonymous_git_access event.""" -type RepoConfigLockAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! +"""A list of repository invitations.""" +type RepositoryInvitationConnection { + """A list of edges.""" + edges: [RepositoryInvitationEdge] - """The user who initiated the action""" - actor: AuditEntryActor + """A list of nodes.""" + nodes: [RepositoryInvitation] - """The IP address of the actor""" - actorIp: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The username of the user who initiated the action""" - actorLogin: String +"""An edge in a connection.""" +type RepositoryInvitationEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP path for the actor.""" - actorResourcePath: URI + """The item at the end of the edge.""" + node: RepositoryInvitation +} - """The HTTP URL for the actor.""" - actorUrl: URI +"""Ordering options for repository invitation connections.""" +input RepositoryInvitationOrder { + """The field to order repository invitations by.""" + field: RepositoryInvitationOrderField! - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! + """The ordering direction.""" + direction: OrderDirection! +} - """The corresponding operation type for the action""" - operationType: OperationType +"""Properties by which repository invitation connections can be ordered.""" +enum RepositoryInvitationOrderField { + """Order repository invitations by creation time""" + CREATED_AT +} - """The Organization associated with the Audit Entry.""" - organization: Organization +"""The possible reasons a given repository could be in a locked state.""" +enum RepositoryLockReason { + """The repository is locked due to a move.""" + MOVING - """The name of the Organization.""" - organizationName: String + """The repository is locked due to a billing related reason.""" + BILLING - """The HTTP path for the organization""" - organizationResourcePath: URI + """The repository is locked due to a rename.""" + RENAME - """The HTTP URL for the organization""" - organizationUrl: URI + """The repository is locked due to a migration.""" + MIGRATING - """The repository associated with the action""" - repository: Repository + """The repository is locked due to a trade controls related reason.""" + TRADE_RESTRICTION +} - """The name of the repository""" - repositoryName: String +"""A GitHub Enterprise Importer (GEI) repository migration.""" +type RepositoryMigration implements Node & Migration { + """The migration flag to continue on error.""" + continueOnError: Boolean! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """The HTTP URL for the repository""" - repositoryUrl: URI + """Identifies the primary key from the database.""" + databaseId: String - """The user affected by the action""" - user: User + """The reason the migration failed.""" + failureReason: String + id: ID! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + The URL for the migration log (expires 1 day after migration completes). """ - userLogin: String - - """The HTTP path for the user.""" - userResourcePath: URI - - """The HTTP URL for the user.""" - userUrl: URI -} - -"""Audit log entry for a repo.config.unlock_anonymous_git_access event.""" -type RepoConfigUnlockAnonymousGitAccessAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor + migrationLogUrl: URI - """The IP address of the actor""" - actorIp: String - - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The migration source.""" + migrationSource: MigrationSource! - """The username of the user who initiated the action""" - actorLogin: String + """The target repository name.""" + repositoryName: String! - """The HTTP path for the actor.""" - actorResourcePath: URI + """ + The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. + """ + sourceUrl: URI! - """The HTTP URL for the actor.""" - actorUrl: URI + """The migration state.""" + state: MigrationState! +} - """The time the action was initiated""" - createdAt: PreciseDateTime! - id: ID! +"""The connection type for RepositoryMigration.""" +type RepositoryMigrationConnection { + """A list of edges.""" + edges: [RepositoryMigrationEdge] - """The corresponding operation type for the action""" - operationType: OperationType + """A list of nodes.""" + nodes: [RepositoryMigration] - """The Organization associated with the Audit Entry.""" - organization: Organization + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The name of the Organization.""" - organizationName: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The HTTP path for the organization""" - organizationResourcePath: URI +"""Represents a repository migration.""" +type RepositoryMigrationEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP URL for the organization""" - organizationUrl: URI + """The item at the end of the edge.""" + node: RepositoryMigration +} - """The repository associated with the action""" - repository: Repository +"""Ordering options for repository migrations.""" +input RepositoryMigrationOrder { + """The field to order repository migrations by.""" + field: RepositoryMigrationOrderField! - """The name of the repository""" - repositoryName: String + """The ordering direction.""" + direction: RepositoryMigrationOrderDirection! +} - """The HTTP path for the repository""" - repositoryResourcePath: URI +""" +Possible directions in which to order a list of repository migrations when provided an `orderBy` argument. +""" +enum RepositoryMigrationOrderDirection { + """Specifies an ascending order for a given `orderBy` argument.""" + ASC - """The HTTP URL for the repository""" - repositoryUrl: URI + """Specifies a descending order for a given `orderBy` argument.""" + DESC +} - """The user affected by the action""" - user: User +"""Properties by which repository migrations can be ordered.""" +enum RepositoryMigrationOrderField { + """Order mannequins why when they were created.""" + CREATED_AT +} - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String +"""Represents a object that belongs to a repository.""" +interface RepositoryNode { + """The repository associated with this node.""" + repository: Repository! +} - """The HTTP path for the user.""" - userResourcePath: URI +"""Ordering options for repository connections""" +input RepositoryOrder { + """The field to order repositories by.""" + field: RepositoryOrderField! - """The HTTP URL for the user.""" - userUrl: URI + """The ordering direction.""" + direction: OrderDirection! } -"""Audit log entry for a repo.create event.""" -type RepoCreateAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! +"""Properties by which repository connections can be ordered.""" +enum RepositoryOrderField { + """Order repositories by creation time""" + CREATED_AT - """The user who initiated the action""" - actor: AuditEntryActor + """Order repositories by update time""" + UPDATED_AT - """The IP address of the actor""" - actorIp: String + """Order repositories by push time""" + PUSHED_AT - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """Order repositories by name""" + NAME - """The username of the user who initiated the action""" - actorLogin: String + """Order repositories by number of stargazers""" + STARGAZERS +} - """The HTTP path for the actor.""" - actorResourcePath: URI +"""Represents an owner of a Repository.""" +interface RepositoryOwner { + """A URL pointing to the owner's public avatar.""" + avatarUrl( + """The size of the resulting square image.""" + size: Int + ): URI! + id: ID! - """The HTTP URL for the actor.""" - actorUrl: URI + """The username used to login.""" + login: String! - """The time the action was initiated""" - createdAt: PreciseDateTime! + """A list of repositories that the user owns.""" + repositories( + """If non-null, filters repositories according to privacy""" + privacy: RepositoryPrivacy - """The name of the parent repository for this forked repository.""" - forkParentName: String + """Ordering options for repositories returned from the connection""" + orderBy: RepositoryOrder - """The name of the root repository for this netork.""" - forkSourceName: String - id: ID! + """ + Array of viewer's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + current viewer owns. + """ + affiliations: [RepositoryAffiliation] - """The corresponding operation type for the action""" - operationType: OperationType + """ + Array of owner's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + organization or user being viewed owns. + """ + ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean - """The name of the Organization.""" - organizationName: String + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The HTTP path for the organization""" - organizationResourcePath: URI + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The HTTP URL for the organization""" - organizationUrl: URI + """Returns the first _n_ elements from the list.""" + first: Int - """The repository associated with the action""" - repository: Repository + """Returns the last _n_ elements from the list.""" + last: Int - """The name of the repository""" - repositoryName: String + """ + If non-null, filters repositories according to whether they are forks of another repository + """ + isFork: Boolean + ): RepositoryConnection! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """Find Repository.""" + repository( + """Name of Repository to find.""" + name: String! - """The HTTP URL for the repository""" - repositoryUrl: URI + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + ): Repository - """The user affected by the action""" - user: User + """The HTTP URL for the owner.""" + resourcePath: URI! + + """The HTTP URL for the owner.""" + url: URI! +} +"""The access level to a repository""" +enum RepositoryPermission { """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Can read, clone, and push to this repository. Can also manage issues, pull + requests, and repository settings, including adding collaborators """ - userLogin: String + ADMIN - """The HTTP path for the user.""" - userResourcePath: URI + """ + Can read, clone, and push to this repository. They can also manage issues, pull requests, and some repository settings + """ + MAINTAIN - """The HTTP URL for the user.""" - userUrl: URI + """ + Can read, clone, and push to this repository. Can also manage issues and pull requests + """ + WRITE - """The visibility of the repository""" - visibility: RepoCreateAuditEntryVisibility + """ + Can read and clone this repository. Can also manage issues and pull requests + """ + TRIAGE + + """ + Can read and clone this repository. Can also open and comment on issues and pull requests + """ + READ } """The privacy of a repository""" -enum RepoCreateAuditEntryVisibility { - """The repository is visible only to users in the same business.""" - INTERNAL +enum RepositoryPrivacy { + """Public""" + PUBLIC - """The repository is visible only to those with explicit access.""" + """Private""" PRIVATE - - """The repository is visible to everyone.""" - PUBLIC } -"""Audit log entry for a repo.destroy event.""" -type RepoDestroyAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! - - """The user who initiated the action""" - actor: AuditEntryActor - - """The IP address of the actor""" - actorIp: String - - """A readable representation of the actor's location""" - actorLocation: ActorLocation - - """The username of the user who initiated the action""" - actorLogin: String - - """The HTTP path for the actor.""" - actorResourcePath: URI - - """The HTTP URL for the actor.""" - actorUrl: URI - - """The time the action was initiated""" - createdAt: PreciseDateTime! +"""A repository-topic connects a repository to a topic.""" +type RepositoryTopic implements Node & UniformResourceLocatable { id: ID! - """The corresponding operation type for the action""" - operationType: OperationType - - """The Organization associated with the Audit Entry.""" - organization: Organization - - """The name of the Organization.""" - organizationName: String - - """The HTTP path for the organization""" - organizationResourcePath: URI - - """The HTTP URL for the organization""" - organizationUrl: URI - - """The repository associated with the action""" - repository: Repository + """The HTTP path for this repository-topic.""" + resourcePath: URI! - """The name of the repository""" - repositoryName: String + """The topic.""" + topic: Topic! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """The HTTP URL for this repository-topic.""" + url: URI! +} - """The HTTP URL for the repository""" - repositoryUrl: URI +"""The connection type for RepositoryTopic.""" +type RepositoryTopicConnection { + """A list of edges.""" + edges: [RepositoryTopicEdge] - """The user affected by the action""" - user: User + """A list of nodes.""" + nodes: [RepositoryTopic] - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The HTTP path for the user.""" - userResourcePath: URI + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """The HTTP URL for the user.""" - userUrl: URI +"""An edge in a connection.""" +type RepositoryTopicEdge { + """A cursor for use in pagination.""" + cursor: String! - """The visibility of the repository""" - visibility: RepoDestroyAuditEntryVisibility + """The item at the end of the edge.""" + node: RepositoryTopic } -"""The privacy of a repository""" -enum RepoDestroyAuditEntryVisibility { - """The repository is visible only to users in the same business.""" - INTERNAL - +"""The repository's visibility level.""" +enum RepositoryVisibility { """The repository is visible only to those with explicit access.""" PRIVATE """The repository is visible to everyone.""" PUBLIC + + """The repository is visible only to users in the same business.""" + INTERNAL } -"""Audit log entry for a repo.remove_member event.""" -type RepoRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAuditEntryData & RepositoryAuditEntryData { +"""Audit log entry for a repository_visibility_change.disable event.""" +type RepositoryVisibilityChangeDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { """The action name""" action: String! @@ -17714,6 +27546,15 @@ type RepoRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAudit """The time the action was initiated""" createdAt: PreciseDateTime! + + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI id: ID! """The corresponding operation type for the action""" @@ -17731,18 +27572,6 @@ type RepoRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAudit """The HTTP URL for the organization""" organizationUrl: URI - """The repository associated with the action""" - repository: Repository - - """The name of the repository""" - repositoryName: String - - """The HTTP path for the repository""" - repositoryResourcePath: URI - - """The HTTP URL for the repository""" - repositoryUrl: URI - """The user affected by the action""" user: User @@ -17756,25 +27585,10 @@ type RepoRemoveMemberAuditEntry implements Node & AuditEntry & OrganizationAudit """The HTTP URL for the user.""" userUrl: URI - - """The visibility of the repository""" - visibility: RepoRemoveMemberAuditEntryVisibility -} - -"""The privacy of a repository""" -enum RepoRemoveMemberAuditEntryVisibility { - """The repository is visible only to users in the same business.""" - INTERNAL - - """The repository is visible only to those with explicit access.""" - PRIVATE - - """The repository is visible to everyone.""" - PUBLIC } -"""Audit log entry for a repo.remove_topic event.""" -type RepoRemoveTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEntryData & OrganizationAuditEntryData & TopicAuditEntryData { +"""Audit log entry for a repository_visibility_change.enable event.""" +type RepositoryVisibilityChangeEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { """The action name""" action: String! @@ -17798,6 +27612,15 @@ type RepoRemoveTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEnt """The time the action was initiated""" createdAt: PreciseDateTime! + + """The HTTP path for this enterprise.""" + enterpriseResourcePath: URI + + """The slug of the enterprise.""" + enterpriseSlug: String + + """The HTTP URL for this enterprise.""" + enterpriseUrl: URI id: ID! """The corresponding operation type for the action""" @@ -17815,24 +27638,6 @@ type RepoRemoveTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEnt """The HTTP URL for the organization""" organizationUrl: URI - """The repository associated with the action""" - repository: Repository - - """The name of the repository""" - repositoryName: String - - """The HTTP path for the repository""" - repositoryResourcePath: URI - - """The HTTP URL for the repository""" - repositoryUrl: URI - - """The name of the topic added to the repository""" - topic: Topic - - """The name of the topic added to the repository""" - topicName: String - """The user affected by the action""" user: User @@ -17848,360 +27653,539 @@ type RepoRemoveTopicAuditEntry implements Node & AuditEntry & RepositoryAuditEnt userUrl: URI } -"""The reasons a piece of content can be reported or minimized.""" -enum ReportedContentClassifiers { - """A spammy piece of content""" - SPAM +""" +A Dependabot alert for a repository with a dependency affected by a security vulnerability. +""" +type RepositoryVulnerabilityAlert implements Node & RepositoryNode { + """When was the alert auto-dismissed?""" + autoDismissedAt: DateTime - """An abusive or harassing piece of content""" - ABUSE + """When was the alert created?""" + createdAt: DateTime! - """An irrelevant piece of content""" - OFF_TOPIC + """The associated Dependabot update""" + dependabotUpdate: DependabotUpdate - """An outdated piece of content""" - OUTDATED + """The scope of an alert's dependency""" + dependencyScope: RepositoryVulnerabilityAlertDependencyScope - """A duplicated piece of content""" - DUPLICATE + """Comment explaining the reason the alert was dismissed""" + dismissComment: String - """The content has been resolved""" - RESOLVED + """The reason the alert was dismissed""" + dismissReason: String + + """When was the alert dismissed?""" + dismissedAt: DateTime + + """The user who dismissed the alert""" + dismisser: User + + """When was the alert fixed?""" + fixedAt: DateTime + id: ID! + + """Identifies the alert number.""" + number: Int! + + """The associated repository""" + repository: Repository! + + """The associated security advisory""" + securityAdvisory: SecurityAdvisory + + """The associated security vulnerability""" + securityVulnerability: SecurityVulnerability + + """Identifies the state of the alert.""" + state: RepositoryVulnerabilityAlertState! + + """The vulnerable manifest filename""" + vulnerableManifestFilename: String! + + """The vulnerable manifest path""" + vulnerableManifestPath: String! + + """The vulnerable requirements""" + vulnerableRequirements: String } -"""A repository contains the content for a project.""" -type Repository implements Node & ProjectOwner & PackageOwner & Subscribable & Starrable & UniformResourceLocatable & RepositoryInfo { - """A list of users that can be assigned to issues in this repository.""" - assignableUsers( - """Filters users with query on user name and login""" - query: String +"""The connection type for RepositoryVulnerabilityAlert.""" +type RepositoryVulnerabilityAlertConnection { + """A list of edges.""" + edges: [RepositoryVulnerabilityAlertEdge] - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A list of nodes.""" + nodes: [RepositoryVulnerabilityAlert] - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Returns the first _n_ elements from the list.""" - first: Int + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! +"""The possible scopes of an alert's dependency.""" +enum RepositoryVulnerabilityAlertDependencyScope { + """A dependency that is leveraged during application runtime""" + RUNTIME - """A list of branch protection rules for this repository.""" - branchProtectionRules( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A dependency that is only used in development""" + DEVELOPMENT +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""An edge in a connection.""" +type RepositoryVulnerabilityAlertEdge { + """A cursor for use in pagination.""" + cursor: String! - """Returns the first _n_ elements from the list.""" - first: Int + """The item at the end of the edge.""" + node: RepositoryVulnerabilityAlert +} - """Returns the last _n_ elements from the list.""" - last: Int - ): BranchProtectionRuleConnection! +"""The possible states of an alert""" +enum RepositoryVulnerabilityAlertState { + """An alert that is still open.""" + OPEN - """Returns the code of conduct for this repository""" - codeOfConduct: CodeOfConduct + """An alert that has been resolved by a code change.""" + FIXED + + """An alert that has been manually closed by a user.""" + DISMISSED + + """An alert that has been automatically closed by Dependabot.""" + AUTO_DISMISSED +} + +"""The possible states that can be requested when creating a check run.""" +enum RequestableCheckStatusState { + """The check suite or run has been queued.""" + QUEUED + + """The check suite or run is in progress.""" + IN_PROGRESS + + """The check suite or run has been completed.""" + COMPLETED + + """The check suite or run is in waiting state.""" + WAITING + + """The check suite or run is in pending state.""" + PENDING +} + +"""Types that can be requested reviewers.""" +union RequestedReviewer = Mannequin | Team | User + +"""The connection type for RequestedReviewer.""" +type RequestedReviewerConnection { + """A list of edges.""" + edges: [RequestedReviewerEdge] + + """A list of nodes.""" + nodes: [RequestedReviewer] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type RequestedReviewerEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: RequestedReviewer +} + +"""Autogenerated input type of RequestReviews""" +input RequestReviewsInput { + """The Node ID of the pull request to modify.""" + pullRequestId: ID! + + """The Node IDs of the user to request.""" + userIds: [ID!] + + """The Node IDs of the team to request.""" + teamIds: [ID!] + + """Add users to the set rather than replace.""" + union: Boolean = false + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of RequestReviews""" +type RequestReviewsPayload { + """Identifies the actor who performed the event.""" + actor: Actor + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The pull request that is getting requests.""" + pullRequest: PullRequest + + """The edge from the pull request to the requested reviewers.""" + requestedReviewersEdge: UserEdge +} + +"""Represents a type that can be required by a pull request for merging.""" +interface RequirableByPullRequest { + """ + Whether this is required to pass before merging for a specific pull request. + """ + isRequired( + """The id of the pull request this is required for""" + pullRequestId: ID + + """The number of the pull request this is required for""" + pullRequestNumber: Int + ): Boolean! +} + +""" +Represents a required status check for a protected branch, but not any specific run of that check. +""" +type RequiredStatusCheckDescription { + """The App that must provide this status in order for it to be accepted.""" + app: App + + """The name of this status.""" + context: String! +} + +"""Specifies the attributes for a new or updated required status check.""" +input RequiredStatusCheckInput { + """ + Status check context that must pass for commits to be accepted to the matching branch. + """ + context: String! - """A list of collaborators associated with the repository.""" - collaborators( - """Collaborators affiliation level with a repository.""" - affiliation: CollaboratorAffiliation + """ + The ID of the App that must set the status in order for it to be accepted. + Omit this value to use whichever app has recently been setting this status, or + use "any" to allow any app to set the status. + """ + appId: ID +} - """Filters users with query on user name and login""" - query: String +"""Autogenerated input type of RerequestCheckSuite""" +input RerequestCheckSuiteInput { + """The Node ID of the repository.""" + repositoryId: ID! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The Node ID of the check suite.""" + checkSuiteId: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Returns the first _n_ elements from the list.""" - first: Int +"""Autogenerated return type of RerequestCheckSuite""" +type RerequestCheckSuitePayload { + """The requested check suite.""" + checkSuite: CheckSuite - """Returns the last _n_ elements from the list.""" - last: Int - ): RepositoryCollaboratorConnection + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """A list of commit comments associated with the repository.""" - commitComments( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Autogenerated input type of ResolveReviewThread""" +input ResolveReviewThreadInput { + """The ID of the thread to resolve""" + threadId: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Returns the first _n_ elements from the list.""" - first: Int +"""Autogenerated return type of ResolveReviewThread""" +type ResolveReviewThreadPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Returns the last _n_ elements from the list.""" - last: Int - ): CommitCommentConnection! + """The thread to resolve.""" + thread: PullRequestReviewThread +} - """Returns a list of contact links associated to the repository""" - contactLinks: [RepositoryContactLink!] +"""Represents a private contribution a user made on GitHub.""" +type RestrictedContribution implements 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: Boolean! - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """When this contribution was made.""" + occurredAt: DateTime! - """Identifies the primary key from the database.""" - databaseId: Int + """The HTTP path for this contribution.""" + resourcePath: URI! - """The Ref associated with the repository's default branch.""" - defaultBranchRef: Ref + """The HTTP URL for this contribution.""" + url: URI! """ - Whether or not branches are automatically deleted when merged in this repository. + The user who made this contribution. + """ - deleteBranchOnMerge: Boolean! + user: User! +} - """A list of deploy keys that are on this repository.""" - deployKeys( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Autogenerated input type of RetireSponsorsTier""" +input RetireSponsorsTierInput { + """The ID of the published tier to retire.""" + tierId: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Returns the first _n_ elements from the list.""" - first: Int +"""Autogenerated return type of RetireSponsorsTier""" +type RetireSponsorsTierPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Returns the last _n_ elements from the list.""" - last: Int - ): DeployKeyConnection! + """The tier that was retired.""" + sponsorsTier: SponsorsTier +} - """Deployments associated with the repository""" - deployments( - """Environments to list deployments for""" - environments: [String!] +"""Autogenerated input type of RevertPullRequest""" +input RevertPullRequestInput { + """The ID of the pull request to revert.""" + pullRequestId: ID! - """Ordering options for deployments returned from the connection.""" - orderBy: DeploymentOrder = {field: CREATED_AT, direction: ASC} + """The title of the revert pull request.""" + title: String - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The description of the revert pull request.""" + body: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Indicates whether the revert pull request should be a draft.""" + draft: Boolean = false - """Returns the first _n_ elements from the list.""" - first: Int + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Returns the last _n_ elements from the list.""" - last: Int - ): DeploymentConnection! +"""Autogenerated return type of RevertPullRequest""" +type RevertPullRequestPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The description of the repository.""" - description: String + """The pull request that was reverted.""" + pullRequest: PullRequest - """The description of the repository rendered to HTML.""" - descriptionHTML: HTML! + """The new pull request that reverts the input pull request.""" + revertPullRequest: PullRequest +} - """The number of kilobytes this repository occupies on disk.""" - diskUsage: Int +""" +A user, team, or app who has the ability to dismiss a review on a protected branch. +""" +type ReviewDismissalAllowance implements Node { + """The actor that can dismiss.""" + actor: ReviewDismissalAllowanceActor """ - Returns how many forks there are of this repository in the whole network. + Identifies the branch protection rule associated with the allowed user, team, or app. """ - forkCount: Int! - - """A list of direct forked repositories.""" - forks( - """If non-null, filters repositories according to privacy""" - privacy: RepositoryPrivacy - - """Ordering options for repositories returned from the connection""" - orderBy: RepositoryOrder + branchProtectionRule: BranchProtectionRule + id: ID! +} - """ - Array of viewer's affiliation options for repositories returned from the - connection. For example, OWNER will include only repositories that the - current viewer owns. - """ - affiliations: [RepositoryAffiliation] +"""Types that can be an actor.""" +union ReviewDismissalAllowanceActor = App | Team | User - """ - Array of owner's affiliation options for repositories returned from the - connection. For example, OWNER will include only repositories that the - organization or user being viewed owns. - """ - ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] +"""The connection type for ReviewDismissalAllowance.""" +type ReviewDismissalAllowanceConnection { + """A list of edges.""" + edges: [ReviewDismissalAllowanceEdge] - """ - If non-null, filters repositories according to whether they have been locked - """ - isLocked: Boolean + """A list of nodes.""" + nodes: [ReviewDismissalAllowance] - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Returns the first _n_ elements from the list.""" - first: Int +"""An edge in a connection.""" +type ReviewDismissalAllowanceEdge { + """A cursor for use in pagination.""" + cursor: String! - """Returns the last _n_ elements from the list.""" - last: Int - ): RepositoryConnection! + """The item at the end of the edge.""" + node: ReviewDismissalAllowance +} - """The funding links for this repository""" - fundingLinks: [FundingLink!]! +""" +Represents a 'review_dismissed' event on a given issue or pull request. +""" +type ReviewDismissedEvent implements Node & UniformResourceLocatable { + """Identifies the actor who performed the event.""" + actor: Actor - """Indicates if the repository has issues feature enabled.""" - hasIssuesEnabled: Boolean! + """Identifies the date and time when the object was created.""" + createdAt: DateTime! - """Indicates if the repository has the Projects feature enabled.""" - hasProjectsEnabled: Boolean! + """Identifies the primary key from the database.""" + databaseId: Int - """Indicates if the repository has wiki feature enabled.""" - hasWikiEnabled: Boolean! + """ + Identifies the optional message associated with the 'review_dismissed' event. + """ + dismissalMessage: String - """The repository's URL.""" - homepageUrl: URI + """ + Identifies the optional message associated with the event, rendered to HTML. + """ + dismissalMessageHTML: String id: ID! - """The interaction ability settings for this repository.""" - interactionAbility: RepositoryInteractionAbility + """ + Identifies the previous state of the review with the 'review_dismissed' event. + """ + previousReviewState: PullRequestReviewState! - """Indicates if the repository is unmaintained.""" - isArchived: Boolean! + """PullRequest referenced by event.""" + pullRequest: PullRequest! - """Returns true if blank issue creation is allowed""" - isBlankIssuesEnabled: Boolean! + """Identifies the commit which caused the review to become stale.""" + pullRequestCommit: PullRequestCommit + + """The HTTP path for this review dismissed event.""" + resourcePath: URI! - """Returns whether or not this repository disabled.""" - isDisabled: Boolean! + """Identifies the review associated with the 'review_dismissed' event.""" + review: PullRequestReview - """Returns whether or not this repository is empty.""" - isEmpty: Boolean! + """The HTTP URL for this review dismissed event.""" + url: URI! +} - """Identifies if the repository is a fork.""" - isFork: Boolean! +"""A request for a user to review a pull request.""" +type ReviewRequest implements Node { + """Whether this request was created for a code owner""" + asCodeOwner: Boolean! - """ - Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. - """ - isInOrganization: Boolean! + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! - """Indicates if the repository has been locked or not.""" - isLocked: Boolean! + """Identifies the pull request associated with this review request.""" + pullRequest: PullRequest! - """Identifies if the repository is a mirror.""" - isMirror: Boolean! + """The reviewer that is requested.""" + requestedReviewer: RequestedReviewer +} - """Identifies if the repository is private.""" - isPrivate: Boolean! +"""The connection type for ReviewRequest.""" +type ReviewRequestConnection { + """A list of edges.""" + edges: [ReviewRequestEdge] - """Returns true if this repository has a security policy""" - isSecurityPolicyEnabled: Boolean + """A list of nodes.""" + nodes: [ReviewRequest] - """ - Identifies if the repository is a template that can be used to generate new repositories. - """ - isTemplate: Boolean! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Is this repository a user configuration repository?""" - isUserConfigurationRepository: Boolean! + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Returns a single issue from the current repository by number.""" - issue( - """The number for the issue to be returned.""" - number: Int! - ): Issue +"""Represents an 'review_requested' event on a given pull request.""" +type ReviewRequestedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor - """ - Returns a single issue-like object from the current repository by number. - """ - issueOrPullRequest( - """The number for the issue to be returned.""" - number: Int! - ): IssueOrPullRequest + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! - """Returns a list of issue templates associated to the repository""" - issueTemplates: [IssueTemplate!] + """PullRequest referenced by event.""" + pullRequest: PullRequest! - """A list of issues that have been opened in the repository.""" - issues( - """Ordering options for issues returned from the connection.""" - orderBy: IssueOrder + """Identifies the reviewer whose review was requested.""" + requestedReviewer: RequestedReviewer +} - """A list of label names to filter the pull requests by.""" - labels: [String!] +"""An edge in a connection.""" +type ReviewRequestEdge { + """A cursor for use in pagination.""" + cursor: String! - """A list of states to filter the issues by.""" - states: [IssueState!] + """The item at the end of the edge.""" + node: ReviewRequest +} - """Filtering options for issues returned from the connection.""" - filterBy: IssueFilters +"""Represents an 'review_request_removed' event on a given pull request.""" +type ReviewRequestRemovedEvent implements Node { + """Identifies the actor who performed the event.""" + actor: Actor - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """PullRequest referenced by event.""" + pullRequest: PullRequest! - """Returns the first _n_ elements from the list.""" - first: Int + """Identifies the reviewer whose review request was removed.""" + requestedReviewer: RequestedReviewer +} - """Returns the last _n_ elements from the list.""" - last: Int - ): IssueConnection! +""" +A hovercard context with a message describing the current code review state of the pull +request. - """Returns a single label by name""" - label( - """Label name""" - name: String! - ): Label +""" +type ReviewStatusHovercardContext implements HovercardContext { + """A string describing this context""" + message: String! - """A list of labels associated with the repository.""" - labels( - """Ordering options for labels returned from the connection.""" - orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + """An octicon to accompany this context""" + octicon: String! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The current status of the pull request with respect to code review.""" + reviewDecision: PullRequestReviewDecision +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""Autogenerated input type of RevokeEnterpriseOrganizationsMigratorRole""" +input RevokeEnterpriseOrganizationsMigratorRoleInput { + """ + The ID of the enterprise to which all organizations managed by it will be granted the migrator role. + """ + enterpriseId: ID! - """Returns the first _n_ elements from the list.""" - first: Int + """The login of the user to revoke the migrator role""" + login: String! - """Returns the last _n_ elements from the list.""" - last: Int + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """If provided, searches labels by name and description.""" - query: String - ): LabelConnection +"""Autogenerated return type of RevokeEnterpriseOrganizationsMigratorRole""" +type RevokeEnterpriseOrganizationsMigratorRolePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String """ - A list containing a breakdown of the language composition of the repository. + The organizations that had the migrator role revoked for the given user. """ - languages( + organizations( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -18215,194 +28199,233 @@ type Repository implements Node & ProjectOwner & PackageOwner & Subscribable & S """Returns the last _n_ elements from the list.""" last: Int + ): OrganizationConnection +} - """Order for connection""" - orderBy: LanguageOrder - ): LanguageConnection +"""Autogenerated input type of RevokeMigratorRole""" +input RevokeMigratorRoleInput { + """The ID of the organization that the user/team belongs to.""" + organizationId: ID! - """The license associated with the repository""" - licenseInfo: License + """The user login or Team slug to revoke the migrator role from.""" + actor: String! - """The reason the repository has been locked.""" - lockReason: RepositoryLockReason + """Specifies the type of the actor, can be either USER or TEAM.""" + actorType: ActorType! - """ - A list of Users that can be mentioned in the context of the repository. - """ - mentionableUsers( - """Filters users with query on user name and login""" - query: String + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Autogenerated return type of RevokeMigratorRole""" +type RevokeMigratorRolePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Did the operation succeed?""" + success: Boolean +} - """Returns the first _n_ elements from the list.""" - first: Int +"""Possible roles a user may have in relation to an organization.""" +enum RoleInOrganization { + """A user with full administrative access to the organization.""" + OWNER - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """A user who is a direct member of the organization.""" + DIRECT_MEMBER - """Whether or not PRs are merged with a merge commit on this repository.""" - mergeCommitAllowed: Boolean! + """A user who is unaffiliated with the organization.""" + UNAFFILIATED +} - """Returns a single milestone from the current repository by number.""" - milestone( - """The number for the milestone to be returned.""" - number: Int! - ): Milestone +""" +The possible digest algorithms used to sign SAML requests for an identity provider. +""" +enum SamlDigestAlgorithm { + """SHA1""" + SHA1 - """A list of milestones associated with the repository.""" - milestones( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """SHA256""" + SHA256 - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """SHA384""" + SHA384 - """Returns the first _n_ elements from the list.""" - first: Int + """SHA512""" + SHA512 +} - """Returns the last _n_ elements from the list.""" - last: Int +""" +The possible signature algorithms used to sign SAML requests for a Identity Provider. +""" +enum SamlSignatureAlgorithm { + """RSA-SHA1""" + RSA_SHA1 - """Filter by the state of the milestones.""" - states: [MilestoneState!] + """RSA-SHA256""" + RSA_SHA256 - """Ordering options for milestones.""" - orderBy: MilestoneOrder + """RSA-SHA384""" + RSA_SHA384 - """Filters milestones with a query on the title""" - query: String - ): MilestoneConnection + """RSA-SHA512""" + RSA_SHA512 +} - """The repository's original mirror URL.""" - mirrorUrl: URI +"""A Saved Reply is text a user can use to reply quickly.""" +type SavedReply implements Node { + """The body of the saved reply.""" + body: String! - """The name of the repository.""" - name: String! + """The saved reply body rendered to HTML.""" + bodyHTML: HTML! - """The repository's name with owner.""" - nameWithOwner: String! + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! - """A Git object in the repository""" - object( - """The Git object ID""" - oid: GitObjectID + """The title of the saved reply.""" + title: String! - """A Git revision expression suitable for rev-parse""" - expression: String - ): GitObject + """The user that saved this reply.""" + user: Actor +} - """The image used to represent this repository in Open Graph data.""" - openGraphImageUrl: URI! +"""The connection type for SavedReply.""" +type SavedReplyConnection { + """A list of edges.""" + edges: [SavedReplyEdge] - """The User owner of the repository.""" - owner: RepositoryOwner! + """A list of nodes.""" + nodes: [SavedReply] - """A list of packages under the owner.""" - packages( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """Returns the first _n_ elements from the list.""" - first: Int +"""An edge in a connection.""" +type SavedReplyEdge { + """A cursor for use in pagination.""" + cursor: String! - """Returns the last _n_ elements from the list.""" - last: Int + """The item at the end of the edge.""" + node: SavedReply +} - """Find packages by their names.""" - names: [String] +"""Ordering options for saved reply connections.""" +input SavedReplyOrder { + """The field to order saved replies by.""" + field: SavedReplyOrderField! - """Find packages in a repository by ID.""" - repositoryId: ID + """The ordering direction.""" + direction: OrderDirection! +} - """Filter registry package by type.""" - packageType: PackageType +"""Properties by which saved reply connections can be ordered.""" +enum SavedReplyOrderField { + """Order saved reply by when they were updated.""" + UPDATED_AT +} - """Ordering of the returned packages.""" - orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} - ): PackageConnection! +"""The results of a search.""" +union SearchResultItem = App | Discussion | Issue | MarketplaceListing | Organization | PullRequest | Repository | User - """The repository parent, if this is a fork.""" - parent: Repository +""" +A list of results that matched against a search query. Regardless of the number +of matches, a maximum of 1,000 results will be available across all types, +potentially split across many pages. +""" +type SearchResultItemConnection { + """ + The total number of pieces of code that matched the search query. Regardless + of the total number of matches, a maximum of 1,000 results will be available + across all types. + """ + codeCount: Int! - """The primary language of the repository's code.""" - primaryLanguage: Language + """ + The total number of discussions that matched the search query. Regardless of + the total number of matches, a maximum of 1,000 results will be available + across all types. + """ + discussionCount: Int! - """Find project by number.""" - project( - """The project number to find.""" - number: Int! - ): Project + """A list of edges.""" + edges: [SearchResultItemEdge] - """A list of projects under the owner.""" - projects( - """Ordering options for projects returned from the connection""" - orderBy: ProjectOrder + """ + The total number of issues that matched the search query. Regardless of the + total number of matches, a maximum of 1,000 results will be available across all types. + """ + issueCount: Int! - """Query to search projects by, currently only searching by name.""" - search: String + """A list of nodes.""" + nodes: [SearchResultItem] - """A list of states to filter the projects by.""" - states: [ProjectState!] + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """ + The total number of repositories that matched the search query. Regardless of + the total number of matches, a maximum of 1,000 results will be available + across all types. + """ + repositoryCount: Int! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The total number of users that matched the search query. Regardless of the + total number of matches, a maximum of 1,000 results will be available across all types. + """ + userCount: Int! - """Returns the first _n_ elements from the list.""" - first: Int + """ + The total number of wiki pages that matched the search query. Regardless of + the total number of matches, a maximum of 1,000 results will be available + across all types. + """ + wikiCount: Int! +} - """Returns the last _n_ elements from the list.""" - last: Int - ): ProjectConnection! +"""An edge in a connection.""" +type SearchResultItemEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP path listing the repository's projects""" - projectsResourcePath: URI! + """The item at the end of the edge.""" + node: SearchResultItem - """The HTTP URL listing the repository's projects""" - projectsUrl: URI! + """Text matches on the result found.""" + textMatches: [TextMatch] +} - """Returns a single pull request from the current repository by number.""" - pullRequest( - """The number for the pull request to be returned.""" - number: Int! - ): PullRequest +"""Represents the individual results of a search.""" +enum SearchType { + """Returns results matching issues in repositories.""" + ISSUE - """A list of pull requests that have been opened in the repository.""" - pullRequests( - """A list of states to filter the pull requests by.""" - states: [PullRequestState!] + """Returns results matching repositories.""" + REPOSITORY - """A list of label names to filter the pull requests by.""" - labels: [String!] + """Returns results matching users and organizations on GitHub.""" + USER - """The head ref name to filter the pull requests by.""" - headRefName: String + """Returns matching discussions in repositories.""" + DISCUSSION +} - """The base ref name to filter the pull requests by.""" - baseRefName: String +"""A GitHub Security Advisory""" +type SecurityAdvisory implements Node { + """The classification of the advisory""" + classification: SecurityAdvisoryClassification! - """Ordering options for pull requests returned from the connection.""" - orderBy: IssueOrder + """The CVSS associated with this advisory""" + cvss: CVSS! + """CWEs associated with this Advisory""" + cwes( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -18416,80 +28439,62 @@ type Repository implements Node & ProjectOwner & PackageOwner & Subscribable & S """Returns the last _n_ elements from the list.""" last: Int - ): PullRequestConnection! - - """Identifies when the repository was last pushed to.""" - pushedAt: DateTime + ): CWEConnection! - """Whether or not rebase-merging is enabled on this repository.""" - rebaseMergeAllowed: Boolean! + """Identifies the primary key from the database.""" + databaseId: Int - """Fetch a given ref from the repository""" - ref( - """ - The ref to retrieve. Fully qualified matches are checked in order - (`refs/heads/master`) before falling back onto checks for short name matches (`master`). - """ - qualifiedName: String! - ): Ref + """This is a long plaintext description of the advisory""" + description: String! - """Fetch a list of refs from the repository""" - refs( - """Filters refs with query on name""" - query: String + """The GitHub Security Advisory ID""" + ghsaId: String! + id: ID! - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A list of identifiers for this advisory""" + identifiers: [SecurityAdvisoryIdentifier!]! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The permalink for the advisory's dependabot alerts page""" + notificationsPermalink: URI - """Returns the first _n_ elements from the list.""" - first: Int + """The organization that originated the advisory""" + origin: String! - """Returns the last _n_ elements from the list.""" - last: Int + """The permalink for the advisory""" + permalink: URI - """A ref name prefix like `refs/heads/`, `refs/tags/`, etc.""" - refPrefix: String! + """When the advisory was published""" + publishedAt: DateTime! - """DEPRECATED: use orderBy. The ordering direction.""" - direction: OrderDirection + """A list of references for this advisory""" + references: [SecurityAdvisoryReference!]! - """Ordering options for refs returned from the connection.""" - orderBy: RefOrder - ): RefConnection + """The severity of the advisory""" + severity: SecurityAdvisorySeverity! - """Lookup a single release given various criteria.""" - release( - """The name of the Tag the Release was created from""" - tagName: String! - ): Release + """A short plaintext summary of the advisory""" + summary: String! - """List of releases which are dependent on this repository.""" - releases( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """When the advisory was last updated""" + updatedAt: DateTime! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Vulnerabilities associated with this Advisory""" + vulnerabilities( + """Ordering options for the returned topics.""" + orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} - """Returns the first _n_ elements from the list.""" - first: Int + """An ecosystem to filter vulnerabilities by.""" + ecosystem: SecurityAdvisoryEcosystem - """Returns the last _n_ elements from the list.""" - last: Int + """A package name to filter vulnerabilities by.""" + package: String - """Order for connection""" - orderBy: ReleaseOrder - ): ReleaseConnection! + """A list of severities to filter vulnerabilities by.""" + severities: [SecurityAdvisorySeverity!] + + """A list of advisory classifications to filter vulnerabilities by.""" + classifications: [SecurityAdvisoryClassification!] - """A list of applied repository-topic associations for this repository.""" - repositoryTopics( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -18503,203 +28508,199 @@ type Repository implements Node & ProjectOwner & PackageOwner & Subscribable & S """Returns the last _n_ elements from the list.""" last: Int - ): RepositoryTopicConnection! + ): SecurityVulnerabilityConnection! - """The HTTP path for this repository""" - resourcePath: URI! + """When the advisory was withdrawn, if it has been withdrawn""" + withdrawnAt: DateTime +} - """The security policy URL.""" - securityPolicyUrl: URI +"""Classification of the advisory.""" +enum SecurityAdvisoryClassification { + """Classification of general advisories.""" + GENERAL - """ - A description of the repository, rendered to HTML without any links in it. - """ - shortDescriptionHTML( - """How many characters to return.""" - limit: Int = 200 - ): HTML! + """Classification of malware advisories.""" + MALWARE +} - """Whether or not squash-merging is enabled on this repository.""" - squashMergeAllowed: Boolean! +"""The connection type for SecurityAdvisory.""" +type SecurityAdvisoryConnection { + """A list of edges.""" + edges: [SecurityAdvisoryEdge] - """The SSH URL to clone this repository""" - sshUrl: GitSSHRemote! + """A list of nodes.""" + nodes: [SecurityAdvisory] - """ - Returns a count of how many stargazers there are on this object - - """ - stargazerCount: Int! + """Information to aid in pagination.""" + pageInfo: PageInfo! - """A list of users who have starred this starrable.""" - stargazers( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +"""The possible ecosystems of a security vulnerability's package.""" +enum SecurityAdvisoryEcosystem { + """PHP packages hosted at packagist.org""" + COMPOSER - """Returns the first _n_ elements from the list.""" - first: Int + """Erlang/Elixir packages hosted at hex.pm""" + ERLANG - """Returns the last _n_ elements from the list.""" - last: Int + """GitHub Actions""" + ACTIONS - """Order for connection""" - orderBy: StarOrder - ): StargazerConnection! + """Go modules""" + GO - """ - Returns a list of all submodules in this repository parsed from the - .gitmodules file as of the default branch's HEAD commit. - """ - submodules( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Java artifacts hosted at the Maven central repository""" + MAVEN - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """JavaScript packages hosted at npmjs.com""" + NPM - """Returns the first _n_ elements from the list.""" - first: Int + """.NET packages hosted at the NuGet Gallery""" + NUGET - """Returns the last _n_ elements from the list.""" - last: Int - ): SubmoduleConnection! + """Python packages hosted at PyPI.org""" + PIP - """Temporary authentication token for cloning this repository.""" - tempCloneToken: String + """Dart packages hosted at pub.dev""" + PUB - """The repository from which this repository was generated, if any.""" - templateRepository: Repository + """Ruby gems hosted at RubyGems.org""" + RUBYGEMS - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! + """Rust crates""" + RUST +} - """The HTTP URL for this repository""" - url: URI! +"""An edge in a connection.""" +type SecurityAdvisoryEdge { + """A cursor for use in pagination.""" + cursor: String! - """ - Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. - """ - usesCustomOpenGraphImage: Boolean! + """The item at the end of the edge.""" + node: SecurityAdvisory +} - """Indicates whether the viewer has admin permissions on this repository.""" - viewerCanAdminister: Boolean! +"""A GitHub Security Advisory Identifier""" +type SecurityAdvisoryIdentifier { + """The identifier type, e.g. GHSA, CVE""" + type: String! - """Can the current viewer create new projects on this owner.""" - viewerCanCreateProjects: Boolean! + """The identifier""" + value: String! +} - """ - Check if the viewer is able to change their subscription status for the repository. - """ - viewerCanSubscribe: Boolean! +"""An advisory identifier to filter results on.""" +input SecurityAdvisoryIdentifierFilter { + """The identifier type.""" + type: SecurityAdvisoryIdentifierType! - """Indicates whether the viewer can update the topics of this repository.""" - viewerCanUpdateTopics: Boolean! + """The identifier string. Supports exact or partial matching.""" + value: String! +} - """The last commit email for the viewer.""" - viewerDefaultCommitEmail: String +"""Identifier formats available for advisories.""" +enum SecurityAdvisoryIdentifierType { + """Common Vulnerabilities and Exposures Identifier.""" + CVE - """ - The last used merge method by the viewer or the default for the repository. - """ - viewerDefaultMergeMethod: PullRequestMergeMethod! + """GitHub Security Advisory ID.""" + GHSA +} - """ - Returns a boolean indicating whether the viewing user has starred this starrable. - """ - viewerHasStarred: Boolean! +"""Ordering options for security advisory connections""" +input SecurityAdvisoryOrder { + """The field to order security advisories by.""" + field: SecurityAdvisoryOrderField! - """ - The users permission level on the repository. Will return null if authenticated as an GitHub App. - """ - viewerPermission: RepositoryPermission + """The ordering direction.""" + direction: OrderDirection! +} - """A list of emails this viewer can commit with.""" - viewerPossibleCommitEmails: [String!] +"""Properties by which security advisory connections can be ordered.""" +enum SecurityAdvisoryOrderField { + """Order advisories by publication time""" + PUBLISHED_AT - """ - Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. - """ - viewerSubscription: SubscriptionState + """Order advisories by update time""" + UPDATED_AT +} - """A list of vulnerability alerts that are on this repository.""" - vulnerabilityAlerts( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""An individual package""" +type SecurityAdvisoryPackage { + """The ecosystem the package belongs to, e.g. RUBYGEMS, NPM""" + ecosystem: SecurityAdvisoryEcosystem! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """The package name""" + name: String! +} - """Returns the first _n_ elements from the list.""" - first: Int +"""An individual package version""" +type SecurityAdvisoryPackageVersion { + """The package name or version""" + identifier: String! +} - """Returns the last _n_ elements from the list.""" - last: Int - ): RepositoryVulnerabilityAlertConnection +"""A GitHub Security Advisory Reference""" +type SecurityAdvisoryReference { + """A publicly accessible reference""" + url: URI! +} - """A list of users watching the repository.""" - watchers( - """Returns the elements in the list that come after the specified cursor.""" - after: String +"""Severity of the vulnerability.""" +enum SecurityAdvisorySeverity { + """Low.""" + LOW - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Moderate.""" + MODERATE - """Returns the first _n_ elements from the list.""" - first: Int + """High.""" + HIGH - """Returns the last _n_ elements from the list.""" - last: Int - ): UserConnection! + """Critical.""" + CRITICAL } -"""The affiliation of a user to a repository""" -enum RepositoryAffiliation { - """Repositories that are owned by the authenticated user.""" - OWNER - - """Repositories that the user has been added to as a collaborator.""" - COLLABORATOR - - """ - Repositories that the user has access to through being a member of an - organization. This includes every repository on every team that the user is on. - """ - ORGANIZATION_MEMBER -} +"""An individual vulnerability within an Advisory""" +type SecurityVulnerability { + """The Advisory associated with this Vulnerability""" + advisory: SecurityAdvisory! -"""Metadata for an audit entry with action repo.*""" -interface RepositoryAuditEntryData { - """The repository associated with the action""" - repository: Repository + """The first version containing a fix for the vulnerability""" + firstPatchedVersion: SecurityAdvisoryPackageVersion - """The name of the repository""" - repositoryName: String + """A description of the vulnerable package""" + package: SecurityAdvisoryPackage! - """The HTTP path for the repository""" - repositoryResourcePath: URI + """The severity of the vulnerability within this package""" + severity: SecurityAdvisorySeverity! - """The HTTP URL for the repository""" - repositoryUrl: URI + """When the vulnerability was last updated""" + updatedAt: DateTime! + + """ + A string that describes the vulnerable package versions. + This string follows a basic syntax with a few forms. + + `= 0.2.0` denotes a single vulnerable version. + + `<= 1.0.8` denotes a version range up to and including the specified version + + `< 0.1.11` denotes a version range up to, but excluding, the specified version + + `>= 4.3.0, < 4.3.5` denotes a version range with a known minimum and maximum version. + + `>= 0.0.1` denotes a version range with a known minimum, but no known maximum + + """ + vulnerableVersionRange: String! } -"""The connection type for User.""" -type RepositoryCollaboratorConnection { +"""The connection type for SecurityVulnerability.""" +type SecurityVulnerabilityConnection { """A list of edges.""" - edges: [RepositoryCollaboratorEdge] + edges: [SecurityVulnerabilityEdge] """A list of nodes.""" - nodes: [User] + nodes: [SecurityVulnerability] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -18708,387 +28709,440 @@ type RepositoryCollaboratorConnection { totalCount: Int! } -"""Represents a user who is a collaborator of a repository.""" -type RepositoryCollaboratorEdge { +"""An edge in a connection.""" +type SecurityVulnerabilityEdge { """A cursor for use in pagination.""" cursor: String! - node: User! - - """The permission the user has on the repository.""" - permission: RepositoryPermission! - """A list of sources for the user's access to the repository.""" - permissionSources: [PermissionSource!] + """The item at the end of the edge.""" + node: SecurityVulnerability } -"""A list of repositories owned by the subject.""" -type RepositoryConnection { - """A list of edges.""" - edges: [RepositoryEdge] - - """A list of nodes.""" - nodes: [Repository] - - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """Identifies the total count of items in the connection.""" - totalCount: Int! +"""Ordering options for security vulnerability connections""" +input SecurityVulnerabilityOrder { + """The field to order security vulnerabilities by.""" + field: SecurityVulnerabilityOrderField! - """The total size in kilobytes of all repositories in the connection.""" - totalDiskUsage: Int! + """The ordering direction.""" + direction: OrderDirection! } -"""A repository contact link.""" -type RepositoryContactLink { - """The contact link purpose.""" - about: String! +"""Properties by which security vulnerability connections can be ordered.""" +enum SecurityVulnerabilityOrderField { + """Order vulnerability by update time""" + UPDATED_AT +} - """The contact link name.""" - name: String! +"""Autogenerated input type of SetEnterpriseIdentityProvider""" +input SetEnterpriseIdentityProviderInput { + """The ID of the enterprise on which to set an identity provider.""" + enterpriseId: ID! - """The contact link URL.""" - url: URI! -} + """The URL endpoint for the identity provider's SAML SSO.""" + ssoUrl: URI! -"""The reason a repository is listed as 'contributed'.""" -enum RepositoryContributionType { - """Created a commit""" - COMMIT + """The Issuer Entity ID for the SAML identity provider""" + issuer: String - """Created an issue""" - ISSUE + """ + The x509 certificate used by the identity provider to sign assertions and responses. + """ + idpCertificate: String! - """Created a pull request""" - PULL_REQUEST + """ + The signature algorithm used to sign SAML requests for the identity provider. + """ + signatureMethod: SamlSignatureAlgorithm! - """Created the repository""" - REPOSITORY + """ + The digest algorithm used to sign SAML requests for the identity provider. + """ + digestMethod: SamlDigestAlgorithm! - """Reviewed a pull request""" - PULL_REQUEST_REVIEW + """A unique identifier for the client performing the mutation.""" + clientMutationId: String } -"""An edge in a connection.""" -type RepositoryEdge { - """A cursor for use in pagination.""" - cursor: String! +"""Autogenerated return type of SetEnterpriseIdentityProvider""" +type SetEnterpriseIdentityProviderPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The item at the end of the edge.""" - node: Repository + """The identity provider for the enterprise.""" + identityProvider: EnterpriseIdentityProvider } -"""A subset of repository info.""" -interface RepositoryInfo { - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - - """The description of the repository.""" - description: String +"""Autogenerated input type of SetOrganizationInteractionLimit""" +input SetOrganizationInteractionLimitInput { + """The ID of the organization to set a limit for.""" + organizationId: ID! - """The description of the repository rendered to HTML.""" - descriptionHTML: HTML! + """The limit to set.""" + limit: RepositoryInteractionLimit! - """ - Returns how many forks there are of this repository in the whole network. - """ - forkCount: Int! + """When this limit should expire.""" + expiry: RepositoryInteractionLimitExpiry - """Indicates if the repository has issues feature enabled.""" - hasIssuesEnabled: Boolean! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Indicates if the repository has the Projects feature enabled.""" - hasProjectsEnabled: Boolean! +"""Autogenerated return type of SetOrganizationInteractionLimit""" +type SetOrganizationInteractionLimitPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Indicates if the repository has wiki feature enabled.""" - hasWikiEnabled: Boolean! + """The organization that the interaction limit was set for.""" + organization: Organization +} - """The repository's URL.""" - homepageUrl: URI +"""Autogenerated input type of SetRepositoryInteractionLimit""" +input SetRepositoryInteractionLimitInput { + """The ID of the repository to set a limit for.""" + repositoryId: ID! - """Indicates if the repository is unmaintained.""" - isArchived: Boolean! + """The limit to set.""" + limit: RepositoryInteractionLimit! - """Identifies if the repository is a fork.""" - isFork: Boolean! + """When this limit should expire.""" + expiry: RepositoryInteractionLimitExpiry - """ - Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. - """ - isInOrganization: Boolean! + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """Indicates if the repository has been locked or not.""" - isLocked: Boolean! +"""Autogenerated return type of SetRepositoryInteractionLimit""" +type SetRepositoryInteractionLimitPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """Identifies if the repository is a mirror.""" - isMirror: Boolean! + """The repository that the interaction limit was set for.""" + repository: Repository +} - """Identifies if the repository is private.""" - isPrivate: Boolean! +"""Autogenerated input type of SetUserInteractionLimit""" +input SetUserInteractionLimitInput { + """The ID of the user to set a limit for.""" + userId: ID! - """ - Identifies if the repository is a template that can be used to generate new repositories. - """ - isTemplate: Boolean! + """The limit to set.""" + limit: RepositoryInteractionLimit! - """The license associated with the repository""" - licenseInfo: License + """When this limit should expire.""" + expiry: RepositoryInteractionLimitExpiry - """The reason the repository has been locked.""" - lockReason: RepositoryLockReason + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} - """The repository's original mirror URL.""" - mirrorUrl: URI +"""Autogenerated return type of SetUserInteractionLimit""" +type SetUserInteractionLimitPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """The name of the repository.""" - name: String! + """The user that the interaction limit was set for.""" + user: User +} - """The repository's name with owner.""" - nameWithOwner: String! +"""Represents an S/MIME signature on a Commit or Tag.""" +type SmimeSignature implements GitSignature { + """Email used to sign this object.""" + email: String! - """The image used to represent this repository in Open Graph data.""" - openGraphImageUrl: URI! + """True if the signature is valid and verified by GitHub.""" + isValid: Boolean! - """The User owner of the repository.""" - owner: RepositoryOwner! + """ + Payload for GPG signing object. Raw ODB object without the signature header. + """ + payload: String! - """Identifies when the repository was last pushed to.""" - pushedAt: DateTime + """ASCII-armored signature header from object.""" + signature: String! - """The HTTP path for this repository""" - resourcePath: URI! + """GitHub user corresponding to the email signing this commit.""" + signer: User """ - A description of the repository, rendered to HTML without any links in it. + The state of this signature. `VALID` if signature is valid and verified by + GitHub, otherwise represents reason why signature is considered invalid. """ - shortDescriptionHTML( - """How many characters to return.""" - limit: Int = 200 - ): HTML! + state: GitSignatureState! + + """True if the signature was made with GitHub's signing key.""" + wasSignedByGitHub: Boolean! +} - """Identifies the date and time when the object was last updated.""" - updatedAt: DateTime! +"""Social media profile associated with a user.""" +type SocialAccount { + """Name of the social media account as it appears on the profile.""" + displayName: String! - """The HTTP URL for this repository""" - url: URI! + """Software or company that hosts the social media account.""" + provider: SocialAccountProvider! - """ - Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. - """ - usesCustomOpenGraphImage: Boolean! + """URL of the social media account.""" + url: URI! } -"""Repository interaction limit that applies to this object.""" -type RepositoryInteractionAbility { - """The time the currently active limit expires.""" - expiresAt: DateTime +"""The connection type for SocialAccount.""" +type SocialAccountConnection { + """A list of edges.""" + edges: [SocialAccountEdge] - """The current limit that is enabled on this object.""" - limit: RepositoryInteractionLimit! + """A list of nodes.""" + nodes: [SocialAccount] - """The origin of the currently active interaction limit.""" - origin: RepositoryInteractionLimitOrigin! + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! } -"""A repository interaction limit.""" -enum RepositoryInteractionLimit { - """ - Users that have recently created their account will be unable to interact with the repository. - """ - EXISTING_USERS +"""An edge in a connection.""" +type SocialAccountEdge { + """A cursor for use in pagination.""" + cursor: String! - """ - Users that have not previously committed to a repository’s default branch will be unable to interact with the repository. - """ - CONTRIBUTORS_ONLY + """The item at the end of the edge.""" + node: SocialAccount +} +"""Software or company that hosts social media accounts.""" +enum SocialAccountProvider { """ - Users that are not collaborators will not be able to interact with the repository. + Catch-all for social media providers that do not yet have specific handling. """ - COLLABORATORS_ONLY + GENERIC - """No interaction limits are enabled.""" - NO_LIMIT -} + """Social media and networking website.""" + FACEBOOK -"""The length for a repository interaction limit to be enabled for.""" -enum RepositoryInteractionLimitExpiry { - """The interaction limit will expire after 1 day.""" - ONE_DAY + """Fork of Mastodon with a greater focus on local posting.""" + HOMETOWN - """The interaction limit will expire after 3 days.""" - THREE_DAYS + """Social media website with a focus on photo and video sharing.""" + INSTAGRAM - """The interaction limit will expire after 1 week.""" - ONE_WEEK + """Professional networking website.""" + LINKEDIN - """The interaction limit will expire after 1 month.""" - ONE_MONTH + """Open-source federated microblogging service.""" + MASTODON - """The interaction limit will expire after 6 months.""" - SIX_MONTHS -} + """Social news aggregation and discussion website.""" + REDDIT -"""Indicates where an interaction limit is configured.""" -enum RepositoryInteractionLimitOrigin { - """A limit that is configured at the repository level.""" - REPOSITORY + """Live-streaming service.""" + TWITCH - """A limit that is configured at the organization level.""" - ORGANIZATION + """Microblogging website.""" + TWITTER - """A limit that is configured at the user-wide level.""" - USER + """Online video platform.""" + YOUTUBE } -"""An invitation for a user to be added to a repository.""" -type RepositoryInvitation implements Node { - """The email address that received the invitation.""" - email: String - id: ID! +"""Entities that can sponsor others via GitHub Sponsors""" +union Sponsor = Organization | User - """The user who received the invitation.""" - invitee: User +"""Entities that can sponsor or be sponsored through GitHub Sponsors.""" +interface Sponsorable { + """ + The estimated next GitHub Sponsors payout for this user/organization in cents (USD). + """ + estimatedNextSponsorsPayoutInCents: Int! - """The user who created the invitation.""" - inviter: User! + """True if this user/organization has a GitHub Sponsors listing.""" + hasSponsorsListing: Boolean! - """The permalink for this repository invitation.""" - permalink: URI! + """Whether the given account is sponsoring this user/organization.""" + isSponsoredBy( + """The target account's login.""" + accountLogin: String! + ): Boolean! - """The permission granted on this repository by this invitation.""" - permission: RepositoryPermission! + """True if the viewer is sponsored by this user/organization.""" + isSponsoringViewer: Boolean! - """The Repository the user is invited to.""" - repository: RepositoryInfo -} + """ + The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). + """ + monthlyEstimatedSponsorsIncomeInCents: Int! -"""The connection type for RepositoryInvitation.""" -type RepositoryInvitationConnection { - """A list of edges.""" - edges: [RepositoryInvitationEdge] + """List of users and organizations this entity is sponsoring.""" + sponsoring( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """A list of nodes.""" - nodes: [RepositoryInvitation] + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Returns the first _n_ elements from the list.""" + first: Int - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Returns the last _n_ elements from the list.""" + last: Int -"""An edge in a connection.""" -type RepositoryInvitationEdge { - """A cursor for use in pagination.""" - cursor: String! + """ + Ordering options for the users and organizations returned from the connection. + """ + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + ): SponsorConnection! - """The item at the end of the edge.""" - node: RepositoryInvitation -} + """List of sponsors for this user or organization.""" + sponsors( + """Returns the elements in the list that come after the specified cursor.""" + after: String -"""Ordering options for repository invitation connections.""" -input RepositoryInvitationOrder { - """The field to order repository invitations by.""" - field: RepositoryInvitationOrderField! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """The ordering direction.""" - direction: OrderDirection! -} + """Returns the first _n_ elements from the list.""" + first: Int -"""Properties by which repository invitation connections can be ordered.""" -enum RepositoryInvitationOrderField { - """Order repository invitations by creation time""" - CREATED_AT -} + """Returns the last _n_ elements from the list.""" + last: Int -"""The possible reasons a given repository could be in a locked state.""" -enum RepositoryLockReason { - """The repository is locked due to a move.""" - MOVING + """ + If given, will filter for sponsors at the given tier. Will only return + sponsors whose tier the viewer is permitted to see. + """ + tierId: ID - """The repository is locked due to a billing related reason.""" - BILLING + """Ordering options for sponsors returned from the connection.""" + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + ): SponsorConnection! - """The repository is locked due to a rename.""" - RENAME + """Events involving this sponsorable, such as new sponsorships.""" + sponsorsActivities( + """Returns the elements in the list that come after the specified cursor.""" + after: String - """The repository is locked due to a migration.""" - MIGRATING -} + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String -"""Represents a object that belongs to a repository.""" -interface RepositoryNode { - """The repository associated with this node.""" - repository: Repository! -} + """Returns the first _n_ elements from the list.""" + first: Int -"""Ordering options for repository connections""" -input RepositoryOrder { - """The field to order repositories by.""" - field: RepositoryOrderField! + """Returns the last _n_ elements from the list.""" + last: Int - """The ordering direction.""" - direction: OrderDirection! -} + """ + Filter activities returned to only those that occurred in the most recent + specified time period. Set to ALL to avoid filtering by when the activity + occurred. Will be ignored if `since` or `until` is given. + """ + period: SponsorsActivityPeriod = MONTH -"""Properties by which repository connections can be ordered.""" -enum RepositoryOrderField { - """Order repositories by creation time""" - CREATED_AT + """Filter activities to those that occurred on or after this time.""" + since: DateTime - """Order repositories by update time""" - UPDATED_AT + """Filter activities to those that occurred before this time.""" + until: DateTime - """Order repositories by push time""" - PUSHED_AT + """Ordering options for activity returned from the connection.""" + orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} - """Order repositories by name""" - NAME + """Filter activities to only the specified actions.""" + actions: [SponsorsActivityAction!] = [] - """Order repositories by number of stargazers""" - STARGAZERS -} + """ + Whether to include those events where this sponsorable acted as the sponsor. + Defaults to only including events where this sponsorable was the recipient + of a sponsorship. + """ + includeAsSponsor: Boolean = false + ): SponsorsActivityConnection! -"""Represents an owner of a Repository.""" -interface RepositoryOwner { - """A URL pointing to the owner's public avatar.""" - avatarUrl( - """The size of the resulting square image.""" - size: Int - ): URI! - id: ID! + """The GitHub Sponsors listing for this user or organization.""" + sponsorsListing: SponsorsListing - """The username used to login.""" - login: String! + """ + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. + """ + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship - """A list of repositories that the user owns.""" - repositories( - """If non-null, filters repositories according to privacy""" - privacy: RepositoryPrivacy + """ + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. + """ + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship - """Ordering options for repositories returned from the connection""" - orderBy: RepositoryOrder + """List of sponsorship updates sent from this sponsorable to sponsors.""" + sponsorshipNewsletters( + """Returns the elements in the list that come after the specified cursor.""" + after: String """ - Array of viewer's affiliation options for repositories returned from the - connection. For example, OWNER will include only repositories that the - current viewer owns. + Returns the elements in the list that come before the specified cursor. """ - affiliations: [RepositoryAffiliation] + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for sponsorship updates returned from the connection.""" + orderBy: SponsorshipNewsletterOrder = {field: CREATED_AT, direction: DESC} + ): SponsorshipNewsletterConnection! + + """ + The sponsorships where this user or organization is the maintainer receiving the funds. + """ + sponsorshipsAsMaintainer( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Whether or not to include private sponsorships in the result set""" + includePrivate: Boolean = false """ - Array of owner's affiliation options for repositories returned from the - connection. For example, OWNER will include only repositories that the - organization or user being viewed owns. + Ordering options for sponsorships returned from this connection. If left + blank, the sponsorships will be ordered based on relevancy to the viewer. """ - ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] + orderBy: SponsorshipOrder """ - If non-null, filters repositories according to whether they have been locked + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. """ - isLocked: Boolean + activeOnly: Boolean = true + ): SponsorshipConnection! + """The sponsorships where this user or organization is the funder.""" + sponsorshipsAsSponsor( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -19104,83 +29158,100 @@ interface RepositoryOwner { last: Int """ - If non-null, filters repositories according to whether they are forks of another repository + Ordering options for sponsorships returned from this connection. If left + blank, the sponsorships will be ordered based on relevancy to the viewer. """ - isFork: Boolean - ): RepositoryConnection! - - """Find Repository.""" - repository( - """Name of Repository to find.""" - name: String! - ): Repository + orderBy: SponsorshipOrder - """The HTTP URL for the owner.""" - resourcePath: URI! + """ + Filter sponsorships returned to those for the specified maintainers. That + is, the recipient of the sponsorship is a user or organization with one of + the given logins. + """ + maintainerLogins: [String!] - """The HTTP URL for the owner.""" - url: URI! -} + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + ): SponsorshipConnection! -"""The access level to a repository""" -enum RepositoryPermission { """ - Can read, clone, and push to this repository. Can also manage issues, pull - requests, and repository settings, including adding collaborators + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. """ - ADMIN + totalSponsorshipAmountAsSponsorInCents( + """Filter payments to those that occurred on or after this time.""" + since: DateTime - """ - Can read, clone, and push to this repository. They can also manage issues, pull requests, and some repository settings - """ - MAINTAIN + """Filter payments to those that occurred before this time.""" + until: DateTime - """ - Can read, clone, and push to this repository. Can also manage issues and pull requests - """ - WRITE + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + ): Int - """ - Can read and clone this repository. Can also manage issues and pull requests - """ - TRIAGE + """Whether or not the viewer is able to sponsor this user/organization.""" + viewerCanSponsor: Boolean! - """ - Can read and clone this repository. Can also open and comment on issues and pull requests - """ - READ + """True if the viewer is sponsoring this user/organization.""" + viewerIsSponsoring: Boolean! } -"""The privacy of a repository""" -enum RepositoryPrivacy { - """Public""" - PUBLIC +"""Entities that can be sponsored via GitHub Sponsors""" +union SponsorableItem = Organization | User - """Private""" - PRIVATE +"""The connection type for SponsorableItem.""" +type SponsorableItemConnection { + """A list of edges.""" + edges: [SponsorableItemEdge] + + """A list of nodes.""" + nodes: [SponsorableItem] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! } -"""A repository-topic connects a repository to a topic.""" -type RepositoryTopic implements Node & UniformResourceLocatable { - id: ID! +"""An edge in a connection.""" +type SponsorableItemEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP path for this repository-topic.""" - resourcePath: URI! + """The item at the end of the edge.""" + node: SponsorableItem +} - """The topic.""" - topic: Topic! +""" +Ordering options for connections to get sponsorable entities for GitHub Sponsors. +""" +input SponsorableOrder { + """The field to order sponsorable entities by.""" + field: SponsorableOrderField! - """The HTTP URL for this repository-topic.""" - url: URI! + """The ordering direction.""" + direction: OrderDirection! } -"""The connection type for RepositoryTopic.""" -type RepositoryTopicConnection { +"""Properties by which sponsorable connections can be ordered.""" +enum SponsorableOrderField { + """Order sponsorable entities by login (username).""" + LOGIN +} + +"""The connection type for Sponsor.""" +type SponsorConnection { """A list of edges.""" - edges: [RepositoryTopicEdge] + edges: [SponsorEdge] """A list of nodes.""" - nodes: [RepositoryTopic] + nodes: [Sponsor] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -19189,1152 +29260,1041 @@ type RepositoryTopicConnection { totalCount: Int! } -"""An edge in a connection.""" -type RepositoryTopicEdge { +""" +Represents a user or organization who is sponsoring someone in GitHub Sponsors. +""" +type SponsorEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: RepositoryTopic + node: Sponsor } -"""The repository's visibility level.""" -enum RepositoryVisibility { - """The repository is visible only to those with explicit access.""" - PRIVATE +""" +Ordering options for connections to get sponsor entities for GitHub Sponsors. +""" +input SponsorOrder { + """The field to order sponsor entities by.""" + field: SponsorOrderField! - """The repository is visible to everyone.""" - PUBLIC + """The ordering direction.""" + direction: OrderDirection! +} - """The repository is visible only to users in the same business.""" - INTERNAL +"""Properties by which sponsor connections can be ordered.""" +enum SponsorOrderField { + """Order sponsorable entities by login (username).""" + LOGIN + + """Order sponsors by their relevance to the viewer.""" + RELEVANCE } -"""Audit log entry for a repository_visibility_change.disable event.""" -type RepositoryVisibilityChangeDisableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! +"""An event related to sponsorship activity.""" +type SponsorsActivity implements Node { + """What action this activity indicates took place.""" + action: SponsorsActivityAction! + id: ID! - """The user who initiated the action""" - actor: AuditEntryActor + """The tier that the sponsorship used to use, for tier change events.""" + previousSponsorsTier: SponsorsTier - """The IP address of the actor""" - actorIp: String + """ + The user or organization who triggered this activity and was/is sponsoring the sponsorable. + """ + sponsor: Sponsor - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The user or organization that is being sponsored, the maintainer.""" + sponsorable: Sponsorable! - """The username of the user who initiated the action""" - actorLogin: String + """The associated sponsorship tier.""" + sponsorsTier: SponsorsTier - """The HTTP path for the actor.""" - actorResourcePath: URI + """The timestamp of this event.""" + timestamp: DateTime - """The HTTP URL for the actor.""" - actorUrl: URI + """ + Was this sponsorship made alongside other sponsorships at the same time from the same sponsor? + """ + viaBulkSponsorship: Boolean! +} - """The time the action was initiated""" - createdAt: PreciseDateTime! +"""The possible actions that GitHub Sponsors activities can represent.""" +enum SponsorsActivityAction { + """The activity was starting a sponsorship.""" + NEW_SPONSORSHIP - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI + """The activity was cancelling a sponsorship.""" + CANCELLED_SPONSORSHIP - """The slug of the enterprise.""" - enterpriseSlug: String + """ + The activity was changing the sponsorship tier, either directly by the sponsor or by a scheduled/pending change. + """ + TIER_CHANGE - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI - id: ID! + """The activity was funds being refunded to the sponsor or GitHub.""" + REFUND - """The corresponding operation type for the action""" - operationType: OperationType + """The activity was scheduling a downgrade or cancellation.""" + PENDING_CHANGE - """The Organization associated with the Audit Entry.""" - organization: Organization + """ + The activity was disabling matching for a previously matched sponsorship. + """ + SPONSOR_MATCH_DISABLED +} - """The name of the Organization.""" - organizationName: String +"""The connection type for SponsorsActivity.""" +type SponsorsActivityConnection { + """A list of edges.""" + edges: [SponsorsActivityEdge] - """The HTTP path for the organization""" - organizationResourcePath: URI + """A list of nodes.""" + nodes: [SponsorsActivity] - """The HTTP URL for the organization""" - organizationUrl: URI + """Information to aid in pagination.""" + pageInfo: PageInfo! - """The user affected by the action""" - user: User + """Identifies the total count of items in the connection.""" + totalCount: Int! +} - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String +"""An edge in a connection.""" +type SponsorsActivityEdge { + """A cursor for use in pagination.""" + cursor: String! - """The HTTP path for the user.""" - userResourcePath: URI + """The item at the end of the edge.""" + node: SponsorsActivity +} - """The HTTP URL for the user.""" - userUrl: URI +"""Ordering options for GitHub Sponsors activity connections.""" +input SponsorsActivityOrder { + """The field to order activity by.""" + field: SponsorsActivityOrderField! + + """The ordering direction.""" + direction: OrderDirection! } -"""Audit log entry for a repository_visibility_change.enable event.""" -type RepositoryVisibilityChangeEnableAuditEntry implements Node & AuditEntry & EnterpriseAuditEntryData & OrganizationAuditEntryData { - """The action name""" - action: String! +""" +Properties by which GitHub Sponsors activity connections can be ordered. +""" +enum SponsorsActivityOrderField { + """Order activities by when they happened.""" + TIMESTAMP +} - """The user who initiated the action""" - actor: AuditEntryActor +""" +The possible time periods for which Sponsors activities can be requested. +""" +enum SponsorsActivityPeriod { + """The previous calendar day.""" + DAY - """The IP address of the actor""" - actorIp: String + """The previous seven days.""" + WEEK - """A readable representation of the actor's location""" - actorLocation: ActorLocation + """The previous thirty days.""" + MONTH - """The username of the user who initiated the action""" - actorLogin: String + """Don't restrict the activity to any date range, include all activity.""" + ALL +} - """The HTTP path for the actor.""" - actorResourcePath: URI +""" +Represents countries or regions for billing and residence for a GitHub Sponsors profile. +""" +enum SponsorsCountryOrRegionCode { + """Afghanistan""" + AF - """The HTTP URL for the actor.""" - actorUrl: URI + """Åland""" + AX - """The time the action was initiated""" - createdAt: PreciseDateTime! + """Albania""" + AL - """The HTTP path for this enterprise.""" - enterpriseResourcePath: URI + """Algeria""" + DZ - """The slug of the enterprise.""" - enterpriseSlug: String + """American Samoa""" + AS - """The HTTP URL for this enterprise.""" - enterpriseUrl: URI - id: ID! + """Andorra""" + AD - """The corresponding operation type for the action""" - operationType: OperationType + """Angola""" + AO - """The Organization associated with the Audit Entry.""" - organization: Organization + """Anguilla""" + AI - """The name of the Organization.""" - organizationName: String + """Antarctica""" + AQ - """The HTTP path for the organization""" - organizationResourcePath: URI + """Antigua and Barbuda""" + AG - """The HTTP URL for the organization""" - organizationUrl: URI + """Argentina""" + AR - """The user affected by the action""" - user: User + """Armenia""" + AM - """ - For actions involving two users, the actor is the initiator and the user is the affected user. - """ - userLogin: String + """Aruba""" + AW + + """Australia""" + AU + + """Austria""" + AT + + """Azerbaijan""" + AZ + + """Bahamas""" + BS + + """Bahrain""" + BH + + """Bangladesh""" + BD + + """Barbados""" + BB + + """Belarus""" + BY + + """Belgium""" + BE + + """Belize""" + BZ + + """Benin""" + BJ + + """Bermuda""" + BM - """The HTTP path for the user.""" - userResourcePath: URI + """Bhutan""" + BT - """The HTTP URL for the user.""" - userUrl: URI -} + """Bolivia""" + BO -"""A alert for a repository with an affected vulnerability.""" -type RepositoryVulnerabilityAlert implements Node & RepositoryNode { - """When was the alert created?""" - createdAt: DateTime! + """Bonaire, Sint Eustatius and Saba""" + BQ - """The reason the alert was dismissed""" - dismissReason: String + """Bosnia and Herzegovina""" + BA - """When was the alert dimissed?""" - dismissedAt: DateTime + """Botswana""" + BW - """The user who dismissed the alert""" - dismisser: User - id: ID! + """Bouvet Island""" + BV - """The associated repository""" - repository: Repository! + """Brazil""" + BR - """The associated security advisory""" - securityAdvisory: SecurityAdvisory + """British Indian Ocean Territory""" + IO - """The associated security vulnerablity""" - securityVulnerability: SecurityVulnerability + """Brunei Darussalam""" + BN - """The vulnerable manifest filename""" - vulnerableManifestFilename: String! + """Bulgaria""" + BG - """The vulnerable manifest path""" - vulnerableManifestPath: String! + """Burkina Faso""" + BF - """The vulnerable requirements""" - vulnerableRequirements: String -} + """Burundi""" + BI -"""The connection type for RepositoryVulnerabilityAlert.""" -type RepositoryVulnerabilityAlertConnection { - """A list of edges.""" - edges: [RepositoryVulnerabilityAlertEdge] + """Cambodia""" + KH - """A list of nodes.""" - nodes: [RepositoryVulnerabilityAlert] + """Cameroon""" + CM - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Canada""" + CA - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Cape Verde""" + CV -"""An edge in a connection.""" -type RepositoryVulnerabilityAlertEdge { - """A cursor for use in pagination.""" - cursor: String! + """Cayman Islands""" + KY - """The item at the end of the edge.""" - node: RepositoryVulnerabilityAlert -} + """Central African Republic""" + CF -"""The possible states that can be requested when creating a check run.""" -enum RequestableCheckStatusState { - """The check suite or run has been queued.""" - QUEUED + """Chad""" + TD - """The check suite or run is in progress.""" - IN_PROGRESS + """Chile""" + CL - """The check suite or run has been completed.""" - COMPLETED -} + """China""" + CN -"""Types that can be requested reviewers.""" -union RequestedReviewer = Mannequin | Team | User + """Christmas Island""" + CX -"""Autogenerated input type of RequestReviews""" -input RequestReviewsInput { - """The Node ID of the pull request to modify.""" - pullRequestId: ID! + """Cocos (Keeling) Islands""" + CC - """The Node IDs of the user to request.""" - userIds: [ID!] + """Colombia""" + CO - """The Node IDs of the team to request.""" - teamIds: [ID!] + """Comoros""" + KM - """Add users to the set rather than replace.""" - union: Boolean + """Congo (Brazzaville)""" + CG - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Congo (Kinshasa)""" + CD -"""Autogenerated return type of RequestReviews""" -type RequestReviewsPayload { - """Identifies the actor who performed the event.""" - actor: Actor + """Cook Islands""" + CK - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Costa Rica""" + CR - """The pull request that is getting requests.""" - pullRequest: PullRequest + """Côte d'Ivoire""" + CI - """The edge from the pull request to the requested reviewers.""" - requestedReviewersEdge: UserEdge -} + """Croatia""" + HR -"""Autogenerated input type of RerequestCheckSuite""" -input RerequestCheckSuiteInput { - """The Node ID of the repository.""" - repositoryId: ID! + """Curaçao""" + CW - """The Node ID of the check suite.""" - checkSuiteId: ID! + """Cyprus""" + CY - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Czech Republic""" + CZ -"""Autogenerated return type of RerequestCheckSuite""" -type RerequestCheckSuitePayload { - """The requested check suite.""" - checkSuite: CheckSuite + """Denmark""" + DK - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Djibouti""" + DJ -"""Autogenerated input type of ResolveReviewThread""" -input ResolveReviewThreadInput { - """The ID of the thread to resolve""" - threadId: ID! + """Dominica""" + DM - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Dominican Republic""" + DO -"""Autogenerated return type of ResolveReviewThread""" -type ResolveReviewThreadPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Ecuador""" + EC - """The thread to resolve.""" - thread: PullRequestReviewThread -} + """Egypt""" + EG -"""Represents a private contribution a user made on GitHub.""" -type RestrictedContribution implements 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: Boolean! + """El Salvador""" + SV - """When this contribution was made.""" - occurredAt: DateTime! + """Equatorial Guinea""" + GQ - """The HTTP path for this contribution.""" - resourcePath: URI! + """Eritrea""" + ER - """The HTTP URL for this contribution.""" - url: URI! + """Estonia""" + EE - """ - The user who made this contribution. - - """ - user: User! -} + """Ethiopia""" + ET -""" -A team or user who has the ability to dismiss a review on a protected branch. -""" -type ReviewDismissalAllowance implements Node { - """The actor that can dismiss.""" - actor: ReviewDismissalAllowanceActor + """Falkland Islands""" + FK - """ - Identifies the branch protection rule associated with the allowed user or team. - """ - branchProtectionRule: BranchProtectionRule - id: ID! -} + """Faroe Islands""" + FO -"""Types that can be an actor.""" -union ReviewDismissalAllowanceActor = Team | User + """Fiji""" + FJ -"""The connection type for ReviewDismissalAllowance.""" -type ReviewDismissalAllowanceConnection { - """A list of edges.""" - edges: [ReviewDismissalAllowanceEdge] + """Finland""" + FI - """A list of nodes.""" - nodes: [ReviewDismissalAllowance] + """France""" + FR - """Information to aid in pagination.""" - pageInfo: PageInfo! + """French Guiana""" + GF - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """French Polynesia""" + PF -"""An edge in a connection.""" -type ReviewDismissalAllowanceEdge { - """A cursor for use in pagination.""" - cursor: String! + """French Southern Lands""" + TF - """The item at the end of the edge.""" - node: ReviewDismissalAllowance -} + """Gabon""" + GA -""" -Represents a 'review_dismissed' event on a given issue or pull request. -""" -type ReviewDismissedEvent implements Node & UniformResourceLocatable { - """Identifies the actor who performed the event.""" - actor: Actor + """Gambia""" + GM - """Identifies the date and time when the object was created.""" - createdAt: DateTime! + """Georgia""" + GE - """Identifies the primary key from the database.""" - databaseId: Int + """Germany""" + DE - """ - Identifies the optional message associated with the 'review_dismissed' event. - """ - dismissalMessage: String + """Ghana""" + GH - """ - Identifies the optional message associated with the event, rendered to HTML. - """ - dismissalMessageHTML: String - id: ID! + """Gibraltar""" + GI - """ - Identifies the previous state of the review with the 'review_dismissed' event. - """ - previousReviewState: PullRequestReviewState! + """Greece""" + GR - """PullRequest referenced by event.""" - pullRequest: PullRequest! + """Greenland""" + GL - """Identifies the commit which caused the review to become stale.""" - pullRequestCommit: PullRequestCommit + """Grenada""" + GD - """The HTTP path for this review dismissed event.""" - resourcePath: URI! + """Guadeloupe""" + GP - """Identifies the review associated with the 'review_dismissed' event.""" - review: PullRequestReview + """Guam""" + GU - """The HTTP URL for this review dismissed event.""" - url: URI! -} + """Guatemala""" + GT -"""A request for a user to review a pull request.""" -type ReviewRequest implements Node { - """Whether this request was created for a code owner""" - asCodeOwner: Boolean! + """Guernsey""" + GG - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """Guinea""" + GN - """Identifies the pull request associated with this review request.""" - pullRequest: PullRequest! + """Guinea-Bissau""" + GW - """The reviewer that is requested.""" - requestedReviewer: RequestedReviewer -} + """Guyana""" + GY -"""The connection type for ReviewRequest.""" -type ReviewRequestConnection { - """A list of edges.""" - edges: [ReviewRequestEdge] + """Haiti""" + HT - """A list of nodes.""" - nodes: [ReviewRequest] + """Heard and McDonald Islands""" + HM - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Honduras""" + HN - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Hong Kong""" + HK -"""Represents an 'review_requested' event on a given pull request.""" -type ReviewRequestedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """Hungary""" + HU - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """Iceland""" + IS - """PullRequest referenced by event.""" - pullRequest: PullRequest! + """India""" + IN - """Identifies the reviewer whose review was requested.""" - requestedReviewer: RequestedReviewer -} + """Indonesia""" + ID -"""An edge in a connection.""" -type ReviewRequestEdge { - """A cursor for use in pagination.""" - cursor: String! + """Iran""" + IR - """The item at the end of the edge.""" - node: ReviewRequest -} + """Iraq""" + IQ -"""Represents an 'review_request_removed' event on a given pull request.""" -type ReviewRequestRemovedEvent implements Node { - """Identifies the actor who performed the event.""" - actor: Actor + """Ireland""" + IE - """Identifies the date and time when the object was created.""" - createdAt: DateTime! - id: ID! + """Isle of Man""" + IM - """PullRequest referenced by event.""" - pullRequest: PullRequest! + """Israel""" + IL - """Identifies the reviewer whose review request was removed.""" - requestedReviewer: RequestedReviewer -} + """Italy""" + IT -""" -A hovercard context with a message describing the current code review state of the pull -request. + """Jamaica""" + JM -""" -type ReviewStatusHovercardContext implements HovercardContext { - """A string describing this context""" - message: String! + """Japan""" + JP + + """Jersey""" + JE + + """Jordan""" + JO + + """Kazakhstan""" + KZ - """An octicon to accompany this context""" - octicon: String! + """Kenya""" + KE - """The current status of the pull request with respect to code review.""" - reviewDecision: PullRequestReviewDecision -} + """Kiribati""" + KI -""" -The possible digest algorithms used to sign SAML requests for an identity provider. -""" -enum SamlDigestAlgorithm { - """SHA1""" - SHA1 + """Korea, South""" + KR - """SHA256""" - SHA256 + """Kuwait""" + KW - """SHA384""" - SHA384 + """Kyrgyzstan""" + KG - """SHA512""" - SHA512 -} + """Laos""" + LA -""" -The possible signature algorithms used to sign SAML requests for a Identity Provider. -""" -enum SamlSignatureAlgorithm { - """RSA-SHA1""" - RSA_SHA1 + """Latvia""" + LV - """RSA-SHA256""" - RSA_SHA256 + """Lebanon""" + LB - """RSA-SHA384""" - RSA_SHA384 + """Lesotho""" + LS - """RSA-SHA512""" - RSA_SHA512 -} + """Liberia""" + LR -"""A Saved Reply is text a user can use to reply quickly.""" -type SavedReply implements Node { - """The body of the saved reply.""" - body: String! + """Libya""" + LY - """The saved reply body rendered to HTML.""" - bodyHTML: HTML! + """Liechtenstein""" + LI - """Identifies the primary key from the database.""" - databaseId: Int - id: ID! + """Lithuania""" + LT - """The title of the saved reply.""" - title: String! + """Luxembourg""" + LU - """The user that saved this reply.""" - user: Actor -} + """Macau""" + MO -"""The connection type for SavedReply.""" -type SavedReplyConnection { - """A list of edges.""" - edges: [SavedReplyEdge] + """Macedonia""" + MK - """A list of nodes.""" - nodes: [SavedReply] + """Madagascar""" + MG - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Malawi""" + MW - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Malaysia""" + MY -"""An edge in a connection.""" -type SavedReplyEdge { - """A cursor for use in pagination.""" - cursor: String! + """Maldives""" + MV - """The item at the end of the edge.""" - node: SavedReply -} + """Mali""" + ML -"""Ordering options for saved reply connections.""" -input SavedReplyOrder { - """The field to order saved replies by.""" - field: SavedReplyOrderField! + """Malta""" + MT - """The ordering direction.""" - direction: OrderDirection! -} + """Marshall Islands""" + MH -"""Properties by which saved reply connections can be ordered.""" -enum SavedReplyOrderField { - """Order saved reply by when they were updated.""" - UPDATED_AT -} + """Martinique""" + MQ -"""The results of a search.""" -union SearchResultItem = App | Issue | MarketplaceListing | Organization | PullRequest | Repository | User + """Mauritania""" + MR -"""A list of results that matched against a search query.""" -type SearchResultItemConnection { - """The number of pieces of code that matched the search query.""" - codeCount: Int! + """Mauritius""" + MU - """A list of edges.""" - edges: [SearchResultItemEdge] + """Mayotte""" + YT - """The number of issues that matched the search query.""" - issueCount: Int! + """Mexico""" + MX - """A list of nodes.""" - nodes: [SearchResultItem] + """Micronesia""" + FM - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Moldova""" + MD - """The number of repositories that matched the search query.""" - repositoryCount: Int! + """Monaco""" + MC - """The number of users that matched the search query.""" - userCount: Int! + """Mongolia""" + MN - """The number of wiki pages that matched the search query.""" - wikiCount: Int! -} + """Montenegro""" + ME -"""An edge in a connection.""" -type SearchResultItemEdge { - """A cursor for use in pagination.""" - cursor: String! + """Montserrat""" + MS - """The item at the end of the edge.""" - node: SearchResultItem + """Morocco""" + MA - """Text matches on the result found.""" - textMatches: [TextMatch] -} + """Mozambique""" + MZ -"""Represents the individual results of a search.""" -enum SearchType { - """Returns results matching issues in repositories.""" - ISSUE + """Myanmar""" + MM - """Returns results matching repositories.""" - REPOSITORY + """Namibia""" + NA - """Returns results matching users and organizations on GitHub.""" - USER -} + """Nauru""" + NR -"""A GitHub Security Advisory""" -type SecurityAdvisory implements Node { - """Identifies the primary key from the database.""" - databaseId: Int + """Nepal""" + NP - """This is a long plaintext description of the advisory""" - description: String! + """Netherlands""" + NL - """The GitHub Security Advisory ID""" - ghsaId: String! - id: ID! + """New Caledonia""" + NC - """A list of identifiers for this advisory""" - identifiers: [SecurityAdvisoryIdentifier!]! + """New Zealand""" + NZ - """The organization that originated the advisory""" - origin: String! + """Nicaragua""" + NI - """The permalink for the advisory""" - permalink: URI + """Niger""" + NE - """When the advisory was published""" - publishedAt: DateTime! + """Nigeria""" + NG - """A list of references for this advisory""" - references: [SecurityAdvisoryReference!]! + """Niue""" + NU - """The severity of the advisory""" - severity: SecurityAdvisorySeverity! + """Norfolk Island""" + NF - """A short plaintext summary of the advisory""" - summary: String! + """Northern Mariana Islands""" + MP - """When the advisory was last updated""" - updatedAt: DateTime! + """Norway""" + NO - """Vulnerabilities associated with this Advisory""" - vulnerabilities( - """Ordering options for the returned topics.""" - orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} + """Oman""" + OM - """An ecosystem to filter vulnerabilities by.""" - ecosystem: SecurityAdvisoryEcosystem + """Pakistan""" + PK - """A package name to filter vulnerabilities by.""" - package: String + """Palau""" + PW - """A list of severities to filter vulnerabilities by.""" - severities: [SecurityAdvisorySeverity!] + """Palestine""" + PS - """Returns the elements in the list that come after the specified cursor.""" - after: String + """Panama""" + PA - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Papua New Guinea""" + PG - """Returns the first _n_ elements from the list.""" - first: Int + """Paraguay""" + PY - """Returns the last _n_ elements from the list.""" - last: Int - ): SecurityVulnerabilityConnection! + """Peru""" + PE - """When the advisory was withdrawn, if it has been withdrawn""" - withdrawnAt: DateTime -} + """Philippines""" + PH -"""The connection type for SecurityAdvisory.""" -type SecurityAdvisoryConnection { - """A list of edges.""" - edges: [SecurityAdvisoryEdge] + """Pitcairn""" + PN - """A list of nodes.""" - nodes: [SecurityAdvisory] + """Poland""" + PL - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Portugal""" + PT - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Puerto Rico""" + PR -"""The possible ecosystems of a security vulnerability's package.""" -enum SecurityAdvisoryEcosystem { - """Ruby gems hosted at RubyGems.org""" - RUBYGEMS + """Qatar""" + QA - """JavaScript packages hosted at npmjs.com""" - NPM + """Reunion""" + RE - """Python packages hosted at PyPI.org""" - PIP + """Romania""" + RO - """Java artifacts hosted at the Maven central repository""" - MAVEN + """Russian Federation""" + RU - """.NET packages hosted at the NuGet Gallery""" - NUGET + """Rwanda""" + RW - """PHP packages hosted at packagist.org""" - COMPOSER -} + """Saint Barthélemy""" + BL -"""An edge in a connection.""" -type SecurityAdvisoryEdge { - """A cursor for use in pagination.""" - cursor: String! + """Saint Helena""" + SH - """The item at the end of the edge.""" - node: SecurityAdvisory -} + """Saint Kitts and Nevis""" + KN -"""A GitHub Security Advisory Identifier""" -type SecurityAdvisoryIdentifier { - """The identifier type, e.g. GHSA, CVE""" - type: String! + """Saint Lucia""" + LC - """The identifier""" - value: String! -} + """Saint Martin (French part)""" + MF -"""An advisory identifier to filter results on.""" -input SecurityAdvisoryIdentifierFilter { - """The identifier type.""" - type: SecurityAdvisoryIdentifierType! + """Saint Pierre and Miquelon""" + PM - """The identifier string. Supports exact or partial matching.""" - value: String! -} + """Saint Vincent and the Grenadines""" + VC -"""Identifier formats available for advisories.""" -enum SecurityAdvisoryIdentifierType { - """Common Vulnerabilities and Exposures Identifier.""" - CVE + """Samoa""" + WS - """GitHub Security Advisory ID.""" - GHSA -} + """San Marino""" + SM -"""Ordering options for security advisory connections""" -input SecurityAdvisoryOrder { - """The field to order security advisories by.""" - field: SecurityAdvisoryOrderField! + """Sao Tome and Principe""" + ST - """The ordering direction.""" - direction: OrderDirection! -} + """Saudi Arabia""" + SA -"""Properties by which security advisory connections can be ordered.""" -enum SecurityAdvisoryOrderField { - """Order advisories by publication time""" - PUBLISHED_AT + """Senegal""" + SN - """Order advisories by update time""" - UPDATED_AT -} + """Serbia""" + RS -"""An individual package""" -type SecurityAdvisoryPackage { - """The ecosystem the package belongs to, e.g. RUBYGEMS, NPM""" - ecosystem: SecurityAdvisoryEcosystem! + """Seychelles""" + SC - """The package name""" - name: String! -} + """Sierra Leone""" + SL -"""An individual package version""" -type SecurityAdvisoryPackageVersion { - """The package name or version""" - identifier: String! -} + """Singapore""" + SG -"""A GitHub Security Advisory Reference""" -type SecurityAdvisoryReference { - """A publicly accessible reference""" - url: URI! -} + """Sint Maarten (Dutch part)""" + SX -"""Severity of the vulnerability.""" -enum SecurityAdvisorySeverity { - """Low.""" - LOW + """Slovakia""" + SK - """Moderate.""" - MODERATE + """Slovenia""" + SI - """High.""" - HIGH + """Solomon Islands""" + SB - """Critical.""" - CRITICAL -} + """Somalia""" + SO -"""An individual vulnerability within an Advisory""" -type SecurityVulnerability { - """The Advisory associated with this Vulnerability""" - advisory: SecurityAdvisory! + """South Africa""" + ZA - """The first version containing a fix for the vulnerability""" - firstPatchedVersion: SecurityAdvisoryPackageVersion + """South Georgia and South Sandwich Islands""" + GS - """A description of the vulnerable package""" - package: SecurityAdvisoryPackage! + """South Sudan""" + SS - """The severity of the vulnerability within this package""" - severity: SecurityAdvisorySeverity! + """Spain""" + ES - """When the vulnerability was last updated""" - updatedAt: DateTime! + """Sri Lanka""" + LK - """ - A string that describes the vulnerable package versions. - This string follows a basic syntax with a few forms. - + `= 0.2.0` denotes a single vulnerable version. - + `<= 1.0.8` denotes a version range up to and including the specified version - + `< 0.1.11` denotes a version range up to, but excluding, the specified version - + `>= 4.3.0, < 4.3.5` denotes a version range with a known minimum and maximum version. - + `>= 0.0.1` denotes a version range with a known minimum, but no known maximum - - """ - vulnerableVersionRange: String! -} + """Sudan""" + SD -"""The connection type for SecurityVulnerability.""" -type SecurityVulnerabilityConnection { - """A list of edges.""" - edges: [SecurityVulnerabilityEdge] + """Suriname""" + SR - """A list of nodes.""" - nodes: [SecurityVulnerability] + """Svalbard and Jan Mayen Islands""" + SJ - """Information to aid in pagination.""" - pageInfo: PageInfo! + """Swaziland""" + SZ - """Identifies the total count of items in the connection.""" - totalCount: Int! -} + """Sweden""" + SE -"""An edge in a connection.""" -type SecurityVulnerabilityEdge { - """A cursor for use in pagination.""" - cursor: String! + """Switzerland""" + CH - """The item at the end of the edge.""" - node: SecurityVulnerability -} + """Taiwan""" + TW -"""Ordering options for security vulnerability connections""" -input SecurityVulnerabilityOrder { - """The field to order security vulnerabilities by.""" - field: SecurityVulnerabilityOrderField! + """Tajikistan""" + TJ - """The ordering direction.""" - direction: OrderDirection! -} + """Tanzania""" + TZ -"""Properties by which security vulnerability connections can be ordered.""" -enum SecurityVulnerabilityOrderField { - """Order vulnerability by update time""" - UPDATED_AT -} + """Thailand""" + TH -"""Autogenerated input type of SetEnterpriseIdentityProvider""" -input SetEnterpriseIdentityProviderInput { - """The ID of the enterprise on which to set an identity provider.""" - enterpriseId: ID! + """Timor-Leste""" + TL - """The URL endpoint for the identity provider's SAML SSO.""" - ssoUrl: URI! + """Togo""" + TG - """The Issuer Entity ID for the SAML identity provider""" - issuer: String + """Tokelau""" + TK - """ - The x509 certificate used by the identity provider to sign assertions and responses. - """ - idpCertificate: String! + """Tonga""" + TO - """ - The signature algorithm used to sign SAML requests for the identity provider. - """ - signatureMethod: SamlSignatureAlgorithm! + """Trinidad and Tobago""" + TT - """ - The digest algorithm used to sign SAML requests for the identity provider. - """ - digestMethod: SamlDigestAlgorithm! + """Tunisia""" + TN - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Turkey""" + TR -"""Autogenerated return type of SetEnterpriseIdentityProvider""" -type SetEnterpriseIdentityProviderPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Turkmenistan""" + TM - """The identity provider for the enterprise.""" - identityProvider: EnterpriseIdentityProvider -} + """Turks and Caicos Islands""" + TC -"""Autogenerated input type of SetOrganizationInteractionLimit""" -input SetOrganizationInteractionLimitInput { - """The ID of the organization to set a limit for.""" - organizationId: ID! + """Tuvalu""" + TV - """The limit to set.""" - limit: RepositoryInteractionLimit! + """Uganda""" + UG - """When this limit should expire.""" - expiry: RepositoryInteractionLimitExpiry + """Ukraine""" + UA - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """United Arab Emirates""" + AE -"""Autogenerated return type of SetOrganizationInteractionLimit""" -type SetOrganizationInteractionLimitPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """United Kingdom""" + GB - """The organization that the interaction limit was set for.""" - organization: Organization -} + """United States Minor Outlying Islands""" + UM -"""Autogenerated input type of SetRepositoryInteractionLimit""" -input SetRepositoryInteractionLimitInput { - """The ID of the repository to set a limit for.""" - repositoryId: ID! + """United States of America""" + US - """The limit to set.""" - limit: RepositoryInteractionLimit! + """Uruguay""" + UY - """When this limit should expire.""" - expiry: RepositoryInteractionLimitExpiry + """Uzbekistan""" + UZ - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Vanuatu""" + VU -"""Autogenerated return type of SetRepositoryInteractionLimit""" -type SetRepositoryInteractionLimitPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Vatican City""" + VA - """The repository that the interaction limit was set for.""" - repository: Repository -} + """Venezuela""" + VE -"""Autogenerated input type of SetUserInteractionLimit""" -input SetUserInteractionLimitInput { - """The ID of the user to set a limit for.""" - userId: ID! + """Vietnam""" + VN - """The limit to set.""" - limit: RepositoryInteractionLimit! + """Virgin Islands, British""" + VG - """When this limit should expire.""" - expiry: RepositoryInteractionLimitExpiry + """Virgin Islands, U.S.""" + VI - """A unique identifier for the client performing the mutation.""" - clientMutationId: String -} + """Wallis and Futuna Islands""" + WF -"""Autogenerated return type of SetUserInteractionLimit""" -type SetUserInteractionLimitPayload { - """A unique identifier for the client performing the mutation.""" - clientMutationId: String + """Western Sahara""" + EH - """The user that the interaction limit was set for.""" - user: User + """Yemen""" + YE + + """Zambia""" + ZM + + """Zimbabwe""" + ZW } -"""Represents an S/MIME signature on a Commit or Tag.""" -type SmimeSignature implements GitSignature { - """Email used to sign this object.""" - email: String! +""" +A goal associated with a GitHub Sponsors listing, representing a target the sponsored maintainer would like to attain. +""" +type SponsorsGoal { + """A description of the goal from the maintainer.""" + description: String - """True if the signature is valid and verified by GitHub.""" - isValid: Boolean! + """What the objective of this goal is.""" + kind: SponsorsGoalKind! + + """The percentage representing how complete this goal is, between 0-100.""" + percentComplete: Int! """ - Payload for GPG signing object. Raw ODB object without the signature header. + What the goal amount is. Represents an amount in USD for monthly sponsorship + amount goals. Represents a count of unique sponsors for total sponsors count goals. """ - payload: String! + targetValue: Int! - """ASCII-armored signature header from object.""" - signature: String! + """A brief summary of the kind and target value of this goal.""" + title: String! +} - """GitHub user corresponding to the email signing this commit.""" - signer: User +"""The different kinds of goals a GitHub Sponsors member can have.""" +enum SponsorsGoalKind { + """The goal is about reaching a certain number of sponsors.""" + TOTAL_SPONSORS_COUNT """ - The state of this signature. `VALID` if signature is valid and verified by - GitHub, otherwise represents reason why signature is considered invalid. + The goal is about getting a certain amount in USD from sponsorships each month. """ - state: GitSignatureState! - - """True if the signature was made with GitHub's signing key.""" - wasSignedByGitHub: Boolean! + MONTHLY_SPONSORSHIP_AMOUNT } -"""Entites that can sponsor others via GitHub Sponsors""" -union Sponsor = Organization | User +"""A sponsorship relationship between a sponsor and a maintainer""" +type Sponsorship implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + id: ID! -"""Entities that can be sponsored through GitHub Sponsors""" -interface Sponsorable { - """True if this user/organization has a GitHub Sponsors listing.""" - hasSponsorsListing: Boolean! + """ + Whether the sponsorship is active. False implies the sponsor is a past sponsor + of the maintainer, while true implies they are a current sponsor. + """ + isActive: Boolean! - """True if the viewer is sponsored by this user/organization.""" - isSponsoringViewer: Boolean! + """ + Whether this sponsorship represents a one-time payment versus a recurring sponsorship. + """ + isOneTimePayment: Boolean! - """The GitHub Sponsors listing for this user or organization.""" - sponsorsListing: SponsorsListing + """ + Whether the sponsor has chosen to receive sponsorship update emails sent from + the sponsorable. Only returns a non-null value when the viewer has permission to know this. + """ + isSponsorOptedIntoEmail: Boolean - """This object's sponsorships as the maintainer.""" - sponsorshipsAsMaintainer( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """The privacy level for this sponsorship.""" + privacyLevel: SponsorshipPrivacy! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The user or organization that is sponsoring, if you have permission to view them. + """ + sponsorEntity: Sponsor - """Returns the first _n_ elements from the list.""" - first: Int + """The entity that is being sponsored""" + sponsorable: Sponsorable! - """Returns the last _n_ elements from the list.""" - last: Int + """The associated sponsorship tier""" + tier: SponsorsTier - """Whether or not to include private sponsorships in the result set""" - includePrivate: Boolean = false + """ + Identifies the date and time when the current tier was chosen for this sponsorship. + """ + tierSelectedAt: DateTime +} - """ - Ordering options for sponsorships returned from this connection. If left - blank, the sponsorships will be ordered based on relevancy to the viewer. - """ - orderBy: SponsorshipOrder - ): SponsorshipConnection! +"""The connection type for Sponsorship.""" +type SponsorshipConnection { + """A list of edges.""" + edges: [SponsorshipEdge] - """This object's sponsorships as the sponsor.""" - sponsorshipsAsSponsor( - """Returns the elements in the list that come after the specified cursor.""" - after: String + """A list of nodes.""" + nodes: [Sponsorship] - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """Information to aid in pagination.""" + pageInfo: PageInfo! - """Returns the first _n_ elements from the list.""" - first: Int + """Identifies the total count of items in the connection.""" + totalCount: Int! - """Returns the last _n_ elements from the list.""" - last: Int + """ + The total amount in cents of all recurring sponsorships in the connection + whose amount you can view. Does not include one-time sponsorships. + """ + totalRecurringMonthlyPriceInCents: Int! - """ - Ordering options for sponsorships returned from this connection. If left - blank, the sponsorships will be ordered based on relevancy to the viewer. - """ - orderBy: SponsorshipOrder - ): SponsorshipConnection! + """ + The total amount in USD of all recurring sponsorships in the connection whose + amount you can view. Does not include one-time sponsorships. + """ + totalRecurringMonthlyPriceInDollars: Int! +} - """Whether or not the viewer is able to sponsor this user/organization.""" - viewerCanSponsor: Boolean! +"""An edge in a connection.""" +type SponsorshipEdge { + """A cursor for use in pagination.""" + cursor: String! - """True if the viewer is sponsoring this user/organization.""" - viewerIsSponsoring: Boolean! + """The item at the end of the edge.""" + node: Sponsorship } -"""A sponsorship relationship between a sponsor and a maintainer""" -type Sponsorship implements Node { +""" +An update sent to sponsors of a user or organization on GitHub Sponsors. +""" +type SponsorshipNewsletter implements Node { + """The author of the newsletter.""" + author: User + + """ + The contents of the newsletter, the message the sponsorable wanted to give. + """ + body: String! + """Identifies the date and time when the object was created.""" createdAt: DateTime! id: ID! - """The privacy level for this sponsorship.""" - privacyLevel: SponsorshipPrivacy! - - """ - The user or organization that is sponsoring, if you have permission to view them. - """ - sponsorEntity: Sponsor + """Indicates if the newsletter has been made available to sponsors.""" + isPublished: Boolean! - """The entity that is being sponsored""" + """The user or organization this newsletter is from.""" sponsorable: Sponsorable! - """The associated sponsorship tier""" - tier: SponsorsTier + """The subject of the newsletter, what it's about.""" + subject: String! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! } -"""The connection type for Sponsorship.""" -type SponsorshipConnection { +"""The connection type for SponsorshipNewsletter.""" +type SponsorshipNewsletterConnection { """A list of edges.""" - edges: [SponsorshipEdge] + edges: [SponsorshipNewsletterEdge] """A list of nodes.""" - nodes: [Sponsorship] + nodes: [SponsorshipNewsletter] """Information to aid in pagination.""" pageInfo: PageInfo! @@ -20344,12 +30304,27 @@ type SponsorshipConnection { } """An edge in a connection.""" -type SponsorshipEdge { +type SponsorshipNewsletterEdge { """A cursor for use in pagination.""" cursor: String! """The item at the end of the edge.""" - node: Sponsorship + node: SponsorshipNewsletter +} + +"""Ordering options for sponsorship newsletter connections.""" +input SponsorshipNewsletterOrder { + """The field to order sponsorship newsletters by.""" + field: SponsorshipNewsletterOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which sponsorship update connections can be ordered.""" +enum SponsorshipNewsletterOrderField { + """Order sponsorship newsletters by when they were created.""" + CREATED_AT } """Ordering options for sponsorship connections.""" @@ -20378,9 +30353,53 @@ enum SponsorshipPrivacy { """A GitHub Sponsors listing.""" type SponsorsListing implements Node { + """ + The current goal the maintainer is trying to reach with GitHub Sponsors, if any. + """ + activeGoal: SponsorsGoal + + """ + The Stripe Connect account currently in use for payouts for this Sponsors + listing, if any. Will only return a value when queried by the maintainer + themselves, or by an admin of the sponsorable organization. + """ + activeStripeConnectAccount: StripeConnectAccount + + """ + The name of the country or region with the maintainer's bank account or fiscal + host. Will only return a value when queried by the maintainer themselves, or + by an admin of the sponsorable organization. + """ + billingCountryOrRegion: String + + """ + The email address used by GitHub to contact the sponsorable about their GitHub + Sponsors profile. Will only return a value when queried by the maintainer + themselves, or by an admin of the sponsorable organization. + """ + contactEmailAddress: String + """Identifies the date and time when the object was created.""" createdAt: DateTime! + """The HTTP path for the Sponsors dashboard for this Sponsors listing.""" + dashboardResourcePath: URI! + + """The HTTP URL for the Sponsors dashboard for this Sponsors listing.""" + dashboardUrl: URI! + + """The records featured on the GitHub Sponsors profile.""" + featuredItems( + """The types of featured items to return.""" + featureableTypes: [SponsorsListingFeaturedItemFeatureableType!] = [REPOSITORY, USER] + ): [SponsorsListingFeaturedItem!]! + + """ + The fiscal host used for payments, if any. Will only return a value when + queried by the maintainer themselves, or by an admin of the sponsorable organization. + """ + fiscalHost: Organization + """The full description of the listing.""" fullDescription: String! @@ -20388,16 +30407,37 @@ type SponsorsListing implements Node { fullDescriptionHTML: HTML! id: ID! + """Whether this listing is publicly visible.""" + isPublic: Boolean! + """The listing's full name.""" name: String! + """A future date on which this listing is eligible to receive a payout.""" + nextPayoutDate: Date + + """ + The name of the country or region where the maintainer resides. Will only + return a value when queried by the maintainer themselves, or by an admin of + the sponsorable organization. + """ + residenceCountryOrRegion: String + + """The HTTP path for this Sponsors listing.""" + resourcePath: URI! + """The short description of the listing.""" shortDescription: String! """The short name of the listing.""" slug: String! - """The published tiers for this GitHub Sponsors listing.""" + """ + The entity this listing represents who can be sponsored on GitHub Sponsors. + """ + sponsorable: Sponsorable! + + """The tiers for this GitHub Sponsors profile.""" tiers( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -20415,7 +30455,66 @@ type SponsorsListing implements Node { """Ordering options for Sponsors tiers returned from the connection.""" orderBy: SponsorsTierOrder = {field: MONTHLY_PRICE_IN_CENTS, direction: ASC} + + """ + Whether to include tiers that aren't published. Only admins of the Sponsors + listing can see draft tiers. Only admins of the Sponsors listing and viewers + who are currently sponsoring on a retired tier can see those retired tiers. + Defaults to including only published tiers, which are visible to anyone who + can see the GitHub Sponsors profile. + """ + includeUnpublished: Boolean = false ): SponsorsTierConnection + + """The HTTP URL for this Sponsors listing.""" + url: URI! +} + +"""A record that can be featured on a GitHub Sponsors profile.""" +union SponsorsListingFeatureableItem = Repository | User + +"""A record that is promoted on a GitHub Sponsors profile.""" +type SponsorsListingFeaturedItem implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """ + Will either be a description from the sponsorable maintainer about why they + featured this item, or the item's description itself, such as a user's bio + from their GitHub profile page. + """ + description: String + + """The record that is featured on the GitHub Sponsors profile.""" + featureable: SponsorsListingFeatureableItem! + id: ID! + + """ + The position of this featured item on the GitHub Sponsors profile with a lower + position indicating higher precedence. Starts at 1. + """ + position: Int! + + """The GitHub Sponsors profile that features this record.""" + sponsorsListing: SponsorsListing! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} + +""" +The different kinds of records that can be featured on a GitHub Sponsors profile page. +""" +enum SponsorsListingFeaturedItemFeatureableType { + """ + A repository owned by the user or organization with the GitHub Sponsors profile. + """ + REPOSITORY + + """ + A user who belongs to the organization with the GitHub Sponsors profile. + """ + USER } """A GitHub Sponsors tier associated with a GitHub Sponsors listing.""" @@ -20425,6 +30524,13 @@ type SponsorsTier implements Node { """ adminInfo: SponsorsTierAdminInfo + """ + Get a different tier for this tier's maintainer that is at the same frequency + as this tier but with an equal or lesser cost. Returns the published tier with + the monthly price closest to this tier's without going over. + """ + closestLesserValueTier: SponsorsTier + """Identifies the date and time when the object was created.""" createdAt: DateTime! @@ -20435,10 +30541,19 @@ type SponsorsTier implements Node { descriptionHTML: HTML! id: ID! + """ + Whether this tier was chosen at checkout time by the sponsor rather than + defined ahead of time by the maintainer who manages the Sponsors listing. + """ + isCustomAmount: Boolean! + + """Whether this tier is only for use with one-time sponsorships.""" + isOneTime: Boolean! + """How much this tier costs per month in cents.""" monthlyPriceInCents: Int! - """How much this tier costs per month in dollars.""" + """How much this tier costs per month in USD.""" monthlyPriceInDollars: Int! """The name of the tier.""" @@ -20455,7 +30570,32 @@ type SponsorsTier implements Node { SponsorsTier information only visible to users that can administer the associated Sponsors listing. """ type SponsorsTierAdminInfo { - """The sponsorships associated with this tier.""" + """ + Indicates whether this tier is still a work in progress by the sponsorable and + not yet published to the associated GitHub Sponsors profile. Draft tiers + cannot be used for new sponsorships and will not be in use on existing + sponsorships. Draft tiers cannot be seen by anyone but the admins of the + GitHub Sponsors profile. + """ + isDraft: Boolean! + + """ + Indicates whether this tier is published to the associated GitHub Sponsors + profile. Published tiers are visible to anyone who can see the GitHub Sponsors + profile, and are available for use in sponsorships if the GitHub Sponsors + profile is publicly visible. + """ + isPublished: Boolean! + + """ + Indicates whether this tier has been retired from the associated GitHub + Sponsors profile. Retired tiers are no longer shown on the GitHub Sponsors + profile and cannot be chosen for new sponsorships. Existing sponsorships may + still use retired tiers if the sponsor selected the tier before it was retired. + """ + isRetired: Boolean! + + """The sponsorships using this tier.""" sponsorships( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -20471,7 +30611,10 @@ type SponsorsTierAdminInfo { """Returns the last _n_ elements from the list.""" last: Int - """Whether or not to include private sponsorships in the result set""" + """ + Whether or not to return private sponsorships using this tier. Defaults to + only returning public sponsorships on this tier. + """ includePrivate: Boolean = false """ @@ -20524,6 +30667,61 @@ enum SponsorsTierOrderField { MONTHLY_PRICE_IN_CENTS } +"""The possible default commit messages for squash merges.""" +enum SquashMergeCommitMessage { + """Default to the pull request's body.""" + PR_BODY + + """Default to the branch's commit messages.""" + COMMIT_MESSAGES + + """Default to a blank commit message.""" + BLANK +} + +"""The possible default commit titles for squash merges.""" +enum SquashMergeCommitTitle { + """Default to the pull request's title.""" + PR_TITLE + + """ + Default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + """ + COMMIT_OR_PR_TITLE +} + +"""Represents an SSH signature on a Commit or Tag.""" +type SshSignature implements GitSignature { + """Email used to sign this object.""" + email: String! + + """True if the signature is valid and verified by GitHub.""" + isValid: Boolean! + + """Hex-encoded fingerprint of the key that signed this object.""" + keyFingerprint: String + + """ + Payload for GPG signing object. Raw ODB object without the signature header. + """ + payload: String! + + """ASCII-armored signature header from object.""" + signature: String! + + """GitHub user corresponding to the email signing this commit.""" + signer: User + + """ + The state of this signature. `VALID` if signature is valid and verified by + GitHub, otherwise represents reason why signature is considered invalid. + """ + state: GitSignatureState! + + """True if the signature was made with GitHub's signing key.""" + wasSignedByGitHub: Boolean! +} + """The connection type for User.""" type StargazerConnection { """A list of edges.""" @@ -20630,6 +30828,86 @@ type StarredRepositoryEdge { starredAt: DateTime! } +"""Autogenerated input type of StartOrganizationMigration""" +input StartOrganizationMigrationInput { + """The URL of the organization to migrate.""" + sourceOrgUrl: URI! + + """The name of the target organization.""" + targetOrgName: String! + + """The ID of the enterprise the target organization belongs to.""" + targetEnterpriseId: ID! + + """The migration source access token.""" + sourceAccessToken: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of StartOrganizationMigration""" +type StartOrganizationMigrationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new organization migration.""" + orgMigration: OrganizationMigration +} + +"""Autogenerated input type of StartRepositoryMigration""" +input StartRepositoryMigrationInput { + """The ID of the migration source.""" + sourceId: ID! + + """The ID of the organization that will own the imported repository.""" + ownerId: ID! + + """The URL of the source repository.""" + sourceRepositoryUrl: URI + + """The name of the imported repository.""" + repositoryName: String! + + """Whether to continue the migration on error. Defaults to `false`.""" + continueOnError: Boolean + + """The signed URL to access the user-uploaded git archive.""" + gitArchiveUrl: String + + """The signed URL to access the user-uploaded metadata archive.""" + metadataArchiveUrl: String + + """The migration source access token.""" + accessToken: String + + """ + The GitHub personal access token of the user importing to the target repository. + """ + githubPat: String + + """Whether to skip migrating releases for the repository.""" + skipReleases: Boolean + + """The visibility of the imported repository.""" + targetRepoVisibility: String + + """Whether to lock the source repository.""" + lockSource: Boolean + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of StartRepositoryMigration""" +type StartRepositoryMigrationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The new repository migration.""" + repositoryMigration: RepositoryMigration +} + """Represents a commit status.""" type Status implements Node { """A list of status contexts and check runs for this commit.""" @@ -20698,6 +30976,12 @@ union StatusCheckRollupContext = CheckRun | StatusContext """The connection type for StatusCheckRollupContext.""" type StatusCheckRollupContextConnection { + """The number of check runs in this rollup.""" + checkRunCount: Int! + + """Counts of check runs by state.""" + checkRunCountsByState: [CheckRunStateCount!] + """A list of edges.""" edges: [StatusCheckRollupContextEdge] @@ -20707,6 +30991,12 @@ type StatusCheckRollupContextConnection { """Information to aid in pagination.""" pageInfo: PageInfo! + """The number of status contexts in this rollup.""" + statusContextCount: Int! + + """Counts of status contexts by state.""" + statusContextCountsByState: [StatusContextStateCount!] + """Identifies the total count of items in the connection.""" totalCount: Int! } @@ -20721,7 +31011,7 @@ type StatusCheckRollupContextEdge { } """Represents an individual commit status context""" -type StatusContext implements Node { +type StatusContext implements RequirableByPullRequest & Node { """ The avatar of the OAuth application or the user that created the status """ @@ -20746,6 +31036,17 @@ type StatusContext implements Node { description: String id: ID! + """ + Whether this is required to pass before merging for a specific pull request. + """ + isRequired( + """The id of the pull request this is required for""" + pullRequestId: ID + + """The number of the pull request this is required for""" + pullRequestNumber: Int + ): Boolean! + """The state of this status context.""" state: StatusState! @@ -20753,6 +31054,15 @@ type StatusContext implements Node { targetUrl: URI } +"""Represents a count of the state of a status context.""" +type StatusContextStateCount { + """The number of statuses with this state.""" + count: Int! + + """The state of a status context.""" + state: StatusState! +} + """The possible commit status states.""" enum StatusState { """Status is expected.""" @@ -20771,6 +31081,42 @@ enum StatusState { SUCCESS } +""" +A Stripe Connect account for receiving sponsorship funds from GitHub Sponsors. +""" +type StripeConnectAccount { + """The account number used to identify this Stripe Connect account.""" + accountId: String! + + """ + The name of the country or region of an external account, such as a bank + account, tied to the Stripe Connect account. Will only return a value when + queried by the maintainer of the associated GitHub Sponsors profile + themselves, or by an admin of the sponsorable organization. + """ + billingCountryOrRegion: String + + """ + The name of the country or region of the Stripe Connect account. Will only + return a value when queried by the maintainer of the associated GitHub + Sponsors profile themselves, or by an admin of the sponsorable organization. + """ + countryOrRegion: String + + """ + Whether this Stripe Connect account is currently in use for the associated GitHub Sponsors profile. + """ + isActive: Boolean! + + """ + The GitHub Sponsors profile associated with this Stripe Connect account. + """ + sponsorsListing: SponsorsListing! + + """The URL to access this Stripe Connect account on Stripe's website.""" + stripeDashboardUrl: URI! +} + """Autogenerated input type of SubmitPullRequestReview""" input SubmitPullRequestReviewInput { """The Pull Request ID to submit any pending reviews.""" @@ -20811,9 +31157,17 @@ type Submodule { """The name of the submodule in .gitmodules""" name: String! + """The name of the submodule in .gitmodules (Base64-encoded)""" + nameRaw: Base64String! + """The path in the superproject that this submodule is located in""" path: String! + """ + The path in the superproject that this submodule is located in (Base64-encoded) + """ + pathRaw: Base64String! + """ The commit revision of the subproject repository being tracked by the submodule """ @@ -21116,17 +31470,54 @@ type Team implements Node & Subscribable & MemberStatusable { """The HTTP path creating a new team""" newTeamResourcePath: URI! - """The HTTP URL creating a new team""" - newTeamUrl: URI! + """The HTTP URL creating a new team""" + newTeamUrl: URI! + + """The notification setting that the team has set.""" + notificationSetting: TeamNotificationSetting! + + """The organization that owns this team.""" + organization: Organization! + + """The parent team of the team.""" + parentTeam: Team + + """The level of privacy the team has.""" + privacy: TeamPrivacy! + + """ + Finds and returns the project according to the provided project number. + """ + projectV2( + """The Project number.""" + number: Int! + ): ProjectV2 + + """List of projects this team has collaborator access to.""" + projectsV2( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int - """The organization that owns this team.""" - organization: Organization! + """Returns the last _n_ elements from the list.""" + last: Int - """The parent team of the team.""" - parentTeam: Team + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """The level of privacy the team has.""" - privacy: TeamPrivacy! + """Filtering options for projects returned from this connection""" + filterBy: ProjectV2Filters = {} + + """The query to search projects by.""" + query: String = "" + ): ProjectV2Connection! """A list of repositories this team has access to.""" repositories( @@ -21144,7 +31535,9 @@ type Team implements Node & Subscribable & MemberStatusable { """Returns the last _n_ elements from the list.""" last: Int - """The search string to look for.""" + """ + The search string to look for. Repositories will be returned where the name contains your search string. + """ query: String """Order for the connection.""" @@ -21925,6 +32318,15 @@ enum TeamMembershipType { ALL } +"""The possible team notification values.""" +enum TeamNotificationSetting { + """Everyone will receive notifications when the team is @mentioned.""" + NOTIFICATIONS_ENABLED + + """No one will receive notifications.""" + NOTIFICATIONS_DISABLED +} + """Ways in which team connections can be ordered.""" input TeamOrder { """The field in which to order nodes by.""" @@ -22212,6 +32614,53 @@ type Topic implements Node & Starrable { first: Int = 3 ): [Topic!]! + """A list of repositories.""" + repositories( + """If non-null, filters repositories according to privacy""" + privacy: RepositoryPrivacy + + """Ordering options for repositories returned from the connection""" + orderBy: RepositoryOrder + + """ + Array of viewer's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + current viewer owns. + """ + affiliations: [RepositoryAffiliation] + + """ + Array of owner's affiliation options for repositories returned from the + connection. For example, OWNER will include only repositories that the + organization or user being viewed owns. + """ + ownerAffiliations: [RepositoryAffiliation] = [OWNER, COLLABORATOR] + + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """ + If true, only repositories whose owner can be sponsored via GitHub Sponsors will be returned. + """ + sponsorableOnly: Boolean = false + ): RepositoryConnection! + """ Returns a count of how many stargazers there are on this object @@ -22270,6 +32719,36 @@ enum TopicSuggestionDeclineReason { TOO_GENERAL } +"""The possible states of a tracked issue.""" +enum TrackedIssueStates { + """The tracked issue is open""" + OPEN + + """The tracked issue is closed""" + CLOSED +} + +"""Autogenerated input type of TransferEnterpriseOrganization""" +input TransferEnterpriseOrganizationInput { + """The ID of the organization to transfer.""" + organizationId: ID! + + """The ID of the enterprise where the organization should be transferred.""" + destinationEnterpriseId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of TransferEnterpriseOrganization""" +type TransferEnterpriseOrganizationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The organization for which a transfer was initiated.""" + organization: Organization +} + """Autogenerated input type of TransferIssue""" input TransferIssueInput { """The Node ID of the issue to be transferred""" @@ -22278,6 +32757,11 @@ input TransferIssueInput { """The Node ID of the repository the issue should be transferred to""" repositoryId: ID! + """ + Whether to create labels if they don't exist in the target repository (matched by name) + """ + createLabelsIfMissing: Boolean = false + """A unique identifier for the client performing the mutation.""" clientMutationId: String } @@ -22337,12 +32821,21 @@ type TreeEntry { """Whether or not this tree entry is generated""" isGenerated: Boolean! + """The programming language this file is written in.""" + language: Language + + """Number of lines in the file.""" + lineCount: Int + """Entry file mode.""" mode: Int! """Entry file name.""" name: String! + """Entry file name. (Base64-encoded)""" + nameRaw: Base64String! + """Entry file object.""" object: GitObject @@ -22352,9 +32845,15 @@ type TreeEntry { """The full path of the file.""" path: String + """The full path of the file. (Base64-encoded)""" + pathRaw: Base64String + """The Repository the tree entry belongs to""" repository: Repository! + """Entry byte size""" + size: Int! + """ If the TreeEntry is for a directory occupied by a submodule project, this returns the corresponding submodule """ @@ -22364,6 +32863,27 @@ type TreeEntry { type: String! } +"""Autogenerated input type of UnarchiveProjectV2Item""" +input UnarchiveProjectV2ItemInput { + """The ID of the Project to archive the item from.""" + projectId: ID! + + """The ID of the ProjectV2Item to unarchive.""" + itemId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UnarchiveProjectV2Item""" +type UnarchiveProjectV2ItemPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The item unarchived from the project.""" + item: ProjectV2Item +} + """Autogenerated input type of UnarchiveRepository""" input UnarchiveRepositoryInput { """The ID of the repository to unarchive.""" @@ -22398,6 +32918,24 @@ type UnassignedEvent implements Node { id: ID! } +"""Autogenerated input type of UnfollowOrganization""" +input UnfollowOrganizationInput { + """ID of the organization to unfollow.""" + organizationId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UnfollowOrganization""" +type UnfollowOrganizationPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The organization that was unfollowed.""" + organization: Organization +} + """Autogenerated input type of UnfollowUser""" input UnfollowUserInput { """ID of the user to unfollow.""" @@ -22470,6 +33008,48 @@ type UnlabeledEvent implements Node { labelable: Labelable! } +"""Autogenerated input type of UnlinkProjectV2FromRepository""" +input UnlinkProjectV2FromRepositoryInput { + """The ID of the project to unlink from the repository.""" + projectId: ID! + + """The ID of the repository to unlink from the project.""" + repositoryId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UnlinkProjectV2FromRepository""" +type UnlinkProjectV2FromRepositoryPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The repository the project is no longer linked to.""" + repository: Repository +} + +"""Autogenerated input type of UnlinkProjectV2FromTeam""" +input UnlinkProjectV2FromTeamInput { + """The ID of the project to unlink from the team.""" + projectId: ID! + + """The ID of the team to unlink from the project.""" + teamId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UnlinkProjectV2FromTeam""" +type UnlinkProjectV2FromTeamPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The team the project is unlinked from""" + team: Team +} + """Autogenerated input type of UnlinkRepositoryFromProject""" input UnlinkRepositoryFromProjectInput { """The ID of the Project linked to the Repository.""" @@ -22528,6 +33108,24 @@ type UnlockLockablePayload { unlockedRecord: Lockable } +"""Autogenerated input type of UnmarkDiscussionCommentAsAnswer""" +input UnmarkDiscussionCommentAsAnswerInput { + """The Node ID of the discussion comment to unmark as an answer.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UnmarkDiscussionCommentAsAnswer""" +type UnmarkDiscussionCommentAsAnswerPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The discussion that includes the comment.""" + discussion: Discussion +} + """ Represents an 'unmarked_as_duplicate' event on a given issue or pull request. """ @@ -22615,6 +33213,24 @@ type UnminimizeCommentPayload { unminimizedComment: Minimizable } +"""Autogenerated input type of UnpinIssue""" +input UnpinIssueInput { + """The ID of the issue to be unpinned""" + issueId: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UnpinIssue""" +type UnpinIssuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The issue that was unpinned""" + issue: Issue +} + """Represents an 'unpinned' event on a given issue or pull request.""" type UnpinnedEvent implements Node { """Identifies the actor who performed the event.""" @@ -22691,6 +33307,9 @@ input UpdateBranchProtectionRuleInput { """Are merge commits prohibited from being pushed to this branch.""" requiresLinearHistory: Boolean + """Is branch creation a protected operation.""" + blocksCreations: Boolean + """Are force pushes allowed on this branch.""" allowsForcePushes: Boolean @@ -22718,14 +33337,24 @@ input UpdateBranchProtectionRuleInput { restrictsReviewDismissals: Boolean """ - A list of User or Team IDs allowed to dismiss reviews on pull requests targeting matching branches. + A list of User, Team, or App IDs allowed to dismiss reviews on pull requests targeting matching branches. """ reviewDismissalActorIds: [ID!] + """ + A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. + """ + bypassPullRequestActorIds: [ID!] + + """ + A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. + """ + bypassForcePushActorIds: [ID!] + """Is pushing to matching branches restricted.""" restrictsPushes: Boolean - """A list of User, Team or App IDs allowed to push to matching branches.""" + """A list of User, Team, or App IDs allowed to push to matching branches.""" pushActorIds: [ID!] """ @@ -22733,6 +33362,34 @@ input UpdateBranchProtectionRuleInput { """ requiredStatusCheckContexts: [String!] + """The list of required status checks""" + requiredStatusChecks: [RequiredStatusCheckInput!] + + """Are successful deployments required before merging.""" + requiresDeployments: Boolean + + """The list of required deployment environments""" + requiredDeploymentEnvironments: [String!] + + """Are conversations required to be resolved before merging.""" + requiresConversationResolution: Boolean + + """ + Whether the most recent push must be approved by someone other than the person who pushed it + """ + requireLastPushApproval: Boolean + + """ + Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. + """ + lockBranch: Boolean + + """ + Whether users can pull changes from upstream when the branch is locked. Set to + `true` to allow fork syncing. Set to `false` to prevent fork syncing. + """ + lockAllowsFetchAndMerge: Boolean + """A unique identifier for the client performing the mutation.""" clientMutationId: String } @@ -22819,6 +33476,56 @@ type UpdateCheckSuitePreferencesPayload { repository: Repository } +"""Autogenerated input type of UpdateDiscussionComment""" +input UpdateDiscussionCommentInput { + """The Node ID of the discussion comment to update.""" + commentId: ID! + + """The new contents of the comment body.""" + body: String! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateDiscussionComment""" +type UpdateDiscussionCommentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The modified discussion comment.""" + comment: DiscussionComment +} + +"""Autogenerated input type of UpdateDiscussion""" +input UpdateDiscussionInput { + """The Node ID of the discussion to update.""" + discussionId: ID! + + """The new discussion title.""" + title: String + + """The new contents of the discussion body.""" + body: String + + """ + The Node ID of a discussion category within the same repository to change this discussion to. + """ + categoryId: ID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateDiscussion""" +type UpdateDiscussionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The modified discussion.""" + discussion: Discussion +} + """Autogenerated input type of UpdateEnterpriseAdministratorRole""" input UpdateEnterpriseAdministratorRoleInput { """The ID of the Enterprise which the admin belongs to.""" @@ -22857,6 +33564,11 @@ input UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput { """ settingValue: EnterpriseEnabledDisabledSettingValue! + """ + The value for the allow private repository forking policy on the enterprise. + """ + policyValue: EnterpriseAllowPrivateRepositoryForkingPolicyValue + """A unique identifier for the client performing the mutation.""" clientMutationId: String } @@ -22884,12 +33596,12 @@ Autogenerated input type of UpdateEnterpriseDefaultRepositoryPermissionSetting """ input UpdateEnterpriseDefaultRepositoryPermissionSettingInput { """ - The ID of the enterprise on which to set the default repository permission setting. + The ID of the enterprise on which to set the base repository permission setting. """ enterpriseId: ID! """ - The value for the default repository permission setting on the enterprise. + The value for the base repository permission setting on the enterprise. """ settingValue: EnterpriseDefaultRepositoryPermissionSettingValue! @@ -22904,11 +33616,11 @@ type UpdateEnterpriseDefaultRepositoryPermissionSettingPayload { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """The enterprise with the updated default repository permission setting.""" + """The enterprise with the updated base repository permission setting.""" enterprise: Enterprise """ - A message confirming the result of updating the default repository permission setting. + A message confirming the result of updating the base repository permission setting. """ message: String } @@ -23248,6 +33960,32 @@ type UpdateEnterpriseOrganizationProjectsSettingPayload { message: String } +"""Autogenerated input type of UpdateEnterpriseOwnerOrganizationRole""" +input UpdateEnterpriseOwnerOrganizationRoleInput { + """The ID of the Enterprise which the owner belongs to.""" + enterpriseId: ID! + + """The ID of the organization for membership change.""" + organizationId: ID! + + """The role to assume in the organization.""" + organizationRole: RoleInOrganization! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateEnterpriseOwnerOrganizationRole""" +type UpdateEnterpriseOwnerOrganizationRolePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """ + A message confirming the result of changing the owner's organization role. + """ + message: String +} + """Autogenerated input type of UpdateEnterpriseProfile""" input UpdateEnterpriseProfileInput { """The Enterprise ID to update.""" @@ -23357,15 +34095,41 @@ type UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """ - The enterprise with the updated two factor authentication required setting. - """ - enterprise: Enterprise + """ + The enterprise with the updated two factor authentication required setting. + """ + enterprise: Enterprise + + """ + A message confirming the result of updating the two factor authentication required setting. + """ + message: String +} + +"""Autogenerated input type of UpdateEnvironment""" +input UpdateEnvironmentInput { + """The node ID of the environment.""" + environmentId: ID! + + """The wait timer in minutes.""" + waitTimer: Int + + """ + The ids of users or teams that can approve deployments to this environment + """ + reviewers: [ID!] + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateEnvironment""" +type UpdateEnvironmentPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String - """ - A message confirming the result of updating the two factor authentication required setting. - """ - message: String + """The updated environment.""" + environment: Environment } """Autogenerated input type of UpdateIpAllowListEnabledSetting""" @@ -23418,6 +34182,33 @@ type UpdateIpAllowListEntryPayload { ipAllowListEntry: IpAllowListEntry } +""" +Autogenerated input type of UpdateIpAllowListForInstalledAppsEnabledSetting +""" +input UpdateIpAllowListForInstalledAppsEnabledSettingInput { + """The ID of the owner.""" + ownerId: ID! + + """ + The value for the IP allow list configuration for installed GitHub Apps setting. + """ + settingValue: IpAllowListForInstalledAppsEnabledSettingValue! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +""" +Autogenerated return type of UpdateIpAllowListForInstalledAppsEnabledSetting +""" +type UpdateIpAllowListForInstalledAppsEnabledSettingPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The IP allow list owner on which the setting was updated.""" + owner: IpAllowListOwner +} + """Autogenerated input type of UpdateIssueComment""" input UpdateIssueCommentInput { """The ID of the IssueComment to modify.""" @@ -23481,6 +34272,93 @@ type UpdateIssuePayload { issue: Issue } +"""Autogenerated input type of UpdateNotificationRestrictionSetting""" +input UpdateNotificationRestrictionSettingInput { + """ + The ID of the owner on which to set the restrict notifications setting. + """ + ownerId: ID! + + """The value for the restrict notifications setting.""" + settingValue: NotificationRestrictionSettingValue! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateNotificationRestrictionSetting""" +type UpdateNotificationRestrictionSettingPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The owner on which the setting was updated.""" + owner: VerifiableDomainOwner +} + +""" +Autogenerated input type of UpdateOrganizationAllowPrivateRepositoryForkingSetting +""" +input UpdateOrganizationAllowPrivateRepositoryForkingSettingInput { + """ + The ID of the organization on which to set the allow private repository forking setting. + """ + organizationId: ID! + + """Enable forking of private repositories in the organization?""" + forkingEnabled: Boolean! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +""" +Autogenerated return type of UpdateOrganizationAllowPrivateRepositoryForkingSetting +""" +type UpdateOrganizationAllowPrivateRepositoryForkingSettingPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """ + A message confirming the result of updating the allow private repository forking setting. + """ + message: String + + """ + The organization with the updated allow private repository forking setting. + """ + organization: Organization +} + +"""Autogenerated input type of UpdateOrganizationWebCommitSignoffSetting""" +input UpdateOrganizationWebCommitSignoffSettingInput { + """ + The ID of the organization on which to set the web commit signoff setting. + """ + organizationId: ID! + + """ + Enable signoff on web-based commits for repositories in the organization? + """ + webCommitSignoffRequired: Boolean! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateOrganizationWebCommitSignoffSetting""" +type UpdateOrganizationWebCommitSignoffSettingPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """ + A message confirming the result of updating the web commit signoff setting. + """ + message: String + + """The organization with the updated web commit signoff setting.""" + organization: Organization +} + """Autogenerated input type of UpdateProjectCard""" input UpdateProjectCardInput { """The ProjectCard ID to update.""" @@ -23556,6 +34434,154 @@ type UpdateProjectPayload { project: Project } +"""Autogenerated input type of UpdateProjectV2DraftIssue""" +input UpdateProjectV2DraftIssueInput { + """The ID of the draft issue to update.""" + draftIssueId: ID! + + """The title of the draft issue.""" + title: String + + """The body of the draft issue.""" + body: String + + """The IDs of the assignees of the draft issue.""" + assigneeIds: [ID!] + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateProjectV2DraftIssue""" +type UpdateProjectV2DraftIssuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The draft issue updated in the project.""" + draftIssue: DraftIssue +} + +"""Autogenerated input type of UpdateProjectV2""" +input UpdateProjectV2Input { + """The ID of the Project to update.""" + projectId: ID! + + """Set the title of the project.""" + title: String + + """Set the short description of the project.""" + shortDescription: String + + """Set the readme description of the project.""" + readme: String + + """Set the project to closed or open.""" + closed: Boolean + + """Set the project to public or private.""" + public: Boolean + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated input type of UpdateProjectV2ItemFieldValue""" +input UpdateProjectV2ItemFieldValueInput { + """The ID of the Project.""" + projectId: ID! + + """The ID of the item to be updated.""" + itemId: ID! + + """The ID of the field to be updated.""" + fieldId: ID! + + """The value which will be set on the field.""" + value: ProjectV2FieldValue! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateProjectV2ItemFieldValue""" +type UpdateProjectV2ItemFieldValuePayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated item.""" + projectV2Item: ProjectV2Item +} + +"""Autogenerated input type of UpdateProjectV2ItemPosition""" +input UpdateProjectV2ItemPositionInput { + """The ID of the Project.""" + projectId: ID! + + """The ID of the item to be moved.""" + itemId: ID! + + """ + The ID of the item to position this item after. If omitted or set to null the item will be moved to top. + """ + afterId: ID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateProjectV2ItemPosition""" +type UpdateProjectV2ItemPositionPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The items in the new order""" + items( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2ItemConnection +} + +"""Autogenerated return type of UpdateProjectV2""" +type UpdateProjectV2Payload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated Project.""" + projectV2: ProjectV2 +} + +"""Autogenerated input type of UpdatePullRequestBranch""" +input UpdatePullRequestBranchInput { + """The Node ID of the pull request.""" + pullRequestId: ID! + + """The head ref oid for the upstream branch.""" + expectedHeadOid: GitObjectID + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdatePullRequestBranch""" +type UpdatePullRequestBranchPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated pull request.""" + pullRequest: PullRequest +} + """Autogenerated input type of UpdatePullRequest""" input UpdatePullRequestInput { """The Node ID of the pull request.""" @@ -23655,71 +34681,150 @@ input UpdateRefInput { """The Node ID of the Ref to be updated.""" refId: ID! - """The GitObjectID that the Ref shall be updated to target.""" - oid: GitObjectID! + """The GitObjectID that the Ref shall be updated to target.""" + oid: GitObjectID! + + """Permit updates of branch Refs that are not fast-forwards?""" + force: Boolean = false + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateRef""" +type UpdateRefPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated Ref.""" + ref: Ref +} + +"""Autogenerated input type of UpdateRepository""" +input UpdateRepositoryInput { + """The ID of the repository to update.""" + repositoryId: ID! + + """The new name of the repository.""" + name: String + + """ + A new description for the repository. Pass an empty string to erase the existing description. + """ + description: String + + """ + 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: Boolean + + """ + The URL for a web page about this repository. Pass an empty string to erase the existing URL. + """ + homepageUrl: URI + + """Indicates if the repository should have the wiki feature enabled.""" + hasWikiEnabled: Boolean + + """Indicates if the repository should have the issues feature enabled.""" + hasIssuesEnabled: Boolean + + """ + Indicates if the repository should have the project boards feature enabled. + """ + hasProjectsEnabled: Boolean + + """ + Indicates if the repository should have the discussions feature enabled. + """ + hasDiscussionsEnabled: Boolean + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateRepository""" +type UpdateRepositoryPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The updated repository.""" + repository: Repository +} + +"""Autogenerated input type of UpdateRepositoryWebCommitSignoffSetting""" +input UpdateRepositoryWebCommitSignoffSettingInput { + """The ID of the repository to update.""" + repositoryId: ID! - """Permit updates of branch Refs that are not fast-forwards?""" - force: Boolean = false + """ + Indicates if the repository should require signoff on web-based commits. + """ + webCommitSignoffRequired: Boolean! """A unique identifier for the client performing the mutation.""" clientMutationId: String } -"""Autogenerated return type of UpdateRef""" -type UpdateRefPayload { +"""Autogenerated return type of UpdateRepositoryWebCommitSignoffSetting""" +type UpdateRepositoryWebCommitSignoffSettingPayload { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """The updated Ref.""" - ref: Ref -} - -"""Autogenerated input type of UpdateRepository""" -input UpdateRepositoryInput { - """The ID of the repository to update.""" - repositoryId: ID! + """ + A message confirming the result of updating the web commit signoff setting. + """ + message: String - """The new name of the repository.""" - name: String + """The updated repository.""" + repository: Repository +} +"""Autogenerated input type of UpdateSponsorshipPreferences""" +input UpdateSponsorshipPreferencesInput { """ - A new description for the repository. Pass an empty string to erase the existing description. + The ID of the user or organization who is acting as the sponsor, paying for + the sponsorship. Required if sponsorLogin is not given. """ - description: String + sponsorId: ID """ - 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. + The username of the user or organization who is acting as the sponsor, paying + for the sponsorship. Required if sponsorId is not given. """ - template: Boolean + sponsorLogin: String """ - The URL for a web page about this repository. Pass an empty string to erase the existing URL. + The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. """ - homepageUrl: URI + sponsorableId: ID - """Indicates if the repository should have the wiki feature enabled.""" - hasWikiEnabled: Boolean + """ + The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. + """ + sponsorableLogin: String - """Indicates if the repository should have the issues feature enabled.""" - hasIssuesEnabled: Boolean + """Whether the sponsor should receive email updates from the sponsorable.""" + receiveEmails: Boolean = true """ - Indicates if the repository should have the project boards feature enabled. + 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. """ - hasProjectsEnabled: Boolean + privacyLevel: SponsorshipPrivacy = PUBLIC """A unique identifier for the client performing the mutation.""" clientMutationId: String } -"""Autogenerated return type of UpdateRepository""" -type UpdateRepositoryPayload { +"""Autogenerated return type of UpdateSponsorshipPreferences""" +type UpdateSponsorshipPreferencesPayload { """A unique identifier for the client performing the mutation.""" clientMutationId: String - """The updated repository.""" - repository: Repository + """The sponsorship that was updated.""" + sponsorship: Sponsorship } """Autogenerated input type of UpdateSubscription""" @@ -23800,6 +34905,33 @@ type UpdateTeamDiscussionPayload { teamDiscussion: TeamDiscussion } +"""Autogenerated input type of UpdateTeamsRepository""" +input UpdateTeamsRepositoryInput { + """Repository ID being granted access to.""" + repositoryId: ID! + + """A list of teams being granted access. Limit: 10""" + teamIds: [ID!]! + + """Permission that should be granted to the teams.""" + permission: RepositoryPermission! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of UpdateTeamsRepository""" +type UpdateTeamsRepositoryPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The repository that was updated.""" + repository: Repository + + """The teams granted permission on the repository.""" + teams: [Team!] +} + """Autogenerated input type of UpdateTopics""" input UpdateTopicsInput { """The Node ID of the repository.""" @@ -23830,7 +34962,7 @@ scalar URI """ A user is an individual's account on GitHub that owns repositories and can make new content. """ -type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwner & UniformResourceLocatable & ProfileOwner & Sponsorable { +type User implements Node & Actor & PackageOwner & ProjectOwner & ProjectV2Owner & ProjectV2Recent & RepositoryDiscussionAuthor & RepositoryDiscussionCommentAuthor & RepositoryOwner & UniformResourceLocatable & ProfileOwner & Sponsorable { """ Determine if this repository owner has any items that can be pinned to their profile. """ @@ -23851,6 +34983,14 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """The user's public profile bio as HTML.""" bioHTML: HTML! + """ + Could this user receive email notifications, if the organization had notification restrictions enabled? + """ + canReceiveOrganizationEmailsWhenNotificationsRestricted( + """The login of the organization to check.""" + login: String! + ): Boolean! + """A list of commit comments made by this user.""" commitComments( """Returns the elements in the list that come after the specified cursor.""" @@ -23887,8 +35027,9 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne from: DateTime """ - Only contributions made before and up to and including this time will be - counted. If omitted, defaults to the current time. + Only contributions made before and up to (including) this time will be + counted. If omitted, defaults to the current time or one year from the + provided from argument. """ to: DateTime ): ContributionsCollection! @@ -23902,6 +35043,11 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """The user's publicly visible profile email.""" email: String! + """ + The estimated next GitHub Sponsors payout for this user/organization in cents (USD). + """ + estimatedNextSponsorsPayoutInCents: Int! + """A list of users the given user is followed by.""" followers( """Returns the elements in the list that come after the specified cursor.""" @@ -24011,12 +35157,26 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """Whether or not this user is a GitHub employee.""" isEmployee: Boolean! + """ + Whether or not this user is following the viewer. Inverse of viewer_is_following + """ + isFollowingViewer: Boolean! + + """Whether or not this user is a member of the GitHub Stars Program.""" + isGitHubStar: Boolean! + """Whether or not the user has marked themselves as for hire.""" isHireable: Boolean! """Whether or not this user is a site administrator.""" isSiteAdmin: Boolean! + """Whether the given account is sponsoring this user/organization.""" + isSponsoredBy( + """The target account's login.""" + accountLogin: String! + ): Boolean! + """True if the viewer is sponsored by this user/organization.""" isSponsoringViewer: Boolean! @@ -24084,6 +35244,11 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """The username used to login.""" login: String! + """ + The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). + """ + monthlyEstimatedSponsorsIncomeInCents: Int! + """The user's public profile name.""" name: String @@ -24103,6 +35268,9 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """A list of organizations the user belongs to.""" organizations( + """Ordering options for the User's organizations.""" + orderBy: OrganizationOrder = null + """Returns the elements in the list that come after the specified cursor.""" after: String @@ -24202,6 +35370,12 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne number: Int! ): Project + """Find a project by number.""" + projectV2( + """The project number.""" + number: Int! + ): ProjectV2 + """A list of projects under the owner.""" projects( """Ordering options for projects returned from the connection""" @@ -24234,6 +35408,32 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """The HTTP URL listing user's projects""" projectsUrl: URI! + """A list of projects under the owner.""" + projectsV2( + """A project to search for under the the owner.""" + query: String + + """How to order the returned projects.""" + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! + + """The user's profile pronouns""" + pronouns: String + """A list of public keys associated with this user.""" publicKeys( """Returns the elements in the list that come after the specified cursor.""" @@ -24283,6 +35483,25 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne last: Int ): PullRequestConnection! + """ + Recent projects that this user has modified in the context of the owner. + """ + recentProjects( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): ProjectV2Connection! + """A list of repositories that the user owns.""" repositories( """If non-null, filters repositories according to privacy""" @@ -24343,15 +35562,190 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """ isLocked: Boolean - """If true, include user repositories""" - includeUserRepositories: Boolean + """If true, include user repositories""" + includeUserRepositories: Boolean + + """ + If non-null, include only the specified types of contributions. The + GitHub.com UI uses [COMMIT, ISSUE, PULL_REQUEST, REPOSITORY] + """ + contributionTypes: [RepositoryContributionType] + + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): RepositoryConnection! + + """Find Repository.""" + repository( + """Name of Repository to find.""" + name: String! + + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + ): Repository + + """Discussion comments this user has authored.""" + repositoryDiscussionComments( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Filter discussion comments to only those in a specific repository.""" + repositoryId: ID + + """ + Filter discussion comments to only those that were marked as the answer + """ + onlyAnswers: Boolean = false + ): DiscussionCommentConnection! + + """Discussions this user has started.""" + repositoryDiscussions( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for discussions returned from the connection.""" + orderBy: DiscussionOrder = {field: CREATED_AT, direction: DESC} + + """Filter discussions to only those in a specific repository.""" + repositoryId: ID + + """ + Filter discussions to only those that have been answered or not. Defaults to + including both answered and unanswered discussions. + """ + answered: Boolean = null + + """A list of states to filter the discussions by.""" + states: [DiscussionState!] = [] + ): DiscussionConnection! + + """The HTTP path for this user""" + resourcePath: URI! + + """Replies this user has saved""" + savedReplies( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """The field to order saved replies by.""" + orderBy: SavedReplyOrder = {field: UPDATED_AT, direction: DESC} + ): SavedReplyConnection + + """ + The user's social media accounts, ordered as they appear on the user's profile. + """ + socialAccounts( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): SocialAccountConnection! + + """List of users and organizations this entity is sponsoring.""" + sponsoring( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """ + Ordering options for the users and organizations returned from the connection. + """ + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + ): SponsorConnection! + + """List of sponsors for this user or organization.""" + sponsors( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int """ - If non-null, include only the specified types of contributions. The - GitHub.com UI uses [COMMIT, ISSUE, PULL_REQUEST, REPOSITORY] + If given, will filter for sponsors at the given tier. Will only return + sponsors whose tier the viewer is permitted to see. """ - contributionTypes: [RepositoryContributionType] + tierId: ID + + """Ordering options for sponsors returned from the connection.""" + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + ): SponsorConnection! + """Events involving this sponsorable, such as new sponsorships.""" + sponsorsActivities( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -24365,19 +35759,61 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """Returns the last _n_ elements from the list.""" last: Int - ): RepositoryConnection! - """Find Repository.""" - repository( - """Name of Repository to find.""" - name: String! - ): Repository + """ + Filter activities returned to only those that occurred in the most recent + specified time period. Set to ALL to avoid filtering by when the activity + occurred. Will be ignored if `since` or `until` is given. + """ + period: SponsorsActivityPeriod = MONTH - """The HTTP path for this user""" - resourcePath: URI! + """Filter activities to those that occurred on or after this time.""" + since: DateTime - """Replies this user has saved""" - savedReplies( + """Filter activities to those that occurred before this time.""" + until: DateTime + + """Ordering options for activity returned from the connection.""" + orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} + + """Filter activities to only the specified actions.""" + actions: [SponsorsActivityAction!] = [] + + """ + Whether to include those events where this sponsorable acted as the sponsor. + Defaults to only including events where this sponsorable was the recipient + of a sponsorship. + """ + includeAsSponsor: Boolean = false + ): SponsorsActivityConnection! + + """The GitHub Sponsors listing for this user or organization.""" + sponsorsListing: SponsorsListing + + """ + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. + """ + sponsorshipForViewerAsSponsor( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the viewer's sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship + + """ + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. + """ + sponsorshipForViewerAsSponsorable( + """ + Whether to return the sponsorship only if it's still active. Pass false to + get the sponsorship back even if it has been cancelled. + """ + activeOnly: Boolean = true + ): Sponsorship + + """List of sponsorship updates sent from this sponsorable to sponsors.""" + sponsorshipNewsletters( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -24392,14 +35828,13 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """Returns the last _n_ elements from the list.""" last: Int - """The field to order saved replies by.""" - orderBy: SavedReplyOrder = {field: UPDATED_AT, direction: DESC} - ): SavedReplyConnection - - """The GitHub Sponsors listing for this user or organization.""" - sponsorsListing: SponsorsListing + """Ordering options for sponsorship updates returned from the connection.""" + orderBy: SponsorshipNewsletterOrder = {field: CREATED_AT, direction: DESC} + ): SponsorshipNewsletterConnection! - """This object's sponsorships as the maintainer.""" + """ + The sponsorships where this user or organization is the maintainer receiving the funds. + """ sponsorshipsAsMaintainer( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -24423,9 +35858,15 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne blank, the sponsorships will be ordered based on relevancy to the viewer. """ orderBy: SponsorshipOrder + + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true ): SponsorshipConnection! - """This object's sponsorships as the sponsor.""" + """The sponsorships where this user or organization is the funder.""" sponsorshipsAsSponsor( """Returns the elements in the list that come after the specified cursor.""" after: String @@ -24446,6 +35887,18 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne blank, the sponsorships will be ordered based on relevancy to the viewer. """ orderBy: SponsorshipOrder + + """ + Filter sponsorships returned to those for the specified maintainers. That + is, the recipient of the sponsorship is a user or organization with one of + the given logins. + """ + maintainerLogins: [String!] + + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true ): SponsorshipConnection! """Repositories the user has starred.""" @@ -24502,6 +35955,24 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne since: DateTime ): RepositoryConnection! + """ + The amount in United States cents (e.g., 500 = $5.00 USD) that this entity has + spent on GitHub to fund sponsorships. Only returns a value when viewed by the + user themselves or by a user who can manage sponsorships for the requested organization. + """ + totalSponsorshipAmountAsSponsorInCents( + """Filter payments to those that occurred on or after this time.""" + since: DateTime + + """Filter payments to those that occurred before this time.""" + until: DateTime + + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + ): Int + """The user's Twitter username.""" twitterUsername: String @@ -24523,7 +35994,9 @@ type User implements Node & Actor & PackageOwner & ProjectOwner & RepositoryOwne """Whether or not the viewer is able to sponsor this user/organization.""" viewerCanSponsor: Boolean! - """Whether or not this user is followed by the viewer.""" + """ + Whether or not this user is followed by the viewer. Inverse of is_following_viewer. + """ viewerIsFollowing: Boolean! """True if the viewer is sponsoring this user/organization.""" @@ -24707,8 +36180,6 @@ type UserStatus implements Node { """If set, the status will not be shown after this date.""" expiresAt: DateTime - - """ID of the object.""" id: ID! """ @@ -24770,6 +36241,123 @@ enum UserStatusOrderField { UPDATED_AT } +""" +A domain that can be verified or approved for an organization or an enterprise. +""" +type VerifiableDomain implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The DNS host name that should be used for verification.""" + dnsHostName: URI + + """The unicode encoded domain.""" + domain: URI! + + """ + Whether a TXT record for verification with the expected host name was found. + """ + hasFoundHostName: Boolean! + + """ + Whether a TXT record for verification with the expected verification token was found. + """ + hasFoundVerificationToken: Boolean! + id: ID! + + """Whether or not the domain is approved.""" + isApproved: Boolean! + + """ + Whether this domain is required to exist for an organization or enterprise policy to be enforced. + """ + isRequiredForPolicyEnforcement: Boolean! + + """Whether or not the domain is verified.""" + isVerified: Boolean! + + """The owner of the domain.""" + owner: VerifiableDomainOwner! + + """The punycode encoded domain.""" + punycodeEncodedDomain: URI! + + """The time that the current verification token will expire.""" + tokenExpirationTime: DateTime + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The current verification token for the domain.""" + verificationToken: String +} + +"""The connection type for VerifiableDomain.""" +type VerifiableDomainConnection { + """A list of edges.""" + edges: [VerifiableDomainEdge] + + """A list of nodes.""" + nodes: [VerifiableDomain] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type VerifiableDomainEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: VerifiableDomain +} + +"""Ordering options for verifiable domain connections.""" +input VerifiableDomainOrder { + """The field to order verifiable domains by.""" + field: VerifiableDomainOrderField! + + """The ordering direction.""" + direction: OrderDirection! +} + +"""Properties by which verifiable domain connections can be ordered.""" +enum VerifiableDomainOrderField { + """Order verifiable domains by the domain name.""" + DOMAIN + + """Order verifiable domains by their creation date.""" + CREATED_AT +} + +"""Types that can own a verifiable domain.""" +union VerifiableDomainOwner = Enterprise | Organization + +"""Autogenerated input type of VerifyVerifiableDomain""" +input VerifyVerifiableDomainInput { + """The ID of the verifiable domain to verify.""" + id: ID! + + """A unique identifier for the client performing the mutation.""" + clientMutationId: String +} + +"""Autogenerated return type of VerifyVerifiableDomain""" +type VerifyVerifiableDomainPayload { + """A unique identifier for the client performing the mutation.""" + clientMutationId: String + + """The verifiable domain that was verified.""" + domain: VerifiableDomain +} + """ A hovercard context with a message describing how the viewer is related. """ @@ -24784,5 +36372,182 @@ type ViewerHovercardContext implements HovercardContext { viewer: User! } +"""A subject that may be upvoted.""" +interface Votable { + """Number of upvotes that this subject has received.""" + upvoteCount: Int! + + """ + Whether or not the current user can add or remove an upvote on this subject. + """ + viewerCanUpvote: Boolean! + + """Whether or not the current user has already upvoted this subject.""" + viewerHasUpvoted: Boolean! +} + +"""A workflow contains meta information about an Actions workflow file.""" +type Workflow implements Node { + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + id: ID! + + """The name of the workflow.""" + name: String! + + """The runs of the workflow.""" + runs( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + + """Ordering options for the connection""" + orderBy: WorkflowRunOrder = {field: CREATED_AT, direction: DESC} + ): WorkflowRunConnection! + + """The state of the workflow.""" + state: WorkflowState! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! +} + +"""A workflow run.""" +type WorkflowRun implements Node & UniformResourceLocatable { + """The check suite this workflow run belongs to.""" + checkSuite: CheckSuite! + + """Identifies the date and time when the object was created.""" + createdAt: DateTime! + + """Identifies the primary key from the database.""" + databaseId: Int + + """The log of deployment reviews""" + deploymentReviews( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): DeploymentReviewConnection! + + """The event that triggered the workflow run""" + event: String! + id: ID! + + """The pending deployment requests of all check runs in this workflow run""" + pendingDeploymentRequests( + """Returns the elements in the list that come after the specified cursor.""" + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """Returns the first _n_ elements from the list.""" + first: Int + + """Returns the last _n_ elements from the list.""" + last: Int + ): DeploymentRequestConnection! + + """The HTTP path for this workflow run""" + resourcePath: URI! + + """ + A number that uniquely identifies this workflow run in its parent workflow. + """ + runNumber: Int! + + """Identifies the date and time when the object was last updated.""" + updatedAt: DateTime! + + """The HTTP URL for this workflow run""" + url: URI! + + """The workflow executed in this workflow run.""" + workflow: Workflow! +} + +"""The connection type for WorkflowRun.""" +type WorkflowRunConnection { + """A list of edges.""" + edges: [WorkflowRunEdge] + + """A list of nodes.""" + nodes: [WorkflowRun] + + """Information to aid in pagination.""" + pageInfo: PageInfo! + + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type WorkflowRunEdge { + """A cursor for use in pagination.""" + cursor: String! + + """The item at the end of the edge.""" + node: WorkflowRun +} + +"""Ways in which lists of workflow runs can be ordered upon return.""" +input WorkflowRunOrder { + """The field by which to order workflows.""" + field: WorkflowRunOrderField! + + """The direction in which to order workflow runs by the specified field.""" + direction: OrderDirection! +} + +"""Properties by which workflow run connections can be ordered.""" +enum WorkflowRunOrderField { + """Order workflow runs by most recently created""" + CREATED_AT +} + +"""The possible states for a workflow.""" +enum WorkflowState { + """The workflow is active.""" + ACTIVE + + """The workflow was deleted from the git repository.""" + DELETED + + """The workflow was disabled by default on a fork.""" + DISABLED_FORK + + """The workflow was disabled for inactivity in the repository.""" + DISABLED_INACTIVITY + + """The workflow was disabled manually.""" + DISABLED_MANUALLY +} + """A valid x509 certificate string""" scalar X509Certificate