From 5ec33b527fbfea29a1a7e0313653d665c64914f2 Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 08:25:41 -0500 Subject: [PATCH 1/8] update schema --- .../github-api/schema/schema.docs.graphql | 27794 ++++++++++++---- 1 file changed, 20832 insertions(+), 6962 deletions(-) diff --git a/packages/github-api/schema/schema.docs.graphql b/packages/github-api/schema/schema.docs.graphql index 2e18dcc0..b95c8eb5 100644 --- a/packages/github-api/schema/schema.docs.graphql +++ b/packages/github-api/schema/schema.docs.graphql @@ -1,3 +1,7 @@ +directive @requiredCapabilities( + requiredCapabilities: [String!] +) on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION + """ Marks an element of a GraphQL schema as only available via a preview header """ @@ -6,7 +10,7 @@ directive @preview( The identifier of the API preview that toggles this field. """ toggledBy: String! -) on SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION +) on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION """ Defines what type of global IDs are accepted for a mutation argument of type ID. @@ -23,6 +27,36 @@ directive @possibleTypes( concreteTypes: [String!]! ) on INPUT_FIELD_DEFINITION +""" +Autogenerated input type of AbortQueuedMigrations +""" +input AbortQueuedMigrationsInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the organization that is running the migrations. + """ + ownerId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +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 """ @@ -153,6 +187,21 @@ type ActorLocation { regionCode: String } +""" +The actor's type. +""" +enum ActorType { + """ + Indicates a team actor. + """ + TEAM + + """ + Indicates a user actor. + """ + USER +} + """ Autogenerated input type of AddAssigneesToAssignable """ @@ -273,6 +322,81 @@ type AddDiscussionCommentPayload { comment: DiscussionComment } +""" +Autogenerated input type of AddDiscussionPollVote +""" +input AddDiscussionPollVoteInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Node ID of the discussion poll option to vote for. + """ + pollOptionId: ID! @possibleTypes(concreteTypes: ["DiscussionPollOption"]) +} + +""" +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 +} + +""" +Autogenerated input type of AddEnterpriseOrganizationMember +""" +input AddEnterpriseOrganizationMemberInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise which owns the organization. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The ID of the organization the users will be added to. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) + + """ + The role to assign the users in the organization + """ + role: OrganizationMemberRole + + """ + The IDs of the enterprise members to add. + """ + userIds: [ID!]! +} + +""" +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 """ @@ -428,14 +552,100 @@ type AddProjectColumnPayload { project: Project } +""" +Autogenerated input type of AddProjectV2DraftIssue +""" +input AddProjectV2DraftIssueInput { + """ + The IDs of the assignees of the draft issue. + """ + assigneeIds: [ID!] @possibleTypes(concreteTypes: ["User"]) + + """ + The body of the draft issue. + """ + body: String + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Project to add the draft issue to. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + 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! +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The id of the Issue or Pull Request to add. + """ + contentId: ID! + @possibleTypes(concreteTypes: ["DraftIssue", "Issue", "PullRequest"], abstractType: "ProjectV2ItemContent") + + """ + The ID of the Project to add the item to. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +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 text of the comment. + 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! + body: String """ A unique identifier for the client performing the mutation. @@ -444,31 +654,57 @@ input AddPullRequestReviewCommentInput { """ 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 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 @possibleTypes(concreteTypes: ["PullRequestReviewComment"]) """ 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. + + **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 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 @possibleTypes(concreteTypes: ["PullRequest"]) """ 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 @possibleTypes(concreteTypes: ["PullRequestReview"]) } @@ -509,6 +745,10 @@ input AddPullRequestReviewInput { """ 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] @@ -568,9 +808,10 @@ input AddPullRequestReviewThreadInput { clientMutationId: String """ - 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 """ Path to the file being commented on. @@ -601,6 +842,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 } """ @@ -618,6 +864,46 @@ type AddPullRequestReviewThreadPayload { thread: PullRequestReviewThread } +""" +Autogenerated input type of AddPullRequestReviewThreadReply +""" +input AddPullRequestReviewThreadReplyInput { + """ + The text of the reply. + """ + body: String! + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Node ID of the pending review to which the reply will belong. + """ + pullRequestReviewId: ID @possibleTypes(concreteTypes: ["PullRequestReview"]) + + """ + The Node ID of the thread to which this reply is being written. + """ + pullRequestReviewThreadId: ID! @possibleTypes(concreteTypes: ["PullRequestReviewThread"]) +} + +""" +Autogenerated return type of AddPullRequestReviewThreadReply +""" +type AddPullRequestReviewThreadReplyPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The newly created reply. + """ + comment: PullRequestReviewComment +} + """ Autogenerated input type of AddReaction """ @@ -668,6 +954,11 @@ type AddReactionPayload { """ reaction: Reaction + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + """ The reactable subject. """ @@ -769,6 +1060,37 @@ type AddVerifiableDomainPayload { domain: VerifiableDomain } +""" +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. """ @@ -805,6 +1127,26 @@ type AddedToProjectEvent implements Node { projectColumnName: String! @preview(toggledBy: "starfox-preview") } +""" +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. """ @@ -961,6 +1303,41 @@ type ApproveVerifiableDomainPayload { domain: VerifiableDomain } +""" +Autogenerated input type of ArchiveProjectV2Item +""" +input ArchiveProjectV2ItemInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the ProjectV2Item to archive. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the Project to archive the item from. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +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 """ @@ -1230,12 +1607,14 @@ type AutoMergeRequest { authorEmail: String """ - The commit message of the auto-merge request. + 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. + 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 @@ -1250,7 +1629,8 @@ type AutoMergeRequest { enabledBy: Actor """ - The merge method of the auto-merge request. + 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! @@ -1477,6 +1857,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. """ @@ -1612,6 +1998,61 @@ type Bot implements Actor & Node & UniformResourceLocatable { url: URI! } +""" +Types which can be actors for `BranchActorAllowance` objects. +""" +union BranchActorAllowanceActor = App | Team | User + +""" +Parameters to be used for the branch_name_pattern rule +""" +type BranchNamePatternParameters { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean! + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + +""" +Parameters to be used for the branch_name_pattern rule +""" +input BranchNamePatternParametersInput { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + """ A branch protection rule. """ @@ -1626,6 +2067,11 @@ type BranchProtectionRule implements Node { """ allowsForcePushes: Boolean! + """ + Is branch creation a protected operation. + """ + blocksCreations: Boolean! + """ A list of conflicts matching branches protection rule and other branch protection rules """ @@ -1651,6 +2097,56 @@ 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. """ @@ -1672,6 +2168,17 @@ type BranchProtectionRule implements Node { """ 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 """ @@ -1737,16 +2244,31 @@ type BranchProtectionRule implements Node { """ 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. """ @@ -1767,6 +2289,11 @@ type BranchProtectionRule implements Node { """ requiresConversationResolution: Boolean! + """ + Does this branch require deployment to specific environments before merging + """ + requiresDeployments: Boolean! + """ Are merge commits prohibited from being pushed to this branch. """ @@ -1918,6 +2445,144 @@ 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 amount to pay to the sponsorable in US dollars. Valid values: 1-12000. + """ + amount: Int! + + """ + The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. + """ + sponsorableId: ID @possibleTypes(concreteTypes: ["Organization", "User"], abstractType: "Sponsorable") + + """ + The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. + """ + sponsorableLogin: String +} + +""" +Types that can represent a repository ruleset bypass actor. +""" +union BypassActor = App | Team + +""" +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 +} + """ The Common Vulnerability Scoring System """ @@ -2618,9 +3283,19 @@ input CheckRunFilter { checkType: CheckRunType """ - Filters the check runs by this status. + Filters the check runs by these conclusions. + """ + conclusions: [CheckConclusionState!] + + """ + Filters the check runs by this status. Superceded by statuses. """ status: CheckStatusState + + """ + Filters the check runs by this status. Overrides status. + """ + statuses: [CheckStatusState!] } """ @@ -2673,6 +3348,96 @@ input CheckRunOutputImage { imageUrl: URI! } +""" +The possible states of a check run in a status rollup. +""" +enum CheckRunState { + """ + The check run requires action. + """ + ACTION_REQUIRED + + """ + The check run has been cancelled. + """ + CANCELLED + + """ + 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. """ @@ -3034,6 +3799,11 @@ 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 """ @@ -3064,6 +3834,50 @@ type ClearLabelsFromLabelablePayload { labelable: Labelable } +""" +Autogenerated input type of ClearProjectV2ItemFieldValue +""" +input ClearProjectV2ItemFieldValueInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the field to be cleared. + """ + fieldId: ID! + @possibleTypes( + concreteTypes: ["ProjectV2Field", "ProjectV2IterationField", "ProjectV2SingleSelectField"] + abstractType: "ProjectV2FieldConfiguration" + ) + + """ + The ID of the item to be cleared. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the Project. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +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 """ @@ -3185,7 +3999,7 @@ 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! @@ -3193,6 +4007,51 @@ interface Closable { 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! +} + +""" +Autogenerated input type of CloseDiscussion +""" +input CloseDiscussionInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the discussion to be closed. + """ + discussionId: ID! @possibleTypes(concreteTypes: ["Discussion"]) + + """ + The reason why the discussion is being closed. + """ + reason: DiscussionCloseReason = RESOLVED +} + +""" +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 } """ @@ -3208,6 +4067,11 @@ input CloseIssueInput { ID of the issue to be closed. """ issueId: ID! @possibleTypes(concreteTypes: ["Issue"]) + + """ + The reason the issue is to be closed. + """ + stateReason: IssueClosedStateReason } """ @@ -3285,6 +4149,11 @@ type ClosedEvent implements Node & UniformResourceLocatable { """ resourcePath: URI! + """ + The reason the issue state was changed to closed. + """ + stateReason: IssueStateReason + """ The HTTP URL for this closed event. """ @@ -3652,9 +4521,21 @@ type Commit implements GitObject & Node & Subscribable & UniformResourceLocatabl ): Blame! """ - The number of changed files in this commit. + We recommend using the `changedFilesIfAvailable` field instead of + `changedFiles`, as `changedFiles` will cause your request to return an error + if GitHub is unable to calculate the number of changed files. """ changedFiles: Int! + @deprecated( + reason: "`changedFiles` will be removed. Use `changedFilesIfAvailable` instead. Removal on 2023-01-01 UTC." + ) + + """ + 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. @@ -3895,7 +4776,7 @@ type Commit implements GitObject & Node & Subscribable & UniformResourceLocatabl """ The datetime when this commit was pushed. """ - pushedDate: DateTime + pushedDate: DateTime @deprecated(reason: "`pushedDate` is no longer supported. Removal on 2023-07-01 UTC.") """ The Repository this commit belongs to @@ -4006,6 +4887,56 @@ input CommitAuthor { id: ID } +""" +Parameters to be used for the commit_author_email_pattern rule +""" +type CommitAuthorEmailPatternParameters { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean! + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + +""" +Parameters to be used for the commit_author_email_pattern rule +""" +input CommitAuthorEmailPatternParametersInput { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + """ Represents a comment on a given Commit. """ @@ -4077,7 +5008,9 @@ type CommitComment implements Comment & Deletable & Minimizable & Node & Reactab 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 @@ -4463,6 +5396,56 @@ input CommitMessage { headline: String! } +""" +Parameters to be used for the commit_message_pattern rule +""" +type CommitMessagePatternParameters { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean! + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + +""" +Parameters to be used for the commit_message_pattern rule +""" +input CommitMessagePatternParametersInput { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + """ A git ref for a commit to be appended to. @@ -4471,7 +5454,7 @@ with `refs/heads/` (although the input is not required to be fully qualified). The Ref may be specified by its global node ID or by the -repository nameWithOwner and branch name. +`repositoryNameWithOwner` and `branchName`. ### Examples @@ -4479,10 +5462,10 @@ Specify a branch using a global node ID: { "id": "MDM6UmVmMTpyZWZzL2hlYWRzL21haW4=" } -Specify a branch using nameWithOwner and branch name: +Specify a branch using `repositoryNameWithOwner` and `branchName`: { - "nameWithOwner": "github/graphql-client", + "repositoryNameWithOwner": "github/graphql-client", "branchName": "main" } """ @@ -4503,6 +5486,167 @@ input CommittableBranch { repositoryNameWithOwner: String } +""" +Parameters to be used for the committer_email_pattern rule +""" +type CommitterEmailPatternParameters { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean! + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + +""" +Parameters to be used for the committer_email_pattern rule +""" +input CommitterEmailPatternParametersInput { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: 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 ahead of the base ref. + """ + AHEAD + + """ + The head ref is behind the base ref. + """ + BEHIND + + """ + The head ref is both ahead and behind of the base ref, indicating git history has diverged. + """ + DIVERGED + + """ + The head ref and base ref are identical. + """ + IDENTICAL +} + """ Represents a 'connected' event on a given issue or pull request. """ @@ -4534,48 +5678,6 @@ type ConnectedEvent implements Node { subject: ReferencedSubject! } -""" -A content attachment -""" -type ContentAttachment { - """ - The body text of the content attachment. This parameter supports markdown. - """ - body: String! - - """ - The content reference that the content attachment is attached to. - """ - contentReference: ContentReference! - - """ - Identifies the primary key from the database. - """ - databaseId: Int! - id: ID! - - """ - The title of the content attachment. - """ - title: String! -} - -""" -A content reference -""" -type ContentReference { - """ - Identifies the primary key from the database. - """ - databaseId: Int! - id: ID! - - """ - The reference of the content reference. - """ - reference: String! -} - """ Represents a contribution a user made on GitHub, such as opening an issue. """ @@ -4992,7 +6094,8 @@ type ContributionsCollection { ): [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( """ @@ -5315,6 +6418,122 @@ type ConvertedNoteToIssueEvent implements Node { projectColumnName: String! @preview(toggledBy: "starfox-preview") } +""" +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 CopyProjectV2 +""" +input CopyProjectV2Input { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Include draft issues in the new project + """ + includeDraftIssues: Boolean = false + + """ + The owner ID of the new project. + """ + ownerId: ID! @possibleTypes(concreteTypes: ["Organization", "User"], abstractType: "OrganizationOrUser") + + """ + The ID of the source Project to copy. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The title of the project. + """ + title: String! +} + +""" +Autogenerated return type of CopyProjectV2 +""" +type CopyProjectV2Payload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The copied project. + """ + projectV2: ProjectV2 +} + +""" +Autogenerated input type of CreateAttributionInvitation +""" +input CreateAttributionInvitationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Node ID of the owner scoping the reattributable data. + """ + ownerId: ID! @possibleTypes(concreteTypes: ["Bot", "Enterprise", "Mannequin", "Organization", "User"]) + + """ + The Node ID of the account owning the data to reattribute. + """ + sourceId: ID! @possibleTypes(concreteTypes: ["Bot", "Enterprise", "Mannequin", "Organization", "User"]) + + """ + The Node ID of the account which may claim the data. + """ + targetId: ID! @possibleTypes(concreteTypes: ["Bot", "Enterprise", "Mannequin", "Organization", "User"]) +} + +""" +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 """ @@ -5329,6 +6548,21 @@ input CreateBranchProtectionRuleInput { """ allowsForcePushes: Boolean + """ + Is branch creation a protected operation. + """ + blocksCreations: Boolean + + """ + A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. + """ + bypassForcePushActorIds: [ID!] + + """ + A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. + """ + bypassPullRequestActorIds: [ID!] + """ A unique identifier for the client performing the mutation. """ @@ -5344,13 +6578,24 @@ input CreateBranchProtectionRuleInput { """ 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 + """ The glob-like pattern used to determine matching branches. """ pattern: String! """ - 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!] @@ -5359,16 +6604,31 @@ input CreateBranchProtectionRuleInput { """ repositoryId: ID! @possibleTypes(concreteTypes: ["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 + """ + The list of required deployment environments + """ + requiredDeploymentEnvironments: [String!] + """ List of required status check contexts that must pass for commits to be accepted to matching branches. """ requiredStatusCheckContexts: [String!] + """ + The list of required status checks + """ + requiredStatusChecks: [RequiredStatusCheckInput!] + """ Are approving reviews required to update matching branches. """ @@ -5389,6 +6649,11 @@ input CreateBranchProtectionRuleInput { """ requiresConversationResolution: Boolean + """ + Are successful deployments required before merging. + """ + requiresDeployments: Boolean + """ Are merge commits prohibited from being pushed to this branch. """ @@ -5415,7 +6680,7 @@ 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!] } @@ -5600,46 +6865,6 @@ type CreateCommitOnBranchPayload { ref: Ref } -""" -Autogenerated input type of CreateContentAttachment -""" -input CreateContentAttachmentInput { - """ - The body of the content attachment, which may contain markdown. - """ - body: String! - - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String - - """ - The node ID of the content_reference. - """ - contentReferenceId: ID! @possibleTypes(concreteTypes: ["ContentReference"]) - - """ - The title of the content attachment. - """ - title: String! -} - -""" -Autogenerated return type of CreateContentAttachment -""" -type CreateContentAttachmentPayload { - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String - - """ - The newly created content attachment. - """ - contentAttachment: ContentAttachment -} - """ Autogenerated input type of CreateDeployment """ @@ -6065,6 +7290,106 @@ type CreateLabelPayload @preview(toggledBy: "bane-preview") { label: Label } +""" +Autogenerated input type of CreateLinkedBranch +""" +input CreateLinkedBranchInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the issue to link to. + """ + issueId: ID! @possibleTypes(concreteTypes: ["Issue"]) + + """ + The name of the new branch. Defaults to issue number and title. + """ + name: String + + """ + The commit SHA to base the new branch on. + """ + oid: GitObjectID! + + """ + ID of the repository to create the branch in. Defaults to the issue repository. + """ + repositoryId: ID @possibleTypes(concreteTypes: ["Repository"]) +} + +""" +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 access token. + """ + accessToken: String + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The GitHub personal access token of the user importing to the target repository. + """ + githubPat: String + + """ + The migration source name. + """ + name: String! + + """ + The ID of the organization that will own the migration source. + """ + ownerId: ID! @possibleTypes(concreteTypes: ["Organization"]) + + """ + The migration source type. + """ + type: MigrationSourceType! + + """ + The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. + """ + url: 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 """ @@ -6115,6 +7440,96 @@ type CreateProjectPayload { project: Project } +""" +Autogenerated input type of CreateProjectV2Field +""" +input CreateProjectV2FieldInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The data type of the field. + """ + dataType: ProjectV2CustomFieldType! + + """ + The name of the field. + """ + name: String! + + """ + The ID of the Project to create the field in. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + Options for a single select field. At least one value is required if data_type is SINGLE_SELECT + """ + singleSelectOptions: [ProjectV2SingleSelectFieldOptionInput!] +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The owner ID to create the project under. + """ + ownerId: ID! @possibleTypes(concreteTypes: ["Organization", "User"], abstractType: "OrganizationOrUser") + + """ + The repository to link the project to. + """ + repositoryId: ID @possibleTypes(concreteTypes: ["Repository"]) + + """ + The team to link the project to. The team will be granted read permissions. + """ + teamId: ID @possibleTypes(concreteTypes: ["Team"]) + + """ + The title of the project. + """ + title: 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 """ @@ -6147,6 +7562,11 @@ input CreatePullRequestInput { """ headRefName: String! + """ + The Node ID of the head repository. + """ + headRepositoryId: ID @possibleTypes(concreteTypes: ["Repository"]) + """ Indicates whether maintainers can modify the pull request. """ @@ -6290,6 +7710,226 @@ type CreateRepositoryPayload { repository: Repository } +""" +Autogenerated input type of CreateRepositoryRuleset +""" +input CreateRepositoryRulesetInput { + """ + A list of actors that are allowed to bypass rules in this ruleset. + """ + bypassActors: [RepositoryRulesetBypassActorInput!] + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The set of conditions for this ruleset + """ + conditions: RepositoryRuleConditionsInput! + + """ + The enforcement level for this ruleset + """ + enforcement: RuleEnforcement! + + """ + The name of the ruleset. + """ + name: String! + + """ + The list of rules for this ruleset + """ + rules: [RepositoryRuleInput!] + + """ + The global relay id of the source in which a new ruleset should be created in. + """ + sourceId: ID! @possibleTypes(concreteTypes: ["Organization", "Repository"], abstractType: "RuleSource") + + """ + The target of the ruleset. + """ + target: RepositoryRulesetTarget +} + +""" +Autogenerated return type of CreateRepositoryRuleset +""" +type CreateRepositoryRulesetPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The newly created Ruleset. + """ + ruleset: RepositoryRuleset +} + +""" +Autogenerated input type of CreateSponsorsListing +""" +input CreateSponsorsListingInput { + """ + 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 + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + 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 + + """ + 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 + + """ + 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 + + """ + 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 + + """ + 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 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 +} + +""" +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 value of the new tier in US dollars. Valid values: 1-12000. + """ + amount: Int! + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: 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 sponsorships using this tier should happen monthly/yearly or just once. + """ + isRecurring: Boolean = true + + """ + 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 + + """ + 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 @possibleTypes(concreteTypes: ["Repository"]) + + """ + 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 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 + + """ + 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 @possibleTypes(concreteTypes: ["Organization", "User"], abstractType: "Sponsorable") + + """ + 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 + + """ + Optional message new sponsors at this tier will receive. + """ + welcomeMessage: 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 CreateSponsorship """ @@ -6363,14 +8003,67 @@ type CreateSponsorshipPayload { sponsorship: Sponsorship } +""" +Autogenerated input type of CreateSponsorships +""" +input CreateSponsorshipsInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + 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. + """ + privacyLevel: SponsorshipPrivacy = PUBLIC + + """ + Whether the sponsor should receive email updates from the sponsorables. + """ + receiveEmails: Boolean = false + + """ + The username of the user or organization who is acting as the sponsor, paying for the sponsorships. + """ + sponsorLogin: String! + + """ + The list of maintainers to sponsor and for how much apiece. + """ + sponsorships: [BulkSponsorship!]! +} + +""" +Autogenerated return type of CreateSponsorships +""" +type CreateSponsorshipsPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The users and organizations who received a sponsorship. + """ + sponsorables: [Sponsorable!] +} + """ Autogenerated input type of CreateTeamDiscussionComment """ input CreateTeamDiscussionCommentInput { """ - The content of the comment. + The content of the comment. This field is required. + + **Upcoming Change on 2024-07-01 UTC** + **Description:** `body` will be removed. Follow the guide at + https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to + find a suitable replacement. + **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. """ - body: String! + body: String """ A unique identifier for the client performing the mutation. @@ -6378,9 +8071,15 @@ input CreateTeamDiscussionCommentInput { clientMutationId: String """ - The ID of the discussion to which the comment belongs. + The ID of the discussion to which the comment belongs. This field is required. + + **Upcoming Change on 2024-07-01 UTC** + **Description:** `discussionId` will be removed. Follow the guide at + https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to + find a suitable replacement. + **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. """ - discussionId: ID! @possibleTypes(concreteTypes: ["TeamDiscussion"]) + discussionId: ID @possibleTypes(concreteTypes: ["TeamDiscussion"]) } """ @@ -6396,6 +8095,9 @@ type CreateTeamDiscussionCommentPayload { The new comment. """ teamDiscussionComment: TeamDiscussionComment + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) } """ @@ -6403,9 +8105,15 @@ Autogenerated input type of CreateTeamDiscussion """ input CreateTeamDiscussionInput { """ - The content of the discussion. + The content of the discussion. This field is required. + + **Upcoming Change on 2024-07-01 UTC** + **Description:** `body` will be removed. Follow the guide at + https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to + find a suitable replacement. + **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. """ - body: String! + body: String """ A unique identifier for the client performing the mutation. @@ -6416,18 +8124,36 @@ input CreateTeamDiscussionInput { 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. + + **Upcoming Change on 2024-07-01 UTC** + **Description:** `private` will be removed. Follow the guide at + https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to + find a suitable replacement. + **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. """ private: Boolean """ - The ID of the team to which the discussion belongs. + The ID of the team to which the discussion belongs. This field is required. + + **Upcoming Change on 2024-07-01 UTC** + **Description:** `teamId` will be removed. Follow the guide at + https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to + find a suitable replacement. + **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. """ - teamId: ID! @possibleTypes(concreteTypes: ["Team"]) + teamId: ID @possibleTypes(concreteTypes: ["Team"]) """ - The title of the discussion. + The title of the discussion. This field is required. + + **Upcoming Change on 2024-07-01 UTC** + **Description:** `title` will be removed. Follow the guide at + https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to + find a suitable replacement. + **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. """ - title: String! + title: String } """ @@ -6443,6 +8169,9 @@ type CreateTeamDiscussionPayload { The new discussion. """ teamDiscussion: TeamDiscussion + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) } """ @@ -7241,6 +8970,36 @@ type DeleteLabelPayload @preview(toggledBy: "bane-preview") { clientMutationId: String } +""" +Autogenerated input type of DeleteLinkedBranch +""" +input DeleteLinkedBranchInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the linked branch + """ + linkedBranchId: ID! @possibleTypes(concreteTypes: ["LinkedBranch"]) +} + +""" +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 DeletePackageVersion """ @@ -7371,6 +9130,140 @@ type DeleteProjectPayload { owner: ProjectOwner } +""" +Autogenerated input type of DeleteProjectV2Field +""" +input DeleteProjectV2FieldInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the field to delete. + """ + fieldId: ID! + @possibleTypes( + concreteTypes: ["ProjectV2Field", "ProjectV2IterationField", "ProjectV2SingleSelectField"] + abstractType: "ProjectV2FieldConfiguration" + ) +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Project to delete. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +Autogenerated input type of DeleteProjectV2Item +""" +input DeleteProjectV2ItemInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the item to be removed. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the Project from which the item should be removed. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the workflow to be removed. + """ + workflowId: ID! @possibleTypes(concreteTypes: ["ProjectV2Workflow"]) +} + +""" +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 """ @@ -7399,6 +9292,11 @@ type DeletePullRequestReviewCommentPayload { The pull request review the deleted comment belonged to. """ pullRequestReview: PullRequestReview + + """ + The deleted pull request review comment. + """ + pullRequestReviewComment: PullRequestReviewComment } """ @@ -7456,6 +9354,31 @@ type DeleteRefPayload { clientMutationId: String } +""" +Autogenerated input type of DeleteRepositoryRuleset +""" +input DeleteRepositoryRulesetInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The global relay id of the repository ruleset to be deleted. + """ + repositoryRulesetId: ID! @possibleTypes(concreteTypes: ["RepositoryRuleset"]) +} + +""" +Autogenerated return type of DeleteRepositoryRuleset +""" +type DeleteRepositoryRulesetPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String +} + """ Autogenerated input type of DeleteTeamDiscussionComment """ @@ -7562,6 +9485,46 @@ type DemilestonedEvent implements Node { subject: MilestoneItem! } +""" +A Dependabot Update for a dependency in a repository +""" +type DependabotUpdate implements RepositoryNode { + """ + The error from a dependency update + """ + error: DependabotUpdateError + + """ + 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! +} + """ A dependency manifest entry """ @@ -7575,6 +9538,9 @@ type DependencyGraphDependency @preview(toggledBy: "hawkgirl-preview") { The original name of the package, as it appears in the manifest. """ packageLabel: String! + @deprecated( + reason: "`packageLabel` will be removed. Use normalized `packageName` field instead. Removal on 2022-10-01 UTC." + ) """ The dependency package manager @@ -7583,8 +9549,6 @@ type DependencyGraphDependency @preview(toggledBy: "hawkgirl-preview") { """ The name of the package in the canonical form used by the package manager. - This may differ from the original textual form (see packageLabel), for example - in a package manager that uses case-insensitive comparisons. """ packageName: String! @@ -7639,6 +9603,66 @@ type DependencyGraphDependencyEdge @preview(toggledBy: "hawkgirl-preview") { node: DependencyGraphDependency } +""" +The possible ecosystems of a dependency graph package. +""" +enum DependencyGraphEcosystem { + """ + GitHub Actions + """ + ACTIONS + + """ + PHP packages hosted at packagist.org + """ + COMPOSER + + """ + Go modules + """ + GO + + """ + Java artifacts hosted at the Maven central repository + """ + MAVEN + + """ + JavaScript packages hosted at npmjs.com + """ + NPM + + """ + .NET packages hosted at the NuGet Gallery + """ + NUGET + + """ + Python packages hosted at PyPI.org + """ + PIP + + """ + Dart packages hosted at pub.dev + """ + PUB + + """ + Ruby gems hosted at RubyGems.org + """ + RUBYGEMS + + """ + Rust crates + """ + RUST + + """ + Swift packages + """ + SWIFT +} + """ Dependency manifest for a repository """ @@ -8439,6 +10463,11 @@ enum DeploymentState { """ QUEUED + """ + The deployment was successful. + """ + SUCCESS + """ The deployment is waiting. """ @@ -8581,6 +10610,36 @@ enum DeploymentStatusState { WAITING } +""" +Autogenerated input type of DequeuePullRequest +""" +input DequeuePullRequestInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the pull request to be dequeued. + """ + id: ID! @possibleTypes(concreteTypes: ["PullRequest"]) +} + +""" +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. """ @@ -8665,7 +10724,7 @@ type DisconnectedEvent implements Node { """ A discussion in a repository. """ -type Discussion implements Comment & Deletable & Labelable & Lockable & Node & Reactable & RepositoryNode & Subscribable & Updatable & Votable { +type Discussion implements Closable & Comment & Deletable & Labelable & Lockable & Node & Reactable & RepositoryNode & Subscribable & Updatable & Votable { """ Reason that the conversation was locked. """ @@ -8716,6 +10775,16 @@ type Discussion implements Comment & Deletable & Labelable & Lockable & Node & R """ category: DiscussionCategory! + """ + 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 + """ The replies to the discussion. """ @@ -8812,6 +10881,11 @@ type Discussion implements Comment & Deletable & Labelable & Lockable & Node & R """ number: Int! + """ + The poll associated with this discussion, if one exists. + """ + poll: DiscussionPoll + """ Identifies when the comment was published at. """ @@ -8867,6 +10941,11 @@ type Discussion implements Comment & Deletable & Labelable & Lockable & Node & R """ resourcePath: URI! + """ + Identifies the reason for the discussion's state. + """ + stateReason: DiscussionStateReason + """ The title of this discussion. """ @@ -8912,6 +10991,11 @@ type Discussion implements Comment & Deletable & Labelable & Lockable & Node & R last: Int ): UserContentEditConnection + """ + Indicates if the object can be closed by the viewer. + """ + viewerCanClose: Boolean! + """ Check if the current viewer can delete this object. """ @@ -8922,6 +11006,11 @@ type Discussion implements Comment & Deletable & Labelable & Lockable & Node & R """ 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. """ @@ -8993,6 +11082,11 @@ type DiscussionCategory implements Node & RepositoryNode { """ repository: Repository! + """ + The slug of this category. + """ + slug: String! + """ Identifies the date and time when the object was last updated. """ @@ -9039,6 +11133,26 @@ type DiscussionCategoryEdge { node: DiscussionCategory } +""" +The possible reasons for closing a discussion. +""" +enum DiscussionCloseReason { + """ + The discussion is a duplicate of another + """ + DUPLICATE + + """ + The discussion is no longer relevant + """ + OUTDATED + + """ + The discussion has been resolved + """ + RESOLVED +} + """ A comment on a discussion. """ @@ -9120,7 +11234,9 @@ type DiscussionComment implements Comment & Deletable & Minimizable & Node & Rea 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 @@ -9405,6 +11521,204 @@ enum DiscussionOrderField { 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 + + """ + 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 + + """ + How to order the options for the discussion poll. + """ + orderBy: DiscussionPollOptionOrder = {field: AUTHORED_ORDER, direction: ASC} + ): DiscussionPollOptionConnection + + """ + The question that is being asked by this poll. + """ + question: String! + + """ + The total number of votes that have been cast for this poll. + """ + totalVoteCount: Int! + + """ + Indicates if the viewer has permission to vote in this poll. + """ + viewerCanVote: Boolean! + + """ + Indicates if the viewer has voted for any option in this poll. + """ + viewerHasVoted: Boolean! +} + +""" +An option for a discussion poll. +""" +type DiscussionPollOption implements Node { + id: ID! + + """ + The text for this option. + """ + option: String! + + """ + The discussion poll that this option belongs to. + """ + poll: DiscussionPoll + + """ + The total number of votes that have been cast for this option. + """ + totalVoteCount: Int! + + """ + Indicates if the viewer has voted for this option in the poll. + """ + viewerHasVoted: Boolean! +} + +""" +The connection type for DiscussionPollOption. +""" +type DiscussionPollOptionConnection { + """ + A list of edges. + """ + edges: [DiscussionPollOptionEdge] + + """ + A list of nodes. + """ + nodes: [DiscussionPollOption] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type DiscussionPollOptionEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: DiscussionPollOption +} + +""" +Ordering options for discussion poll option connections. +""" +input DiscussionPollOptionOrder { + """ + The ordering direction. + """ + direction: OrderDirection! + + """ + The field to order poll options by. + """ + field: DiscussionPollOptionOrderField! +} + +""" +Properties by which discussion poll option connections can be ordered. +""" +enum DiscussionPollOptionOrderField { + """ + Order poll options by the order that the poll author specified when creating the poll. + """ + AUTHORED_ORDER + + """ + Order poll options by the number of votes it has. + """ + VOTE_COUNT +} + +""" +The possible states of a discussion. +""" +enum DiscussionState { + """ + A discussion that has been closed + """ + CLOSED + + """ + A discussion that is open + """ + OPEN +} + +""" +The possible state reasons of a discussion. +""" +enum DiscussionStateReason { + """ + The discussion is a duplicate of another + """ + DUPLICATE + + """ + The discussion is no longer relevant + """ + OUTDATED + + """ + The discussion was reopened + """ + REOPENED + + """ + The discussion has been resolved + """ + RESOLVED +} + """ Autogenerated input type of DismissPullRequestReview """ @@ -9440,6 +11754,187 @@ type DismissPullRequestReviewPayload { pullRequestReview: PullRequestReview } +""" +The possible reasons that a Dependabot alert was dismissed. +""" +enum DismissReason { + """ + A fix has already been started + """ + FIX_STARTED + + """ + This alert is inaccurate or incorrect + """ + INACCURATE + + """ + Vulnerable code is not actually used + """ + NOT_USED + + """ + No bandwidth to fix this + """ + NO_BANDWIDTH + + """ + Risk is tolerable to this project + """ + TOLERABLE_RISK +} + +""" +Autogenerated input type of DismissRepositoryVulnerabilityAlert +""" +input DismissRepositoryVulnerabilityAlertInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The reason the Dependabot alert is being dismissed. + """ + dismissReason: DismissReason! + + """ + The Dependabot alert ID to dismiss. + """ + repositoryVulnerabilityAlertId: ID! @possibleTypes(concreteTypes: ["RepositoryVulnerabilityAlert"]) +} + +""" +Autogenerated return type of DismissRepositoryVulnerabilityAlert +""" +type DismissRepositoryVulnerabilityAlertPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + 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 + + """ + 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 body of the draft issue. + """ + body: String! + + """ + The body of the draft issue rendered to HTML. + """ + bodyHTML: HTML! + + """ + The body of the draft issue rendered to text. + """ + bodyText: String! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The actor who created this draft issue. + """ + creator: Actor + id: ID! + + """ + List of items linked with the draft issue (currently draft issue can be linked to only one item). + """ + projectV2Items( + """ + 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! + + """ + Projects that link to this draft issue (currently draft issue can be linked to only one project). + """ + 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 + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ProjectV2Connection! + + """ + The title of the draft issue + """ + title: String! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! +} + """ Specifies a review comment to be left with a Pull Request Review. """ @@ -9510,17 +12005,27 @@ input EnablePullRequestAutoMergeInput { clientMutationId: String """ - Commit body to use for the commit when the PR is mergable; if omitted, a default message will be used. + 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. """ commitBody: String """ - Commit headline to use for the commit when the PR is mergable; if omitted, a default message will be used. + 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. """ commitHeadline: String """ - The merge method to use. If omitted, defaults to 'MERGE' + The expected head OID of the pull request. + """ + expectedHeadOid: GitObjectID + + """ + 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. """ mergeMethod: PullRequestMergeMethod = MERGE @@ -9550,10 +12055,65 @@ type EnablePullRequestAutoMergePayload { pullRequest: PullRequest } +""" +Autogenerated input type of EnqueuePullRequest +""" +input EnqueuePullRequestInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The expected head OID of the pull request. + """ + expectedHeadOid: GitObjectID + + """ + Add the pull request to the front of the queue. + """ + jump: Boolean + + """ + The ID of the pull request to enqueue. + """ + pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) +} + +""" +Autogenerated return type of EnqueuePullRequest +""" +type EnqueuePullRequestPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The merge queue entry for the enqueued pull request. + """ + mergeQueueEntry: MergeQueueEntry +} + """ An account to manage multiple organizations with consolidated policy and billing. """ -type Enterprise implements Node { +type Enterprise implements AnnouncementBanner & Node { + """ + 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 URL pointing to the enterprise's public avatar. """ @@ -9619,6 +12179,12 @@ type Enterprise implements Node { """ first: Int + """ + Only return members with this two-factor authentication status. Does not + include members who only have an account on a GitHub Enterprise Server instance. + """ + hasTwoFactorEnabled: Boolean = null + """ Returns the last _n_ elements from the list. """ @@ -9683,10 +12249,16 @@ type Enterprise implements Node { The search string to look for. """ query: String + + """ + The viewer's role in an organization. + """ + viewerOrganizationRole: RoleInOrganization ): OrganizationConnection! """ - Enterprise information only visible to enterprise owners. + Enterprise information visible to enterprise owners or enterprise owners' + personal access tokens (classic) with read:enterprise or admin:enterprise scope. """ ownerInfo: EnterpriseOwnerInfo @@ -9705,31 +12277,6 @@ type Enterprise implements Node { """ url: URI! - """ - A list of user accounts on this enterprise. - """ - userAccounts( - """ - 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 - ): EnterpriseUserAccountConnection! - """ Is the current viewer an admin of this enterprise? """ @@ -9902,6 +12449,41 @@ enum EnterpriseAdministratorRole { OWNER } +""" +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 + + """ + Members can fork a repository to their enterprise-managed user account or an organization inside this enterprise. + """ + ENTERPRISE_ORGANIZATIONS_USER_ACCOUNTS + + """ + Members can fork a repository to their user account or an organization, either inside or outside of this enterprise. + """ + EVERYWHERE + + """ + Members can fork a repository only within the same organization (intra-org). + """ + SAME_ORGANIZATION + + """ + Members can fork a repository to their user account or within the same organization. + """ + SAME_ORGANIZATION_USER_ACCOUNTS + + """ + Members can fork a repository to their user account. + """ + USER_ACCOUNTS +} + """ Metadata for an audit entry containing enterprise account information. """ @@ -9936,14 +12518,6 @@ type EnterpriseBillingInfo { """ assetPacks: Int! - """ - The number of available seats across all owned organizations based on the unique number of billable users. - """ - availableSeats: Int! - @deprecated( - reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalAvailableLicenses instead. Removal on 2020-01-01 UTC." - ) - """ The bandwidth quota in GB for all organizations owned by the enterprise. """ @@ -9959,14 +12533,6 @@ type EnterpriseBillingInfo { """ bandwidthUsagePercentage: Int! - """ - The total seats across all organizations owned by the enterprise. - """ - seats: Int! - @deprecated( - reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on the value being returned Use EnterpriseBillingInfo.totalLicenses instead. Removal on 2020-01-01 UTC." - ) - """ The storage quota in GB for all organizations owned by the enterprise. """ @@ -10058,8 +12624,55 @@ enum EnterpriseEnabledSettingValue { NO_POLICY } +""" +The connection type for OrganizationInvitation. +""" +type EnterpriseFailedInvitationConnection { + """ + A list of edges. + """ + edges: [EnterpriseFailedInvitationEdge] + + """ + 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! +} + +""" +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: OrganizationInvitation +} + """ An identity provider configured to provision identities for an enterprise. +Visible to enterprise owners or enterprise owners' personal access tokens +(classic) with read:enterprise or admin:enterprise scope. """ type EnterpriseIdentityProvider implements Node { """ @@ -10096,10 +12709,20 @@ type EnterpriseIdentityProvider implements Node { """ last: Int + """ + Filter to external identities with the users login + """ + login: String + """ Filter to external identities with valid org membership only """ membersOnly: Boolean + + """ + Filter to external identities with the users userName/NameID attribute + """ + userName: String ): ExternalIdentityConnection! id: ID! @@ -10168,11 +12791,6 @@ type EnterpriseMemberEdge { """ cursor: String! - """ - Whether the user does not have a license for the enterprise. - """ - isUnlicensed: Boolean! @deprecated(reason: "All members consume a license Removal on 2021-01-01 UTC.") - """ The item at the end of the edge. """ @@ -10333,11 +12951,6 @@ type EnterpriseOutsideCollaboratorEdge { """ cursor: String! - """ - Whether the outside collaborator does not have a license for the enterprise. - """ - isUnlicensed: Boolean! @deprecated(reason: "All outside collaborators consume a license Removal on 2021-01-01 UTC.") - """ The item at the end of the edge. """ @@ -10375,7 +12988,8 @@ type EnterpriseOutsideCollaboratorEdge { } """ -Enterprise information only visible to enterprise owners. +Enterprise information visible to enterprise owners or enterprise owners' +personal access tokens (classic) with read:enterprise or admin:enterprise scope. """ type EnterpriseOwnerInfo { """ @@ -10397,6 +13011,11 @@ type EnterpriseOwnerInfo { """ first: Int + """ + Only return administrators with this two-factor authentication status. + """ + hasTwoFactorEnabled: Boolean = null + """ Returns the last _n_ elements from the list. """ @@ -10407,6 +13026,11 @@ type EnterpriseOwnerInfo { """ orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + """ + Only return members within the organizations with these logins + """ + organizationLogins: [String!] + """ The search string to look for. """ @@ -10488,6 +13112,11 @@ type EnterpriseOwnerInfo { value: Boolean! ): 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. """ @@ -10529,7 +13158,8 @@ type EnterpriseOwnerInfo { ): OrganizationConnection! """ - A list of domains owned by the enterprise. + A list of domains owned by the enterprise. Visible to enterprise owners or + enterprise owners' personal access tokens (classic) with admin:enterprise scope. """ domains( """ @@ -10603,6 +13233,36 @@ type EnterpriseOwnerInfo { orderBy: EnterpriseServerInstallationOrder = {field: HOST_NAME, direction: ASC} ): EnterpriseServerInstallationConnection! + """ + A list of failed invitations in the enterprise. + """ + failedInvitations( + """ + 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 search string to look for. + """ + query: String + ): EnterpriseFailedInvitationConnection! + """ The setting value for whether the enterprise has an IP allow list enabled. """ @@ -10610,6 +13270,8 @@ type EnterpriseOwnerInfo { """ The IP addresses that are allowed to access resources owned by the enterprise. + Visible to enterprise owners or enterprise owners' personal access tokens + (classic) with admin:enterprise scope. """ ipAllowListEntries( """ @@ -10959,6 +13621,11 @@ type EnterpriseOwnerInfo { """ 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. """ @@ -11018,6 +13685,11 @@ type EnterpriseOwnerInfo { """ first: Int + """ + Only return outside collaborators with this two-factor authentication status. + """ + hasTwoFactorEnabled: Boolean = null + """ Returns the last _n_ elements from the list. """ @@ -11033,6 +13705,11 @@ type EnterpriseOwnerInfo { """ orderBy: EnterpriseMemberOrder = {field: LOGIN, direction: ASC} + """ + Only return outside collaborators within the organizations with these logins + """ + organizationLogins: [String!] + """ The search string to look for. """ @@ -11120,9 +13797,9 @@ type EnterpriseOwnerInfo { ): RepositoryInvitationConnection! """ - A list of pending collaborators across the repositories in the enterprise. + A list of pending member invitations for organizations in the enterprise. """ - pendingCollaborators( + pendingMemberInvitations( """ Returns the elements in the list that come after the specified cursor. """ @@ -11139,47 +13816,19 @@ type EnterpriseOwnerInfo { first: Int """ - Returns the last _n_ elements from the list. - """ - last: Int - - """ - Ordering options for pending repository collaborator invitations returned from the connection. - """ - orderBy: RepositoryInvitationOrder = {field: CREATED_AT, direction: DESC} - - """ - The search string to look for. - """ - query: String - ): EnterprisePendingCollaboratorConnection! - @deprecated( - reason: "Repository invitations can now be associated with an email, not only an invitee. Use the `pendingCollaboratorInvitations` field instead. Removal on 2020-10-01 UTC." - ) - - """ - A list of pending member invitations for organizations in the enterprise. - """ - pendingMemberInvitations( - """ - 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. + Only return invitations matching this invitation source """ - before: String + invitationSource: OrganizationInvitationSource """ - Returns the first _n_ elements from the list. + Returns the last _n_ elements from the list. """ - first: Int + last: Int """ - Returns the last _n_ elements from the list. + Only return invitations within the organizations with these logins """ - last: Int + organizationLogins: [String!] """ The search string to look for. @@ -11378,81 +14027,6 @@ type EnterpriseOwnerInfo { ): OrganizationConnection! } -""" -The connection type for User. -""" -type EnterprisePendingCollaboratorConnection { - """ - A list of edges. - """ - edges: [EnterprisePendingCollaboratorEdge] - - """ - A list of nodes. - """ - nodes: [User] - - """ - Information to aid in pagination. - """ - pageInfo: PageInfo! - - """ - Identifies the total count of items in the connection. - """ - totalCount: Int! -} - -""" -A user with an invitation to be a collaborator on a repository owned by an organization in an enterprise. -""" -type EnterprisePendingCollaboratorEdge { - """ - A cursor for use in pagination. - """ - cursor: String! - - """ - Whether the invited collaborator does not have a license for the enterprise. - """ - isUnlicensed: Boolean! @deprecated(reason: "All pending collaborators consume a license Removal on 2021-01-01 UTC.") - - """ - 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 - - """ - 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 repositories. - """ - orderBy: RepositoryOrder = {field: NAME, direction: ASC} - ): EnterpriseRepositoryInfoConnection! -} - """ The connection type for OrganizationInvitation. """ @@ -11492,11 +14066,6 @@ type EnterprisePendingMemberInvitationEdge { """ cursor: String! - """ - Whether the invitation has a license for the enterprise. - """ - isUnlicensed: Boolean! @deprecated(reason: "All pending members consume a license Removal on 2020-07-01 UTC.") - """ The item at the end of the edge. """ @@ -11696,6 +14265,51 @@ type EnterpriseServerInstallationEdge { 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. """ @@ -12117,6 +14731,46 @@ type EnterpriseUserAccount implements Actor & Node { The enterprise in which this user account exists. """ enterprise: Enterprise! + + """ + A list of Enterprise Server installations this user is a member of. + """ + enterpriseInstallations( + """ + 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 installations returned from the connection. + """ + orderBy: EnterpriseServerInstallationOrder = {field: HOST_NAME, direction: ASC} + + """ + The search string to look for. + """ + query: String + + """ + The role of the user in the installation. + """ + role: EnterpriseUserAccountMembershipRole + ): EnterpriseServerInstallationMembershipConnection! id: ID! """ @@ -12190,59 +14844,25 @@ type EnterpriseUserAccount implements Actor & Node { user: User } -""" -The connection type for EnterpriseUserAccount. -""" -type EnterpriseUserAccountConnection { - """ - A list of edges. - """ - edges: [EnterpriseUserAccountEdge] - - """ - A list of nodes. - """ - nodes: [EnterpriseUserAccount] - - """ - 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! - - """ - The item at the end of the edge. - """ - node: EnterpriseUserAccount -} - """ The possible roles for enterprise membership. """ enum EnterpriseUserAccountMembershipRole { """ - The user is a member of the enterprise membership. + The user is a member of an organization in the enterprise. """ MEMBER """ - The user is an owner of the enterprise membership. + 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 } """ @@ -12342,7 +14962,38 @@ type EnvironmentEdge { } """ -An external identity provisioned by SAML SSO or SCIM. +Properties by which environments connections can be ordered +""" +enum EnvironmentOrderField { + """ + Order environments by name. + """ + NAME +} + +""" +Ordering options for environments +""" +input Environments { + """ + The direction in which to order environments by the specified field. + """ + direction: OrderDirection! + + """ + The field to order environments by. + """ + field: EnvironmentOrderField! +} + +""" +An external identity provisioned by SAML SSO or SCIM. If SAML is configured on +the organization, the external identity is visible to (1) organization owners, +(2) organization owners' personal access tokens (classic) with read:org or +admin:org scope, (3) GitHub App with an installation token with read or write +access to members. If SAML is configured on the enterprise, the external +identity is visible to (1) enterprise owners, (2) enterprise owners' personal +access tokens (classic) with read:enterprise or admin:enterprise scope. """ type ExternalIdentity implements Node { """ @@ -12372,6 +15023,26 @@ type ExternalIdentity implements Node { 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. """ @@ -12416,6 +15087,11 @@ type ExternalIdentityEdge { SAML attributes for the External Identity """ type ExternalIdentitySamlAttributes { + """ + SAML Identity attributes + """ + attributes: [ExternalIdentityAttribute!]! + """ The emails associated with the SAML identity """ @@ -12650,6 +15326,36 @@ enum FileViewedState { VIEWED } +""" +Autogenerated input type of FollowOrganization +""" +input FollowOrganizationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the organization to follow. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +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 """ @@ -12774,6 +15480,11 @@ enum FundingPlatform { """ KO_FI + """ + LFX Crowdfunding funding platform. + """ + LFX_CROWDFUNDING + """ Liberapay funding platform. """ @@ -13052,7 +15763,9 @@ type GistComment implements Comment & Deletable & Minimizable & Node & Updatable 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 @@ -13396,6 +16109,11 @@ type GitHubMetadata { """ gitIpAddresses: [String!] + """ + IP addresses that GitHub Enterprise Importer uses for outbound connections + """ + githubEnterpriseImporterIpAddresses: [String!] + """ IP addresses that service hooks are sent from """ @@ -13645,6 +16363,101 @@ type GpgSignature implements GitSignature { wasSignedByGitHub: Boolean! } +""" +Autogenerated input type of GrantEnterpriseOrganizationsMigratorRole +""" +input GrantEnterpriseOrganizationsMigratorRoleInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise to which all organizations managed by it will be granted the migrator role. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The login of the user to grant the migrator role + """ + login: 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 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 + + """ + The ID of the organization that the user/team belongs to. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +Autogenerated return type of GrantMigratorRole +""" +type GrantMigratorRolePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Did the operation succeed? + """ + success: Boolean +} + """ A string containing HTML code. """ @@ -14022,7 +16835,7 @@ union IpAllowListOwner = App | Enterprise | Organization """ An Issue is a place to discuss ideas, enhancements, tasks, and bugs for a project. """ -type Issue implements Assignable & Closable & Comment & Labelable & Lockable & Node & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable & Updatable & UpdatableComment { +type Issue implements Assignable & Closable & Comment & Deletable & Labelable & Lockable & Node & ProjectV2Owner & Reactable & RepositoryNode & Subscribable & SubscribableThread & UniformResourceLocatable & Updatable & UpdatableComment { """ Reason that the conversation was locked. """ @@ -14089,7 +16902,7 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N bodyUrl: URI! """ - `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! @@ -14148,6 +16961,11 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N """ editor: Actor + """ + Identifies the primary key from the database as a BigInt. + """ + fullDatabaseId: BigInt + """ The hovercard information for this issue """ @@ -14209,6 +17027,31 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N """ 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 """ @@ -14279,6 +17122,81 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N last: Int ): ProjectCardConnection! + """ + List of project items associated with this issue. + """ + projectItems( + """ + 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 + + """ + Include archived items. + """ + includeArchived: Boolean = true + + """ + 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( + """ + 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 + + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """ + A project to search for under the the owner. + """ + query: String + ): ProjectV2Connection! + """ Identifies when the comment was published at. """ @@ -14339,6 +17257,11 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N """ state: IssueState! + """ + Identifies the reason for the issue state. + """ + stateReason: IssueStateReason + """ A list of events, comments, commits, etc. associated with the issue. """ @@ -14420,6 +17343,66 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N """ 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. """ @@ -14455,11 +17438,26 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N last: Int ): UserContentEditConnection + """ + Indicates if the object can be closed by the viewer. + """ + viewerCanClose: Boolean! + + """ + Check if the current viewer can delete this object. + """ + viewerCanDelete: 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. """ @@ -14484,6 +17482,31 @@ type Issue implements Assignable & Closable & Comment & Labelable & Lockable & N Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. """ viewerSubscription: SubscriptionState + + """ + Identifies the viewer's thread subscription form action. + """ + viewerThreadSubscriptionFormAction: ThreadSubscriptionFormAction + + """ + Identifies the viewer's thread subscription status. + """ + viewerThreadSubscriptionStatus: ThreadSubscriptionState +} + +""" +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 } """ @@ -14534,6 +17557,11 @@ type IssueComment implements Comment & Deletable & Minimizable & Node & Reactabl The actor who edited the comment. """ editor: Actor + + """ + Identifies the primary key from the database as a BigInt. + """ + fullDatabaseId: BigInt id: ID! """ @@ -14557,7 +17585,9 @@ type IssueComment implements Comment & Deletable & Minimizable & Node & Reactabl 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 @@ -14860,11 +17890,18 @@ input IssueFilters { """ 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 + 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. """ @@ -14936,6 +17973,26 @@ enum IssueState { OPEN } +""" +The possible state reasons of an issue. +""" +enum IssueStateReason { + """ + An issue that has been closed as completed + """ + COMPLETED + + """ + An issue that has been closed as not planned + """ + NOT_PLANNED + + """ + An issue that has been reopened + """ + REOPENED +} + """ A repository issue template. """ @@ -14945,11 +18002,71 @@ type IssueTemplate { """ about: String + """ + The suggested assignees. + """ + 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 suggested issue body. """ body: String + """ + The template filename. + """ + filename: String! + + """ + The suggested issue labels + """ + labels( + """ + 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 labels returned from the connection. + """ + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + ): LabelConnection + """ The template name. """ @@ -15035,6 +18152,7 @@ union IssueTimelineItems = | CommentDeletedEvent | ConnectedEvent | ConvertedNoteToIssueEvent + | ConvertedToDiscussionEvent | CrossReferencedEvent | DemilestonedEvent | DisconnectedEvent @@ -15149,6 +18267,11 @@ enum IssueTimelineItemsItemType { """ CONVERTED_NOTE_TO_ISSUE_EVENT + """ + Represents a 'converted_to_discussion' event on a given issue. + """ + CONVERTED_TO_DISCUSSION_EVENT + """ Represents a mention made by one issue or pull request to another. """ @@ -15759,6 +18882,76 @@ type LicenseRule { label: String! } +""" +Autogenerated input type of LinkProjectV2ToRepository +""" +input LinkProjectV2ToRepositoryInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the project to link to the repository. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The ID of the repository to link to the project. + """ + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the project to link to the team. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The ID of the team to link to the project. + """ + teamId: ID! @possibleTypes(concreteTypes: ["Team"]) +} + +""" +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 """ @@ -15799,6 +18992,58 @@ type LinkRepositoryToProjectPayload { repository: Repository } +""" +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 LockLockable """ @@ -15961,6 +19206,76 @@ type Mannequin implements Actor & Node & UniformResourceLocatable { 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 ordering direction. + """ + direction: OrderDirection! + + """ + The field to order mannequins by. + """ + field: MannequinOrderField! +} + +""" +Properties by which mannequins can be ordered. +""" +enum MannequinOrderField { + """ + Order mannequins why when they were created. + """ + CREATED_AT + + """ + Order mannequins alphabetically by their source login. + """ + LOGIN +} + """ Autogenerated input type of MarkDiscussionCommentAsAnswer """ @@ -16026,6 +19341,36 @@ type MarkFileAsViewedPayload { pullRequest: PullRequest } +""" +Autogenerated input type of MarkProjectV2AsTemplate +""" +input MarkProjectV2AsTemplateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Project to mark as a template. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +Autogenerated return type of MarkProjectV2AsTemplate +""" +type MarkProjectV2AsTemplatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The project. + """ + projectV2: ProjectV2 +} + """ Autogenerated input type of MarkPullRequestReadyForReview """ @@ -16890,6 +20235,41 @@ type MergeBranchPayload { mergeCommit: Commit } +""" +The possible default commit messages for merges. +""" +enum MergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the pull request's body. + """ + PR_BODY + + """ + Default to the pull request's title. + """ + PR_TITLE +} + +""" +The possible default commit titles for merges. +""" +enum MergeCommitTitle { + """ + Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + """ + MERGE_MESSAGE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Autogenerated input type of MergePullRequest """ @@ -16950,6 +20330,249 @@ type MergePullRequestPayload { 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 waiting for checks to pass. + """ + AWAITING_CHECKS + + """ + The entry is currently locked. + """ + LOCKED + + """ + The entry is currently mergeable. + """ + MERGEABLE + + """ + The entry is currently queued. + """ + QUEUED + + """ + The entry is currently unmergeable. + """ + UNMERGEABLE +} + +""" +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 +} + """ Detailed status information about a pull request merge. """ @@ -17064,12 +20687,151 @@ type MergedEvent implements Node & UniformResourceLocatable { url: URI! } +""" +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! + + """ + The number of warnings encountered for this migration. To review the warnings, + check the [Migration Log](https://docs.github.com/en/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). + """ + warningsCount: Int! +} + +""" +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 failed. + """ + FAILED + + """ + The migration has invalid credentials. + """ + FAILED_VALIDATION + + """ + The migration is in progress. + """ + IN_PROGRESS + + """ + The migration has not started. + """ + NOT_STARTED + + """ + The migration needs to have its credentials validated. + """ + PENDING_VALIDATION + + """ + The migration has been queued. + """ + QUEUED + + """ + The migration has succeeded. + """ + SUCCEEDED +} + """ Represents a Milestone object on a given repository. """ type Milestone implements Closable & Node & UniformResourceLocatable { """ - `true` if the object is closed (definition of closed may depend on type) + Indicates if the object is closed (definition of closed may depend on type) """ closed: Boolean! @@ -17233,6 +20995,16 @@ type Milestone implements Closable & Node & UniformResourceLocatable { 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! } """ @@ -17371,7 +21143,9 @@ interface Minimizable { isMinimized: Boolean! """ - 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 @@ -17540,6 +21314,16 @@ type MovedColumnsInProjectEvent implements Node { 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. """ @@ -17590,6 +21374,26 @@ type Mutation { 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. """ @@ -17630,6 +21434,26 @@ type Mutation { 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. """ @@ -17660,6 +21484,16 @@ type Mutation { input: AddPullRequestReviewThreadInput! ): AddPullRequestReviewThreadPayload + """ + Adds a reply to an existing Pull Request Review Thread. + """ + addPullRequestReviewThreadReply( + """ + Parameters for AddPullRequestReviewThreadReply + """ + input: AddPullRequestReviewThreadReplyInput! + ): AddPullRequestReviewThreadReplyPayload + """ Adds a reaction to a subject. """ @@ -17720,6 +21554,16 @@ type Mutation { input: ApproveVerifiableDomainInput! ): ApproveVerifiableDomainPayload + """ + Archives a ProjectV2Item + """ + archiveProjectV2Item( + """ + Parameters for ArchiveProjectV2Item + """ + input: ArchiveProjectV2ItemInput! + ): ArchiveProjectV2ItemPayload + """ Marks a repository as archived. """ @@ -17770,6 +21614,18 @@ type Mutation { 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. """ @@ -17790,6 +21646,16 @@ type Mutation { input: CloneTemplateRepositoryInput! ): CloneTemplateRepositoryPayload + """ + Close a discussion. + """ + closeDiscussion( + """ + Parameters for CloseDiscussion + """ + input: CloseDiscussionInput! + ): CloseDiscussionPayload + """ Close an issue. """ @@ -17830,6 +21696,26 @@ type Mutation { 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 """ @@ -17911,16 +21797,6 @@ type Mutation { input: CreateCommitOnBranchInput! ): CreateCommitOnBranchPayload - """ - Create a content attachment. - """ - createContentAttachment( - """ - Parameters for CreateContentAttachment - """ - input: CreateContentAttachmentInput! - ): CreateContentAttachmentPayload @preview(toggledBy: "corsair-preview") - """ Creates a new deployment event. """ @@ -18001,6 +21877,26 @@ type Mutation { input: CreateLabelInput! ): CreateLabelPayload @preview(toggledBy: "bane-preview") + """ + 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. """ @@ -18011,6 +21907,26 @@ type Mutation { 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 """ @@ -18041,6 +21957,36 @@ type Mutation { input: CreateRepositoryInput! ): CreateRepositoryPayload + """ + Create a repository ruleset + """ + createRepositoryRuleset( + """ + Parameters for CreateRepositoryRuleset + """ + input: CreateRepositoryRulesetInput! + ): CreateRepositoryRulesetPayload + + """ + 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. """ @@ -18051,6 +21997,18 @@ type Mutation { 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. """ @@ -18171,6 +22129,16 @@ type Mutation { input: DeleteLabelInput! ): DeleteLabelPayload @preview(toggledBy: "bane-preview") + """ + Unlink a branch from an issue. + """ + deleteLinkedBranch( + """ + Parameters for DeleteLinkedBranch + """ + input: DeleteLinkedBranchInput! + ): DeleteLinkedBranchPayload + """ Delete a package version. """ @@ -18211,6 +22179,46 @@ type Mutation { 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. """ @@ -18241,6 +22249,16 @@ type Mutation { input: DeleteRefInput! ): DeleteRefPayload + """ + Delete a repository ruleset + """ + deleteRepositoryRuleset( + """ + Parameters for DeleteRepositoryRuleset + """ + input: DeleteRepositoryRulesetInput! + ): DeleteRepositoryRulesetPayload + """ Deletes a team discussion. """ @@ -18271,6 +22289,16 @@ type Mutation { 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 """ @@ -18291,6 +22319,16 @@ type Mutation { input: DismissPullRequestReviewInput! ): DismissPullRequestReviewPayload + """ + Dismisses the Dependabot alert. + """ + dismissRepositoryVulnerabilityAlert( + """ + Parameters for DismissRepositoryVulnerabilityAlert + """ + input: DismissRepositoryVulnerabilityAlertInput! + ): DismissRepositoryVulnerabilityAlertPayload + """ Enable the default auto-merge on a pull request. """ @@ -18301,6 +22339,26 @@ type Mutation { 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. """ @@ -18311,6 +22369,26 @@ type Mutation { 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 + """ Creates a new project by importing columns and a list of issues/PRs. """ @@ -18331,6 +22409,26 @@ type Mutation { 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. """ @@ -18371,6 +22469,16 @@ type Mutation { input: MarkFileAsViewedInput! ): MarkFileAsViewedPayload + """ + Mark a project as a template. Note that only projects which are owned by an Organization can be marked as a template. + """ + markProjectV2AsTemplate( + """ + Parameters for MarkProjectV2AsTemplate + """ + input: MarkProjectV2AsTemplateInput! + ): MarkProjectV2AsTemplatePayload + """ Marks a pull request ready for review. """ @@ -18441,6 +22549,16 @@ type Mutation { 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 """ @@ -18501,6 +22619,16 @@ type Mutation { 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 """ @@ -18571,6 +22699,16 @@ type Mutation { input: RemoveUpvoteInput! ): RemoveUpvotePayload + """ + Reopen a discussion. + """ + reopenDiscussion( + """ + Parameters for ReopenDiscussion + """ + input: ReopenDiscussionInput! + ): ReopenDiscussionPayload + """ Reopen a issue. """ @@ -18621,6 +22759,46 @@ type Mutation { 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. """ @@ -18661,6 +22839,26 @@ type Mutation { 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. """ @@ -18671,6 +22869,16 @@ type Mutation { 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 """ @@ -18681,6 +22889,16 @@ type Mutation { input: TransferIssueInput! ): TransferIssuePayload + """ + Unarchives a ProjectV2Item + """ + unarchiveProjectV2Item( + """ + Parameters for UnarchiveProjectV2Item + """ + input: UnarchiveProjectV2ItemInput! + ): UnarchiveProjectV2ItemPayload + """ Unarchives a repository. """ @@ -18691,6 +22909,16 @@ type Mutation { input: UnarchiveRepositoryInput! ): UnarchiveRepositoryPayload + """ + Unfollow an organization. + """ + unfollowOrganization( + """ + Parameters for UnfollowOrganization + """ + input: UnfollowOrganizationInput! + ): UnfollowOrganizationPayload + """ Unfollow a user. """ @@ -18701,6 +22929,26 @@ type Mutation { 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. """ @@ -18751,6 +22999,16 @@ type Mutation { input: UnmarkIssueAsDuplicateInput! ): UnmarkIssueAsDuplicatePayload + """ + Unmark a project as a template. + """ + unmarkProjectV2AsTemplate( + """ + Parameters for UnmarkProjectV2AsTemplate + """ + input: UnmarkProjectV2AsTemplateInput! + ): UnmarkProjectV2AsTemplatePayload + """ Unminimizes a comment on an Issue, Commit, Pull Request, or Gist """ @@ -18782,7 +23040,7 @@ type Mutation { ): UnresolveReviewThreadPayload """ - Create a new branch protection rule + Update a branch protection rule """ updateBranchProtectionRule( """ @@ -18951,6 +23209,16 @@ type Mutation { 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. """ @@ -19071,6 +23339,26 @@ type Mutation { 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. """ @@ -19101,6 +23389,57 @@ type Mutation { input: UpdateProjectColumnInput! ): UpdateProjectColumnPayload + """ + Updates an existing project (beta). + """ + updateProjectV2( + """ + Parameters for UpdateProjectV2 + """ + input: UpdateProjectV2Input! + ): UpdateProjectV2Payload + + """ + Update the collaborators on a team or a project + """ + updateProjectV2Collaborators( + """ + Parameters for UpdateProjectV2Collaborators + """ + input: UpdateProjectV2CollaboratorsInput! + ): UpdateProjectV2CollaboratorsPayload + + """ + 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 """ @@ -19111,6 +23450,16 @@ type Mutation { 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. """ @@ -19178,6 +23527,26 @@ type Mutation { input: UpdateRepositoryInput! ): UpdateRepositoryPayload + """ + Update a repository ruleset + """ + updateRepositoryRuleset( + """ + Parameters for UpdateRepositoryRuleset + """ + input: UpdateRepositoryRulesetInput! + ): UpdateRepositoryRulesetPayload + + """ + 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. """ @@ -19228,6 +23597,16 @@ type Mutation { input: UpdateTeamReviewAssignmentInput! ): UpdateTeamReviewAssignmentPayload @preview(toggledBy: "stone-crop-preview") + """ + Update team repository. + """ + updateTeamsRepository( + """ + Parameters for UpdateTeamsRepository + """ + input: UpdateTeamsRepositoryInput! + ): UpdateTeamsRepositoryPayload + """ Replaces the repository's topics with the given topics. """ @@ -19274,22 +23653,95 @@ enum NotificationRestrictionSettingValue { ENABLED } +""" +An OIDC identity provider configured to provision identities for an enterprise. +Visible to enterprise owners or enterprise owners' personal access tokens +(classic) with read:enterprise or admin:enterprise scope. +""" +type OIDCProvider implements Node { + """ + The enterprise this identity provider belongs to. + """ + enterprise: Enterprise + + """ + ExternalIdentities provisioned by this identity provider. + """ + externalIdentities( + """ + 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 to external identities with the users login + """ + login: String + + """ + Filter to external identities with valid org membership only + """ + membersOnly: Boolean + + """ + Filter to external identities with the users userName/NameID attribute + """ + userName: String + ): 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 +} + """ Metadata for an audit entry with action oauth_application.* """ interface OauthApplicationAuditEntryData { """ - The name of the OAuth Application. + The name of the OAuth application. """ oauthApplicationName: String """ - The HTTP path for the OAuth Application + The HTTP path for the OAuth application """ oauthApplicationResourcePath: URI """ - The HTTP URL for the OAuth Application + The HTTP URL for the OAuth application """ oauthApplicationUrl: URI } @@ -19334,12 +23786,12 @@ type OauthApplicationCreateAuditEntry implements AuditEntry & Node & OauthApplic actorUrl: URI """ - The application URL of the OAuth Application. + The application URL of the OAuth application. """ applicationUrl: URI """ - The callback URL of the OAuth Application. + The callback URL of the OAuth application. """ callbackUrl: URI @@ -19350,17 +23802,17 @@ type OauthApplicationCreateAuditEntry implements AuditEntry & Node & OauthApplic id: ID! """ - The name of the OAuth Application. + The name of the OAuth application. """ oauthApplicationName: String """ - The HTTP path for the OAuth Application + The HTTP path for the OAuth application """ oauthApplicationResourcePath: URI """ - The HTTP URL for the OAuth Application + The HTTP URL for the OAuth application """ oauthApplicationUrl: URI @@ -19390,12 +23842,12 @@ type OauthApplicationCreateAuditEntry implements AuditEntry & Node & OauthApplic organizationUrl: URI """ - The rate limit of the OAuth Application. + The rate limit of the OAuth application. """ rateLimit: Int """ - The state of the OAuth Application. + The state of the OAuth application. """ state: OauthApplicationCreateAuditEntryState @@ -19421,21 +23873,21 @@ type OauthApplicationCreateAuditEntry implements AuditEntry & Node & OauthApplic } """ -The state of an OAuth Application when it was created. +The state of an OAuth application when it was created. """ enum OauthApplicationCreateAuditEntryState { """ - The OAuth Application was active and allowed to have OAuth Accesses. + The OAuth application was active and allowed to have OAuth Accesses. """ ACTIVE """ - The OAuth Application was in the process of being deleted. + The OAuth application was in the process of being deleted. """ PENDING_DELETION """ - The OAuth Application was suspended from generating OAuth Accesses due to abuse or security concerns. + The OAuth application was suspended from generating OAuth Accesses due to abuse or security concerns. """ SUSPENDED } @@ -20707,6 +25159,31 @@ type OrgEnableTwoFactorRequirementAuditEntry implements AuditEntry & Node & Orga userUrl: URI } +""" +Ordering options for an organization's enterprise owner connections. +""" +input OrgEnterpriseOwnerOrder { + """ + The ordering direction. + """ + direction: OrderDirection! + + """ + The field to order enterprise owners by. + """ + field: OrgEnterpriseOwnerOrderField! +} + +""" +Properties by which enterprise owners can be ordered. +""" +enum OrgEnterpriseOwnerOrderField { + """ + Order enterprise owners by login. + """ + LOGIN +} + """ Audit log entry for a org.invite_member event. """ @@ -20960,17 +25437,123 @@ type OrgOauthAppAccessApprovedAuditEntry implements AuditEntry & Node & OauthApp id: ID! """ - The name of the OAuth Application. + 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 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 org.oauth_app_access_blocked event. +""" +type OrgOauthAppAccessBlockedAuditEntry implements AuditEntry & Node & 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 time the action was initiated + """ + createdAt: PreciseDateTime! + id: ID! + + """ + The name of the OAuth application. """ oauthApplicationName: String """ - The HTTP path for the OAuth Application + The HTTP path for the OAuth application """ oauthApplicationResourcePath: URI """ - The HTTP URL for the OAuth Application + The HTTP URL for the OAuth application """ oauthApplicationUrl: URI @@ -21066,17 +25649,17 @@ type OrgOauthAppAccessDeniedAuditEntry implements AuditEntry & Node & OauthAppli id: ID! """ - The name of the OAuth Application. + The name of the OAuth application. """ oauthApplicationName: String """ - The HTTP path for the OAuth Application + The HTTP path for the OAuth application """ oauthApplicationResourcePath: URI """ - The HTTP URL for the OAuth Application + The HTTP URL for the OAuth application """ oauthApplicationUrl: URI @@ -21172,17 +25755,17 @@ type OrgOauthAppAccessRequestedAuditEntry implements AuditEntry & Node & OauthAp id: ID! """ - The name of the OAuth Application. + The name of the OAuth application. """ oauthApplicationName: String """ - The HTTP path for the OAuth Application + The HTTP path for the OAuth application """ oauthApplicationResourcePath: URI """ - The HTTP URL for the OAuth Application + The HTTP URL for the OAuth application """ oauthApplicationUrl: URI @@ -21233,9 +25816,9 @@ type OrgOauthAppAccessRequestedAuditEntry implements AuditEntry & Node & OauthAp } """ -Audit log entry for a org.remove_billing_manager event. +Audit log entry for a org.oauth_app_access_unblocked event. """ -type OrgRemoveBillingManagerAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData { +type OrgOauthAppAccessUnblockedAuditEntry implements AuditEntry & Node & OauthApplicationAuditEntryData & OrganizationAuditEntryData { """ The action name """ @@ -21277,6 +25860,21 @@ type OrgRemoveBillingManagerAuditEntry implements AuditEntry & Node & Organizati 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 """ @@ -21302,11 +25900,102 @@ type OrgRemoveBillingManagerAuditEntry implements AuditEntry & Node & Organizati """ organizationUrl: URI - """ - The reason for the billing manager being removed. - """ - reason: OrgRemoveBillingManagerAuditEntryReason - + """ + 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 org.remove_billing_manager event. +""" +type OrgRemoveBillingManagerAuditEntry implements AuditEntry & Node & 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! + + """ + 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 reason for the billing manager being removed. + """ + reason: OrgRemoveBillingManagerAuditEntryReason + """ The user affected by the action """ @@ -21478,6 +26167,11 @@ enum OrgRemoveMemberAuditEntryMembershipType { """ OUTSIDE_COLLABORATOR + """ + A suspended member. + """ + SUSPENDED + """ 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. @@ -22461,7 +27155,22 @@ type OrgUpdateMemberRepositoryInvitationPermissionAuditEntry implements AuditEnt """ An account on GitHub, with one or more owners, that has repositories, members and teams. """ -type Organization implements Actor & MemberStatusable & Node & PackageOwner & ProfileOwner & ProjectOwner & RepositoryDiscussionAuthor & RepositoryDiscussionCommentAuthor & RepositoryOwner & Sponsorable & UniformResourceLocatable { +type Organization implements Actor & AnnouncementBanner & MemberStatusable & Node & PackageOwner & ProfileOwner & ProjectOwner & ProjectV2Owner & ProjectV2Recent & RepositoryDiscussionAuthor & RepositoryDiscussionCommentAuthor & RepositoryOwner & Sponsorable & UniformResourceLocatable { + """ + 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. """ @@ -22583,101 +27292,9 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr email: String """ - 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 - - """ - The setting value for whether the organization has an IP allow list enabled. - """ - ipAllowListEnabledSetting: IpAllowListEnabledSettingValue! - + A list of owners of the organization's enterprise account. """ - 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 - - """ - 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 organization has IP allow list configuration for installed GitHub Apps enabled. - """ - ipAllowListForInstalledAppsEnabledSetting: IpAllowListForInstalledAppsEnabledSettingValue! - - """ - Check if 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! - - """ - Whether the organization has verified its profile email and website. - """ - isVerified: Boolean! - - """ - 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 organization's public profile location. - """ - location: String - - """ - The organization's login name. - """ - login: String! - - """ - Get the status messages members of this entity have set that are either public or visible only to the organization. - """ - memberStatuses( + enterpriseOwners( """ Returns the elements in the list that come after the specified cursor. """ @@ -22699,70 +27316,242 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr last: Int """ - Ordering options for user statuses returned from the connection. - """ - orderBy: UserStatusOrder = {field: UPDATED_AT, direction: DESC} - ): UserStatusConnection! - - """ - 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 - - """ - Returns the elements in the list that come before the specified cursor. + Ordering options for enterprise owners returned from the connection. """ - before: String + orderBy: OrgEnterpriseOwnerOrder = {field: LOGIN, direction: ASC} """ - Returns the first _n_ elements from the list. + The organization role to filter by. """ - first: Int + organizationRole: RoleInOrganization """ - Returns the last _n_ elements from the list. + The search string to look for. """ - last: Int - ): OrganizationMemberConnection! - - """ - The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). - """ - monthlyEstimatedSponsorsIncomeInCents: Int! - - """ - The organization's public profile name. - """ - name: String + query: String + ): OrganizationEnterpriseOwnerConnection! """ - The HTTP path creating a new team + The estimated next GitHub Sponsors payout for this user/organization in cents (USD). """ - newTeamResourcePath: URI! + estimatedNextSponsorsPayoutInCents: Int! """ - The HTTP URL creating a new team + True if this user/organization has a GitHub Sponsors listing. """ - newTeamUrl: URI! + hasSponsorsListing: Boolean! + id: ID! """ - Indicates if email notification delivery for this organization is restricted to verified or approved domains. + The interaction ability settings for this organization. """ - notificationDeliveryRestrictionEnabledSetting: NotificationRestrictionSettingValue! + interactionAbility: RepositoryInteractionAbility """ - The billing email for the organization. + The setting value for whether the organization has an IP allow list enabled. """ - organizationBillingEmail: String + ipAllowListEnabledSetting: IpAllowListEnabledSettingValue! """ - A list of packages under the owner. + The IP addresses that are allowed to access resources owned by the organization. """ - packages( + 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 organization has IP allow list configuration for installed GitHub Apps enabled. + """ + ipAllowListForInstalledAppsEnabledSetting: IpAllowListForInstalledAppsEnabledSettingValue! + + """ + 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! + + """ + Whether the organization has verified its profile email and website. + """ + isVerified: Boolean! + + """ + 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 organization's public profile location. + """ + location: String + + """ + The organization's login name. + """ + login: String! + + """ + A list of all mannequins for this organization. + """ + mannequins( + """ + 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 mannequins by login. + """ + login: String + + """ + Ordering options for mannequins returned from the connection. + """ + orderBy: MannequinOrder = {field: CREATED_AT, direction: ASC} + ): MannequinConnection! + + """ + 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! + + """ + Members can fork private repositories in this organization + """ + membersCanForkPrivateRepositories: Boolean! + + """ + 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 + + """ + 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 + ): OrganizationMemberConnection! + + """ + The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). + """ + monthlyEstimatedSponsorsIncomeInCents: Int! + + """ + The organization's public profile name. + """ + name: String + + """ + The HTTP path creating a new team + """ + newTeamResourcePath: URI! + + """ + The HTTP URL creating a new team + """ + newTeamUrl: URI! + + """ + Indicates if email notification delivery for this organization is restricted to verified or approved domains. + """ + notificationDeliveryRestrictionEnabledSetting: NotificationRestrictionSettingValue! + + """ + The billing email for the organization. + """ + organizationBillingEmail: String + + """ + A list of packages under the owner. + """ + packages( """ Returns the elements in the list that come after the specified cursor. """ @@ -22904,6 +27693,16 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr number: Int! ): Project + """ + Find a project by number. + """ + projectV2( + """ + The project number. + """ + number: Int! + ): ProjectV2 + """ A list of projects under the owner. """ @@ -22954,6 +27753,66 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ projectsUrl: URI! + """ + A list of projects under the owner. + """ + 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 + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """ + A project to search for under the the owner. + """ + query: String + ): ProjectV2Connection! + + """ + 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. """ @@ -22980,6 +27839,16 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ first: Int + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssuesEnabled: Boolean + + """ + If non-null, filters repositories according to whether they are archived and not maintained + """ + isArchived: Boolean + """ If non-null, filters repositories according to whether they are forks of another repository """ @@ -23017,6 +27886,11 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr Find Repository. """ repository( + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + """ Name of Repository to find. """ @@ -23097,8 +27971,53 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr Filter discussions to only those in a specific repository. """ repositoryId: ID + + """ + A list of states to filter the discussions by. + """ + states: [DiscussionState!] = [] ): DiscussionConnection! + """ + A list of all repository migrations for this organization. + """ + repositoryMigrations( + """ + 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 repository migrations returned. + """ + orderBy: RepositoryMigrationOrder = {field: CREATED_AT, direction: ASC} + + """ + Filter repository migrations by repository name. + """ + repositoryName: String + + """ + Filter repository migrations by state. + """ + state: MigrationState + ): RepositoryMigrationConnection! + """ When true the organization requires all members, billing managers, and outside collaborators to enable two-factor authentication. @@ -23111,7 +28030,50 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr resourcePath: URI! """ - The Organization's SAML identity providers + Returns a single ruleset from the current organization by ID. + """ + ruleset( + """ + The ID of the ruleset to be returned. + """ + databaseId: Int! + ): RepositoryRuleset + + """ + A list of rulesets for this organization. + """ + rulesets( + """ + 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 + + """ + Return rulesets configured at higher levels that apply to this organization + """ + includeParents: Boolean = true + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): RepositoryRulesetConnection + + """ + The Organization's SAML identity provider. Visible to (1) organization owners, + (2) organization owners' personal access tokens (classic) with read:org or + admin:org scope, (3) GitHub App with an installation token with read or write + access to members. """ samlIdentityProvider: OrganizationIdentityProvider @@ -23185,6 +28147,11 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr Events involving this sponsorable, such as new sponsorships. """ sponsorsActivities( + """ + Filter activities to only the specified actions. + """ + actions: [SponsorsActivityAction!] = [] + """ Returns the elements in the list that come after the specified cursor. """ @@ -23200,6 +28167,18 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ first: Int + """ + 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 + + """ + Whether or not to include private activities in the result set. Defaults to including public and private activities. + """ + includePrivate: Boolean = true + """ Returns the last _n_ elements from the list. """ @@ -23211,9 +28190,21 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} """ - Filter activities returned to only those that occurred in a given time range. + 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 + + """ + Filter activities to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter activities to those that occurred before this time. + """ + until: DateTime ): SponsorsActivityConnection! """ @@ -23222,16 +28213,26 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + 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. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + 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. @@ -23264,9 +28265,15 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr ): SponsorshipNewsletterConnection! """ - This object's sponsorships as the maintainer. + The sponsorships where this user or organization is the maintainer receiving the funds. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -23300,9 +28307,14 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr ): SponsorshipConnection! """ - This object's sponsorships as the sponsor. + The sponsorships where this user or organization is the funder. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -23323,6 +28335,13 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ last: Int + """ + 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!] + """ Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer. @@ -23369,6 +28388,11 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ ldapMapped: Boolean + """ + If non-null, filters teams according to notification setting + """ + notificationSetting: TeamNotificationSetting + """ Ordering options for teams returned from the connection """ @@ -23398,7 +28422,7 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr User logins to filter by """ userLogins: [String!] - ): TeamConnection + ): TeamConnection! """ The HTTP path listing organization's teams @@ -23410,6 +28434,28 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ teamsUrl: URI! + """ + 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 made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ The organization's Twitter username. """ @@ -23460,11 +28506,21 @@ type Organization implements Actor & MemberStatusable & Node & PackageOwner & Pr """ viewerIsAMember: Boolean! + """ + Whether or not this Organization is followed by the viewer. + """ + viewerIsFollowing: Boolean! + """ True if the viewer is sponsoring this user/organization. """ viewerIsSponsoring: Boolean! + """ + Whether contributors are required to sign off on web-based commits for repositories in this organization. + """ + webCommitSignoffRequired: Boolean! + """ The organization's public profile URL. """ @@ -23494,8 +28550,10 @@ union OrganizationAuditEntry = | OrgInviteMemberAuditEntry | OrgInviteToBusinessAuditEntry | OrgOauthAppAccessApprovedAuditEntry + | OrgOauthAppAccessBlockedAuditEntry | OrgOauthAppAccessDeniedAuditEntry | OrgOauthAppAccessRequestedAuditEntry + | OrgOauthAppAccessUnblockedAuditEntry | OrgRemoveBillingManagerAuditEntry | OrgRemoveMemberAuditEntry | OrgRemoveOutsideCollaboratorAuditEntry @@ -23600,7 +28658,7 @@ type OrganizationAuditEntryEdge { } """ -The connection type for Organization. +A list of organizations managed by an enterprise. """ type OrganizationConnection { """ @@ -23640,7 +28698,55 @@ type OrganizationEdge { } """ -An Identity Provider configured to provision SAML and SCIM identities for Organizations +The connection type for User. +""" +type OrganizationEnterpriseOwnerConnection { + """ + A list of edges. + """ + edges: [OrganizationEnterpriseOwnerEdge] + + """ + A list of nodes. + """ + nodes: [User] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An enterprise owner in the context of an organization that is part of the enterprise. +""" +type OrganizationEnterpriseOwnerEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: User + + """ + The role of the owner with respect to the organization. + """ + organizationRole: RoleInOrganization! +} + +""" +An Identity Provider configured to provision SAML and SCIM identities for +Organizations. Visible to (1) organization owners, (2) organization owners' +personal access tokens (classic) with read:org or admin:org scope, (3) GitHub +App with an installation token with read or write access to members. """ type OrganizationIdentityProvider implements Node { """ @@ -23672,10 +28778,20 @@ type OrganizationIdentityProvider implements Node { """ last: Int + """ + Filter to external identities with the users login + """ + login: String + """ Filter to external identities with valid org membership only """ membersOnly: Boolean + + """ + Filter to external identities with the users userName/NameID attribute + """ + userName: String ): ExternalIdentityConnection! id: ID! @@ -23720,6 +28836,11 @@ type OrganizationInvitation implements Node { email: String id: ID! + """ + The source of the invitation. + """ + invitationSource: OrganizationInvitationSource! + """ The type of invitation that was sent (e.g. email, user). """ @@ -23811,6 +28932,26 @@ enum OrganizationInvitationRole { REINSTATE } +""" +The possible organization invitation sources. +""" +enum OrganizationInvitationSource { + """ + The invitation was created from the web interface or from API + """ + MEMBER + + """ + The invitation was created from SCIM + """ + SCIM + + """ + The invitation was sent before this feature was added + """ + UNKNOWN +} + """ The possible organization invitation types. """ @@ -23916,6 +29057,117 @@ enum OrganizationMembersCanCreateRepositoriesSettingValue { PRIVATE } +""" +A GitHub Enterprise Importer (GEI) organization migration. +""" +type OrganizationMigration implements Node { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: String + + """ + The reason the organization migration failed. + """ + failureReason: String + id: ID! + + """ + The remaining amount of repos to be migrated. + """ + remainingRepositoriesCount: Int + + """ + The name of the source organization to be migrated. + """ + sourceOrgName: String! + + """ + The URL of the source organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The migration state. + """ + state: OrganizationMigrationState! + + """ + The name of the target organization. + """ + targetOrgName: String! + + """ + The total amount of repositories to be migrated. + """ + totalRepositoriesCount: Int +} + +""" +The Octoshift Organization migration state. +""" +enum OrganizationMigrationState { + """ + The Octoshift migration has failed. + """ + FAILED + + """ + The Octoshift migration has invalid credentials. + """ + FAILED_VALIDATION + + """ + The Octoshift migration is in progress. + """ + IN_PROGRESS + + """ + The Octoshift migration has not started. + """ + NOT_STARTED + + """ + The Octoshift migration needs to have its credentials validated. + """ + PENDING_VALIDATION + + """ + The Octoshift migration is performing post repository migrations. + """ + POST_REPO_MIGRATION + + """ + The Octoshift migration is performing pre repository migrations. + """ + PRE_REPO_MIGRATION + + """ + The Octoshift migration has been queued. + """ + QUEUED + + """ + The Octoshift org migration is performing repository migrations. + """ + REPO_MIGRATION + + """ + The Octoshift migration has succeeded. + """ + SUCCEEDED +} + +""" +Used for argument of CreateProjectV2 mutation. +""" +union OrganizationOrUser = Organization | User + """ Ordering options for organization connections. """ @@ -24038,6 +29290,11 @@ type OrganizationsHovercardContext implements HovercardContext { Returns the last _n_ elements from the list. """ last: Int + + """ + Ordering options for the User's organizations. + """ + orderBy: OrganizationOrder = null ): OrganizationConnection! """ @@ -24395,16 +29652,25 @@ enum PackageType { A maven package. """ MAVEN + @deprecated( + reason: "MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2023-02-10 UTC." + ) """ An npm package. """ NPM + @deprecated( + reason: "NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC." + ) """ A nuget package. """ NUGET + @deprecated( + reason: "NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-11-21 UTC." + ) """ A python package. @@ -24415,6 +29681,9 @@ enum PackageType { A rubygems package. """ RUBYGEMS + @deprecated( + reason: "RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API. Removal on 2022-12-28 UTC." + ) } """ @@ -24593,6 +29862,41 @@ type PageInfo { startCursor: String } +""" +The possible types of patch statuses. +""" +enum PatchStatus { + """ + The file was added. Git status 'A'. + """ + ADDED + + """ + The file's type was changed. Git status 'T'. + """ + CHANGED + + """ + The file was copied. Git status 'C'. + """ + COPIED + + """ + The file was deleted. Git status 'D'. + """ + DELETED + + """ + The file's contents were changed. Git status 'M'. + """ + MODIFIED + + """ + The file was renamed. Git status 'R'. + """ + RENAMED +} + """ Types that can grant permissions on a repository to a user """ @@ -24923,6 +30227,11 @@ type PinnedIssue implements Node { Identifies the primary key from the database. """ databaseId: Int + + """ + Identifies the primary key from the database as a BigInt. + """ + fullDatabaseId: BigInt id: ID! """ @@ -25408,7 +30717,7 @@ type Project implements Closable & Node & Updatable { bodyHTML: HTML! """ - `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! @@ -25528,6 +30837,16 @@ type Project implements Closable & Node & Updatable { """ 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. """ @@ -26082,102 +31401,48 @@ enum ProjectTemplate { } """ -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 - - """ - 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 fingerprint for this PublicKey. - """ - fingerprint: String! - id: ID! - - """ - 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! - - """ - 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 -} - -""" -The connection type for PublicKey. +New projects that manage issues, pull requests and drafts using tables and boards. """ -type PublicKeyConnection { +type ProjectV2 implements Closable & Node & Updatable { """ - A list of edges. + Returns true if the project is closed. """ - edges: [PublicKeyEdge] - - """ - A list of nodes. - """ - nodes: [PublicKey] - - """ - Information to aid in pagination. - """ - pageInfo: PageInfo! + closed: Boolean! """ - Identifies the total count of items in the connection. + Identifies the date and time when the object was closed. """ - totalCount: Int! -} + closedAt: DateTime -""" -An edge in a connection. -""" -type PublicKeyEdge { """ - A cursor for use in pagination. + Identifies the date and time when the object was created. """ - cursor: String! + createdAt: DateTime! """ - The item at the end of the edge. + The actor who originally created the project. """ - node: PublicKey -} + creator: Actor -""" -A repository pull request. -""" -type PullRequest implements Assignable & Closable & Comment & Labelable & Lockable & Node & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable & Updatable & UpdatableComment { """ - Reason that the conversation was locked. + Identifies the primary key from the database. """ - activeLockReason: LockReason + databaseId: Int """ - The number of additions in this pull request. + A field of the project """ - additions: Int! + field( + """ + The name of the field + """ + name: String! + ): ProjectV2FieldConfiguration """ - A list of Users assigned to this object. + List of fields and their constraints in the project """ - assignees( + fields( """ Returns the elements in the list that come after the specified cursor. """ @@ -26197,92 +31462,18 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab 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! - - """ - Returns the auto-merge request object if one exists for this pull request. - """ - autoMergeRequest: AutoMergeRequest - - """ - Identifies the base Ref associated with the pull request. - """ - baseRef: Ref - """ - Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted. - """ - baseRefName: String! - - """ - Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted. - """ - baseRefOid: GitObjectID! - - """ - The repository associated with this pull request's base Ref. - """ - baseRepository: Repository - - """ - The body as Markdown. - """ - body: String! - - """ - The body rendered to HTML. - """ - bodyHTML: HTML! - - """ - The body rendered to text. - """ - bodyText: String! - - """ - Whether or not the pull request is rebaseable. - """ - canBeRebased: Boolean! @preview(toggledBy: "merge-info-preview") - - """ - The number of changed files in this pull request. - """ - changedFiles: Int! - - """ - The HTTP path for the checks of this pull request. - """ - checksResourcePath: URI! - - """ - The HTTP URL for the checks of this pull request. - """ - checksUrl: URI! - - """ - `true` if the pull request is closed - """ - closed: Boolean! - - """ - Identifies the date and time when the object was closed. - """ - closedAt: DateTime + """ + Ordering options for project v2 fields returned from the connection + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection! + id: ID! """ - List of issues that were may be closed by this pull request + List of items in the project """ - closingIssuesReferences( + items( """ Returns the elements in the list that come after the specified cursor. """ @@ -26304,45 +31495,35 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab last: Int """ - Ordering options for issues returned from the connection + Ordering options for project v2 items returned from the connection """ - orderBy: IssueOrder - ): IssueConnection + orderBy: ProjectV2ItemOrder = {field: POSITION, direction: ASC} + ): ProjectV2ItemConnection! """ - A list of comments associated with the pull request. + The project's number. """ - 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 + number: Int! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The project's owner. Currently limited to organizations and users. + """ + owner: ProjectV2Owner! - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Returns true if the project is public. + """ + public: Boolean! - """ - Ordering options for issue comments returned from the connection. - """ - orderBy: IssueCommentOrder - ): IssueCommentConnection! + """ + The project's readme. + """ + readme: String """ - A list of commits present in this pull request's head branch not present in the base branch. + The repositories the project is linked to. """ - commits( + repositories( """ Returns the elements in the list that come after the specified cursor. """ @@ -26362,37 +31543,27 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab Returns the last _n_ elements from the list. """ last: Int - ): PullRequestCommitConnection! - - """ - Identifies the date and time when the object was created. - """ - createdAt: DateTime! - - """ - Check if this comment was created via an email reply. - """ - createdViaEmail: Boolean! - """ - Identifies the primary key from the database. - """ - databaseId: Int + """ + Ordering options for repositories returned from the connection + """ + orderBy: RepositoryOrder = {field: CREATED_AT, direction: DESC} + ): RepositoryConnection! """ - The number of deletions in this pull request. + The HTTP path for this project """ - deletions: Int! + resourcePath: URI! """ - The actor who edited this pull request's body. + The project's short description. """ - editor: Actor + shortDescription: String """ - Lists the files changed within this pull request. + The teams the project is linked to. """ - files( + teams( """ Returns the elements in the list that come after the specified cursor. """ @@ -26412,68 +31583,62 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab Returns the last _n_ elements from the list. """ last: Int - ): PullRequestChangedFileConnection - """ - Identifies the head Ref associated with the pull request. - """ - headRef: Ref + """ + Ordering options for teams returned from this connection. + """ + orderBy: TeamOrder = {field: NAME, direction: ASC} + ): TeamConnection! """ - Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted. + Returns true if this project is a template. """ - headRefName: String! + template: Boolean! """ - Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted. + The project's name. """ - headRefOid: GitObjectID! + title: String! """ - The repository associated with this pull request's head Ref. + Identifies the date and time when the object was last updated. """ - headRepository: Repository + updatedAt: DateTime! """ - The owner of the repository associated with this pull request's head Ref. + The HTTP URL for this project """ - headRepositoryOwner: RepositoryOwner + url: URI! """ - The hovercard information for this issue + A view of the project """ - hovercard( + view( """ - Whether or not to include notification contexts + The number of a view belonging to the project """ - includeNotificationContexts: Boolean = true - ): Hovercard! - id: ID! - - """ - Check if this comment was edited and includes an edit with the creation data - """ - includesCreatedEdit: Boolean! + number: Int! + ): ProjectV2View """ - The head and base repositories are different. + Indicates if the object can be closed by the viewer. """ - isCrossRepository: Boolean! + viewerCanClose: Boolean! """ - Identifies if the pull request is a draft. + Indicates if the object can be reopened by the viewer. """ - isDraft: Boolean! + viewerCanReopen: Boolean! """ - Is this pull request read by the viewer + Check if the current viewer can update this object. """ - isReadByViewer: Boolean + viewerCanUpdate: Boolean! """ - A list of labels associated with the object. + List of views in the project """ - labels( + views( """ Returns the elements in the list that come after the specified cursor. """ @@ -26495,20 +31660,25 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab last: Int """ - Ordering options for labels returned from the connection. + Ordering options for project v2 views returned from the connection """ - orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} - ): LabelConnection + orderBy: ProjectV2ViewOrder = {field: POSITION, direction: ASC} + ): ProjectV2ViewConnection! """ - The moment the editor made the last edit + A workflow of the project """ - lastEditedAt: DateTime + workflow( + """ + The number of a workflow belonging to the project + """ + number: Int! + ): ProjectV2Workflow """ - A list of latest reviews per user associated with the pull request. + List of the workflows in the project """ - latestOpinionatedReviews( + workflows( """ Returns the elements in the list that come after the specified cursor. """ @@ -26530,554 +31700,548 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab last: Int """ - Only return reviews from user who have write access to the repository + Ordering options for project v2 workflows returned from the connection """ - writersOnly: Boolean = false - ): PullRequestReviewConnection + orderBy: ProjectV2WorkflowOrder = {field: NAME, direction: ASC} + ): ProjectV2WorkflowConnection! +} + +""" +Possible collaborators for a project. +""" +union ProjectV2Actor = Team | User +""" +The connection type for ProjectV2Actor. +""" +type ProjectV2ActorConnection { """ - A list of latest reviews per user associated with the pull request that are not also pending review. + A list of edges. """ - latestReviews( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + edges: [ProjectV2ActorEdge] - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + A list of nodes. + """ + nodes: [ProjectV2Actor] - """ - 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 - ): PullRequestReviewConnection + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2ActorEdge { """ - `true` if the pull request is locked + A cursor for use in pagination. """ - locked: Boolean! + cursor: String! """ - Indicates whether maintainers can modify the pull request. + The item at the end of the edge. """ - maintainerCanModify: Boolean! + node: ProjectV2Actor +} +""" +A collaborator to update on a project. Only one of the userId or teamId should be provided. +""" +input ProjectV2Collaborator { """ - The commit that was created when this pull request was merged. + The role to grant the collaborator """ - mergeCommit: Commit + role: ProjectV2Roles! """ - Detailed information about the current pull request merge state status. + The ID of the team as a collaborator. """ - mergeStateStatus: MergeStateStatus! @preview(toggledBy: "merge-info-preview") + teamId: ID @possibleTypes(concreteTypes: ["Team"]) """ - Whether or not the pull request can be merged based on the existence of merge conflicts. + The ID of the user as a collaborator. """ - mergeable: MergeableState! + userId: ID @possibleTypes(concreteTypes: ["User"]) +} +""" +The connection type for ProjectV2. +""" +type ProjectV2Connection { """ - Whether or not the pull request was merged. + A list of edges. """ - merged: Boolean! + edges: [ProjectV2Edge] """ - The date and time that the pull request was merged. + A list of nodes. """ - mergedAt: DateTime + nodes: [ProjectV2] """ - The actor who merged the pull request. + Information to aid in pagination. """ - mergedBy: Actor + pageInfo: PageInfo! """ - Identifies the milestone associated with the pull request. + Identifies the total count of items in the connection. """ - milestone: Milestone + totalCount: Int! +} +""" +The type of a project field. +""" +enum ProjectV2CustomFieldType { """ - Identifies the pull request number. + Date """ - number: Int! + DATE """ - A list of Users that are participating in the Pull Request conversation. + Number """ - participants( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + NUMBER - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Single Select + """ + SINGLE_SELECT - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Text + """ + TEXT +} - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): UserConnection! +""" +An edge in a connection. +""" +type ProjectV2Edge { + """ + A cursor for use in pagination. + """ + cursor: String! """ - The permalink to the pull request. + The item at the end of the edge. """ - permalink: URI! + node: ProjectV2 +} +""" +A field inside a project. +""" +type ProjectV2Field implements Node & ProjectV2FieldCommon { """ - 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. + Identifies the date and time when the object was created. """ - potentialMergeCommit: Commit + createdAt: DateTime! """ - List of project cards associated with this pull request. + The field's type. """ - projectCards( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + dataType: ProjectV2FieldType! - """ - A list of archived states to filter the cards by - """ - archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] + """ + Identifies the primary key from the database. + """ + databaseId: Int + id: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The project field's name. + """ + name: String! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The project that contains this field. + """ + project: ProjectV2! - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): ProjectCardConnection! + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! +} +""" +Common fields across different project field types +""" +interface ProjectV2FieldCommon { """ - Identifies when the comment was published at. + Identifies the date and time when the object was created. """ - publishedAt: DateTime + createdAt: DateTime! """ - A list of reactions grouped by content left on the subject. + The field's type. """ - reactionGroups: [ReactionGroup!] + dataType: ProjectV2FieldType! """ - A list of Reactions left on the Issue. + Identifies the primary key from the database. """ - reactions( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + databaseId: Int + id: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The project field's name. + """ + name: String! - """ - Allows filtering Reactions by emoji. - """ - content: ReactionContent + """ + The project that contains this field. + """ + project: ProjectV2! - """ - 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 +""" +Configurations for project fields. +""" +union ProjectV2FieldConfiguration = ProjectV2Field | ProjectV2IterationField | ProjectV2SingleSelectField - """ - Allows specifying the order in which reactions are returned. - """ - orderBy: ReactionOrder - ): ReactionConnection! +""" +The connection type for ProjectV2FieldConfiguration. +""" +type ProjectV2FieldConfigurationConnection { + """ + A list of edges. + """ + edges: [ProjectV2FieldConfigurationEdge] """ - The repository associated with this node. + A list of nodes. """ - repository: Repository! + nodes: [ProjectV2FieldConfiguration] """ - The HTTP path for this pull request. + Information to aid in pagination. """ - resourcePath: URI! + pageInfo: PageInfo! """ - The HTTP path for reverting this pull request. + Identifies the total count of items in the connection. """ - revertResourcePath: URI! + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2FieldConfigurationEdge { """ - The HTTP URL for reverting this pull request. + A cursor for use in pagination. """ - revertUrl: URI! + cursor: String! """ - The current status of this pull request with respect to code review. + The item at the end of the edge. """ - reviewDecision: PullRequestReviewDecision + node: ProjectV2FieldConfiguration +} +""" +The connection type for ProjectV2Field. +""" +type ProjectV2FieldConnection { """ - A list of review requests associated with the pull request. + A list of edges. """ - reviewRequests( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + edges: [ProjectV2FieldEdge] - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + A list of nodes. + """ + nodes: [ProjectV2Field] - """ - 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 - ): ReviewRequestConnection + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2FieldEdge { """ - The list of all review threads for this pull request. + A cursor for use in pagination. """ - reviewThreads( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + 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: ProjectV2Field +} - """ - Returns the first _n_ elements from the list. - """ - first: Int +""" +Ordering options for project v2 field connections +""" +input ProjectV2FieldOrder { + """ + The ordering direction. + """ + direction: OrderDirection! - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): PullRequestReviewThreadConnection! + """ + The field to order the project v2 fields by. + """ + field: ProjectV2FieldOrderField! +} +""" +Properties by which project v2 field connections can be ordered. +""" +enum ProjectV2FieldOrderField { """ - A list of reviews associated with the pull request. + Order project v2 fields by creation time """ - reviews( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + CREATED_AT - """ - Filter by author of the review. - """ - author: String + """ + Order project v2 fields by name + """ + NAME - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Order project v2 fields by position + """ + POSITION +} - """ - Returns the first _n_ elements from the list. - """ - first: Int +""" +The type of a project field. +""" +enum ProjectV2FieldType { + """ + Assignees + """ + ASSIGNEES - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Date + """ + DATE - """ - A list of states to filter the reviews. - """ - states: [PullRequestReviewState!] - ): PullRequestReviewConnection + """ + Iteration + """ + ITERATION """ - Identifies the state of the pull request. + Labels """ - state: PullRequestState! + LABELS """ - A list of reviewer suggestions based on commit history and past review comments. + Linked Pull Requests """ - suggestedReviewers: [SuggestedReviewer]! + LINKED_PULL_REQUESTS """ - A list of events, comments, commits, etc. associated with the pull request. + Milestone """ - timeline( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + MILESTONE - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Number + """ + NUMBER - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Repository + """ + REPOSITORY - """ - Returns the last _n_ elements from the list. - """ - last: Int - - """ - Allows filtering timeline events by a `since` timestamp. - """ - since: DateTime - ): PullRequestTimelineConnection! - @deprecated(reason: "`timeline` will be removed Use PullRequest.timelineItems instead. Removal on 2020-10-01 UTC.") + """ + Reviewers + """ + REVIEWERS """ - A list of events, comments, commits, etc. associated with the pull request. + Single Select """ - timelineItems( - """ - 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 - - """ - Filter timeline items by type. - """ - itemTypes: [PullRequestTimelineItemsItemType!] - - """ - Returns the last _n_ elements from the list. - """ - last: Int - - """ - Filter timeline items by a `since` timestamp. - """ - since: DateTime - - """ - Skips the first _n_ elements in the list. - """ - skip: Int - ): PullRequestTimelineItemsConnection! + SINGLE_SELECT """ - Identifies the pull request title. + Text """ - title: String! + TEXT """ - Identifies the pull request title rendered to HTML. + Title """ - titleHTML: HTML! + TITLE """ - Identifies the date and time when the object was last updated. + Tracked by """ - updatedAt: DateTime! + TRACKED_BY """ - The HTTP URL for this pull request. + Tracks """ - url: URI! + TRACKS +} +""" +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 { """ - A list of edits to this content. + The ISO 8601 date to set on the field. """ - 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 + date: Date """ - Whether or not the viewer can apply suggestion. + The id of the iteration to set on the field. """ - viewerCanApplySuggestion: Boolean! + iterationId: String """ - Check if the viewer can restore the deleted head ref. + The number to set on the field. """ - viewerCanDeleteHeadRef: Boolean! + number: Float """ - Whether or not the viewer can disable auto-merge + The id of the single select option to set on the field. """ - viewerCanDisableAutoMerge: Boolean! + singleSelectOptionId: String """ - Whether or not the viewer can enable auto-merge + The text to set on the field. """ - viewerCanEnableAutoMerge: Boolean! + text: String +} +""" +Ways in which to filter lists of projects. +""" +input ProjectV2Filters { """ - Can user react to this subject + List project v2 filtered by the state given. """ - viewerCanReact: Boolean! + state: ProjectV2State +} +""" +An item within a Project. +""" +type ProjectV2Item implements Node { """ - Check if the viewer is able to change their subscription status for the repository. + The content of the referenced draft issue, issue, or pull request """ - viewerCanSubscribe: Boolean! + content: ProjectV2ItemContent """ - Check if the current viewer can update this object. + Identifies the date and time when the object was created. """ - viewerCanUpdate: Boolean! + createdAt: DateTime! """ - Reasons why the current viewer can not update this comment. + The actor who created the item. """ - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + creator: Actor """ - Did the viewer author this comment. + Identifies the primary key from the database. """ - viewerDidAuthor: Boolean! + databaseId: Int """ - The latest review given from the viewer. + The field value of the first project field which matches the 'name' argument that is set on the item. """ - viewerLatestReview: PullRequestReview + fieldValueByName( + """ + The name of the field to return the field value of + """ + name: String! + ): ProjectV2ItemFieldValue """ - The person who has requested the viewer for review on this pull request. + The field values that are set on the item. """ - viewerLatestReviewRequest: ReviewRequest + fieldValues( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The merge body text for the viewer and method. - """ - viewerMergeBodyText( """ - The merge method for the message. + Returns the elements in the list that come before the specified cursor. """ - mergeType: PullRequestMergeMethod - ): String! + before: String - """ - The merge headline text for the viewer and method. - """ - viewerMergeHeadlineText( """ - The merge method for the message. + Returns the first _n_ elements from the list. """ - mergeType: PullRequestMergeMethod - ): String! + first: Int - """ - Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. - """ - viewerSubscription: SubscriptionState -} + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for project v2 item field values returned from the connection + """ + orderBy: ProjectV2ItemFieldValueOrder = {field: POSITION, direction: ASC} + ): ProjectV2ItemFieldValueConnection! + id: ID! -""" -A file changed in a pull request. -""" -type PullRequestChangedFile { """ - The number of additions to the file. + Whether the item is archived. """ - additions: Int! + isArchived: Boolean! """ - The number of deletions to the file. + The project that contains this item. """ - deletions: Int! + project: ProjectV2! """ - The path of the file. + The type of the item. """ - path: String! + type: ProjectV2ItemType! """ - The state of the file for the viewer. + Identifies the date and time when the object was last updated. """ - viewerViewedState: FileViewedState! + updatedAt: DateTime! } """ -The connection type for PullRequestChangedFile. +The connection type for ProjectV2Item. """ -type PullRequestChangedFileConnection { +type ProjectV2ItemConnection { """ A list of edges. """ - edges: [PullRequestChangedFileEdge] + edges: [ProjectV2ItemEdge] """ A list of nodes. """ - nodes: [PullRequestChangedFile] + nodes: [ProjectV2Item] """ Information to aid in pagination. @@ -27090,10 +32254,15 @@ type PullRequestChangedFileConnection { totalCount: Int! } +""" +Types that can be inside Project Items. +""" +union ProjectV2ItemContent = DraftIssue | Issue | PullRequest + """ An edge in a connection. """ -type PullRequestChangedFileEdge { +type ProjectV2ItemEdge { """ A cursor for use in pagination. """ @@ -27102,164 +32271,124 @@ type PullRequestChangedFileEdge { """ The item at the end of the edge. """ - node: PullRequestChangedFile + node: ProjectV2Item } """ -Represents a Git commit part of a pull request. +The value of a date field in a Project item. """ -type PullRequestCommit implements Node & UniformResourceLocatable { - """ - The Git commit object - """ - commit: Commit! - id: ID! - +type ProjectV2ItemFieldDateValue implements Node & ProjectV2ItemFieldValueCommon { """ - The pull request this commit belongs to + Identifies the date and time when the object was created. """ - pullRequest: PullRequest! + createdAt: DateTime! """ - The HTTP path for this pull request commit + The actor who created the item. """ - resourcePath: URI! + creator: Actor """ - The HTTP URL for this pull request commit + Identifies the primary key from the database. """ - url: URI! -} + databaseId: Int -""" -Represents a commit comment thread part of a pull request. -""" -type PullRequestCommitCommentThread implements Node & RepositoryNode { """ - The comments that exist in this thread. + Date value for the field """ - 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! + date: Date """ - The commit the comments were made on. + The project field that contains this value. """ - commit: Commit! + field: ProjectV2FieldConfiguration! id: ID! """ - The file the comments were made on. - """ - path: String - - """ - The position in the diff for the commit that the comment was made on. - """ - position: Int - + The project item that contains this value. """ - The pull request this commit comment thread belongs to - """ - pullRequest: PullRequest! + item: ProjectV2Item! """ - The repository associated with this node. + Identifies the date and time when the object was last updated. """ - repository: Repository! + updatedAt: DateTime! } """ -The connection type for PullRequestCommit. +The value of an iteration field in a Project item. """ -type PullRequestCommitConnection { +type ProjectV2ItemFieldIterationValue implements Node & ProjectV2ItemFieldValueCommon { """ - A list of edges. + Identifies the date and time when the object was created. """ - edges: [PullRequestCommitEdge] + createdAt: DateTime! """ - A list of nodes. + The actor who created the item. """ - nodes: [PullRequestCommit] + creator: Actor """ - Information to aid in pagination. + Identifies the primary key from the database. """ - pageInfo: PageInfo! + databaseId: Int """ - Identifies the total count of items in the connection. + The duration of the iteration in days. """ - totalCount: Int! -} + duration: Int! -""" -An edge in a connection. -""" -type PullRequestCommitEdge { """ - A cursor for use in pagination. + The project field that contains this value. """ - cursor: String! + field: ProjectV2FieldConfiguration! + id: ID! """ - The item at the end of the edge. + The project item that contains this value. """ - node: PullRequestCommit -} + item: ProjectV2Item! -""" -The connection type for PullRequest. -""" -type PullRequestConnection { """ - A list of edges. + The ID of the iteration. """ - edges: [PullRequestEdge] + iterationId: String! """ - A list of nodes. + The start date of the iteration. """ - nodes: [PullRequest] + startDate: Date! """ - Information to aid in pagination. + The title of the iteration. """ - pageInfo: PageInfo! + title: String! """ - Identifies the total count of items in the connection. + The title of the iteration, with HTML. """ - totalCount: Int! + titleHTML: String! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! } """ -This aggregates pull requests opened by a user within one repository. +The value of the labels field in a Project item. """ -type PullRequestContributionsByRepository { +type ProjectV2ItemFieldLabelValue { """ - The pull request contributions. + The field that contains this value. """ - contributions( + field: ProjectV2FieldConfiguration! + + """ + Labels value of a field + """ + labels( """ Returns the elements in the list that come after the specified cursor. """ @@ -27279,122 +32408,133 @@ type PullRequestContributionsByRepository { Returns the last _n_ elements from the list. """ last: Int - - """ - Ordering options for contributions returned from the connection. - """ - orderBy: ContributionOrder = {direction: DESC} - ): CreatedPullRequestContributionConnection! - - """ - The repository in which the pull requests were opened. - """ - repository: Repository! + ): LabelConnection } """ -An edge in a connection. +The value of a milestone field in a Project item. """ -type PullRequestEdge { +type ProjectV2ItemFieldMilestoneValue { """ - A cursor for use in pagination. + The field that contains this value. """ - cursor: String! + field: ProjectV2FieldConfiguration! """ - The item at the end of the edge. + Milestone value of a field """ - node: PullRequest + milestone: Milestone } """ -Represents available types of methods to use when merging a pull request. +The value of a number field in a Project item. """ -enum PullRequestMergeMethod { +type ProjectV2ItemFieldNumberValue implements Node & ProjectV2ItemFieldValueCommon { """ - Add all commits from the head branch to the base branch with a merge commit. + Identifies the date and time when the object was created. """ - MERGE + createdAt: DateTime! """ - Add all commits from the head branch onto the base branch individually. + The actor who created the item. """ - REBASE + creator: Actor """ - Combine all commits from the head branch into a single commit in the base branch. + Identifies the primary key from the database. """ - SQUASH -} + databaseId: Int -""" -Ways in which lists of issues can be ordered upon return. -""" -input PullRequestOrder { """ - The direction in which to order pull requests by the specified field. + The project field that contains this value. """ - direction: OrderDirection! + field: ProjectV2FieldConfiguration! + id: ID! """ - The field in which to order pull requests by. + The project item that contains this value. """ - field: PullRequestOrderField! -} + item: ProjectV2Item! -""" -Properties by which pull_requests connections can be ordered. -""" -enum PullRequestOrderField { """ - Order pull_requests by creation time + Number as a float(8) """ - CREATED_AT + number: Float """ - Order pull_requests by update time + Identifies the date and time when the object was last updated. """ - UPDATED_AT + updatedAt: DateTime! } """ -A review object for a given pull request. +The value of a pull request field in a Project item. """ -type PullRequestReview implements Comment & Deletable & Node & Reactable & RepositoryNode & Updatable & UpdatableComment { +type ProjectV2ItemFieldPullRequestValue { """ - The actor who authored the comment. + The field that contains this value. """ - author: Actor + field: ProjectV2FieldConfiguration! """ - Author's association with the subject of the comment. + The pull requests for this field """ - authorAssociation: CommentAuthorAssociation! + pullRequests( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - Indicates whether the author of this review has push access to the repository. - """ - authorCanPushToRepository: Boolean! + """ + 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 pull requests. + """ + orderBy: PullRequestOrder = {field: CREATED_AT, direction: ASC} + ): PullRequestConnection +} +""" +The value of a repository field in a Project item. +""" +type ProjectV2ItemFieldRepositoryValue { """ - Identifies the pull request review body. + The field that contains this value. """ - body: String! + field: ProjectV2FieldConfiguration! """ - The body rendered to HTML. + The repository for this field. """ - bodyHTML: HTML! + repository: Repository +} +""" +The value of a reviewers field in a Project item. +""" +type ProjectV2ItemFieldReviewerValue { """ - The body of this review rendered as plain text. + The field that contains this value. """ - bodyText: String! + field: ProjectV2FieldConfiguration! """ - A list of review comments for the current pull request review. + The reviewers for this field. """ - comments( + reviewers( """ Returns the elements in the list that come after the specified cursor. """ @@ -27414,12 +32554,17 @@ type PullRequestReview implements Comment & Deletable & Node & Reactable & Repos Returns the last _n_ elements from the list. """ last: Int - ): PullRequestReviewCommentConnection! + ): RequestedReviewerConnection +} +""" +The value of a single select field in a Project item. +""" +type ProjectV2ItemFieldSingleSelectValue implements Node & ProjectV2ItemFieldValueCommon { """ - Identifies the commit associated with this pull request review. + The color applied to the selected single-select option. """ - commit: Commit + color: ProjectV2SingleSelectFieldOptionColor! """ Identifies the date and time when the object was created. @@ -27427,9 +32572,9 @@ type PullRequestReview implements Comment & Deletable & Node & Reactable & Repos createdAt: DateTime! """ - Check if this comment was created via an email reply. + The actor who created the item. """ - createdViaEmail: Boolean! + creator: Actor """ Identifies the primary key from the database. @@ -27437,130 +32582,101 @@ type PullRequestReview implements Comment & Deletable & Node & Reactable & Repos databaseId: Int """ - The actor who edited the comment. + A plain-text description of the selected single-select option, such as what the option means. """ - editor: Actor - id: ID! + description: String """ - Check if this comment was edited and includes an edit with the creation data + The description of the selected single-select option, including HTML tags. """ - includesCreatedEdit: Boolean! + descriptionHTML: String """ - The moment the editor made the last edit + The project field that contains this value. """ - lastEditedAt: DateTime + field: ProjectV2FieldConfiguration! + id: ID! """ - A list of teams that this review was made on behalf of. + The project item that contains this value. """ - onBehalfOf( - """ - 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 - ): TeamConnection! + item: ProjectV2Item! """ - Identifies when the comment was published at. + The name of the selected single select option. """ - publishedAt: DateTime + name: String """ - Identifies the pull request associated with this pull request review. + The html name of the selected single select option. """ - pullRequest: PullRequest! + nameHTML: String """ - A list of reactions grouped by content left on the subject. + The id of the selected single select option. """ - reactionGroups: [ReactionGroup!] + optionId: String """ - A list of Reactions left on the Issue. + Identifies the date and time when the object was last updated. """ - 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 - - """ - Allows filtering Reactions by emoji. - """ - content: ReactionContent - - """ - Returns the first _n_ elements from the list. - """ - first: Int + updatedAt: DateTime! +} - """ - Returns the last _n_ elements from the list. - """ - last: Int +""" +The value of a text field in a Project item. +""" +type ProjectV2ItemFieldTextValue implements Node & ProjectV2ItemFieldValueCommon { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! - """ - Allows specifying the order in which reactions are returned. - """ - orderBy: ReactionOrder - ): ReactionConnection! + """ + The actor who created the item. + """ + creator: Actor """ - The repository associated with this node. + Identifies the primary key from the database. """ - repository: Repository! + databaseId: Int """ - The HTTP path permalink for this PullRequestReview. + The project field that contains this value. """ - resourcePath: URI! + field: ProjectV2FieldConfiguration! + id: ID! """ - Identifies the current state of the pull request review. + The project item that contains this value. """ - state: PullRequestReviewState! + item: ProjectV2Item! """ - Identifies when the Pull Request Review was submitted + Text value of a field """ - submittedAt: DateTime + text: String """ Identifies the date and time when the object was last updated. """ updatedAt: DateTime! +} +""" +The value of a user field in a Project item. +""" +type ProjectV2ItemFieldUserValue { """ - The HTTP URL permalink for this PullRequestReview. + The field that contains this value. """ - url: URI! + field: ProjectV2FieldConfiguration! """ - A list of edits to this content. + The users for this field """ - userContentEdits( + users( """ Returns the elements in the list that come after the specified cursor. """ @@ -27580,77 +32696,38 @@ type PullRequestReview implements Comment & Deletable & Node & Reactable & Repos Returns the last _n_ elements from the list. """ last: Int - ): UserContentEditConnection + ): UserConnection +} + +""" +Project field values +""" +union ProjectV2ItemFieldValue = + ProjectV2ItemFieldDateValue + | ProjectV2ItemFieldIterationValue + | ProjectV2ItemFieldLabelValue + | ProjectV2ItemFieldMilestoneValue + | ProjectV2ItemFieldNumberValue + | ProjectV2ItemFieldPullRequestValue + | ProjectV2ItemFieldRepositoryValue + | ProjectV2ItemFieldReviewerValue + | ProjectV2ItemFieldSingleSelectValue + | ProjectV2ItemFieldTextValue + | ProjectV2ItemFieldUserValue +""" +Common fields across different project field value types +""" +interface ProjectV2ItemFieldValueCommon { """ - Check if the current viewer can delete this object. - """ - viewerCanDelete: Boolean! - - """ - Can user react to this subject - """ - viewerCanReact: Boolean! - - """ - Check if the current viewer can update this object. - """ - viewerCanUpdate: Boolean! - - """ - Reasons why the current viewer can not update this comment. - """ - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! - - """ - Did the viewer author this comment. - """ - viewerDidAuthor: Boolean! -} - -""" -A review comment associated with a given repository pull request. -""" -type PullRequestReviewComment implements Comment & Deletable & Minimizable & Node & Reactable & RepositoryNode & Updatable & UpdatableComment { - """ - The actor who authored the comment. - """ - author: Actor - - """ - Author's association with the subject of the comment. - """ - authorAssociation: CommentAuthorAssociation! - - """ - The comment body of this review comment. - """ - body: String! - - """ - The body rendered to HTML. - """ - bodyHTML: HTML! - - """ - The comment body of this review comment rendered as plain text. - """ - bodyText: String! - - """ - Identifies the commit associated with the comment. - """ - commit: Commit - - """ - Identifies when the comment was created. + Identifies the date and time when the object was created. """ createdAt: DateTime! """ - Check if this comment was created via an email reply. + The actor who created the item. """ - createdViaEmail: Boolean! + creator: Actor """ Identifies the primary key from the database. @@ -27658,295 +32735,293 @@ type PullRequestReviewComment implements Comment & Deletable & Minimizable & Nod databaseId: Int """ - The diff hunk to which the comment applies. + The project field that contains this value. """ - diffHunk: String! + field: ProjectV2FieldConfiguration! + id: ID! """ - Identifies when the comment was created in a draft state. + The project item that contains this value. """ - draftedAt: DateTime! + item: ProjectV2Item! """ - The actor who edited the comment. + Identifies the date and time when the object was last updated. """ - editor: Actor - id: ID! + updatedAt: DateTime! +} +""" +The connection type for ProjectV2ItemFieldValue. +""" +type ProjectV2ItemFieldValueConnection { """ - Check if this comment was edited and includes an edit with the creation data + A list of edges. """ - includesCreatedEdit: Boolean! + edges: [ProjectV2ItemFieldValueEdge] """ - Returns whether or not a comment has been minimized. + A list of nodes. """ - isMinimized: Boolean! + nodes: [ProjectV2ItemFieldValue] """ - The moment the editor made the last edit + Information to aid in pagination. """ - lastEditedAt: DateTime + pageInfo: PageInfo! """ - Returns why the comment was minimized. + Identifies the total count of items in the connection. """ - minimizedReason: String + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2ItemFieldValueEdge { """ - Identifies the original commit associated with the comment. + A cursor for use in pagination. """ - originalCommit: Commit + cursor: String! """ - The original line index in the diff to which the comment applies. + The item at the end of the edge. """ - originalPosition: Int! + node: ProjectV2ItemFieldValue +} +""" +Ordering options for project v2 item field value connections +""" +input ProjectV2ItemFieldValueOrder { """ - Identifies when the comment body is outdated + The ordering direction. """ - outdated: Boolean! + direction: OrderDirection! """ - The path to which the comment applies. + The field to order the project v2 item field values by. """ - path: String! + field: ProjectV2ItemFieldValueOrderField! +} +""" +Properties by which project v2 item field value connections can be ordered. +""" +enum ProjectV2ItemFieldValueOrderField { """ - The line index in the diff to which the comment applies. + Order project v2 item field values by the their position in the project """ - position: Int + POSITION +} +""" +Ordering options for project v2 item connections +""" +input ProjectV2ItemOrder { """ - Identifies when the comment was published at. + The ordering direction. """ - publishedAt: DateTime + direction: OrderDirection! """ - The pull request associated with this review comment. + The field to order the project v2 items by. """ - pullRequest: PullRequest! + field: ProjectV2ItemOrderField! +} +""" +Properties by which project v2 item connections can be ordered. +""" +enum ProjectV2ItemOrderField { """ - The pull request review associated with this review comment. + Order project v2 items by the their position in the project """ - pullRequestReview: PullRequestReview + POSITION +} +""" +The type of a project item. +""" +enum ProjectV2ItemType { """ - A list of reactions grouped by content left on the subject. + Draft Issue """ - reactionGroups: [ReactionGroup!] + DRAFT_ISSUE """ - A list of Reactions left on the Issue. + 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 - - """ - Allows filtering Reactions by emoji. - """ - content: ReactionContent - - """ - Returns the first _n_ elements from the list. - """ - first: Int - - """ - Returns the last _n_ elements from the list. - """ - last: Int - - """ - Allows specifying the order in which reactions are returned. - """ - orderBy: ReactionOrder - ): ReactionConnection! + ISSUE """ - The comment this is a reply to. + Pull Request """ - replyTo: PullRequestReviewComment + PULL_REQUEST """ - The repository associated with this node. + Redacted Item """ - repository: Repository! + REDACTED +} +""" +An iteration field inside a project. +""" +type ProjectV2IterationField implements Node & ProjectV2FieldCommon { """ - The HTTP path permalink for this review comment. + Iteration configuration settings """ - resourcePath: URI! + configuration: ProjectV2IterationFieldConfiguration! """ - Identifies the state of the comment. + Identifies the date and time when the object was created. """ - state: PullRequestReviewCommentState! + createdAt: DateTime! """ - Identifies when the comment was last updated. + The field's type. """ - updatedAt: DateTime! + dataType: ProjectV2FieldType! """ - The HTTP URL permalink for this review comment. + Identifies the primary key from the database. """ - url: URI! + databaseId: Int + id: ID! """ - A list of edits to this content. + The project field's name. """ - 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 + name: String! """ - Check if the current viewer can delete this object. + The project that contains this field. """ - viewerCanDelete: Boolean! + project: ProjectV2! """ - Check if the current viewer can minimize this object. + Identifies the date and time when the object was last updated. """ - viewerCanMinimize: Boolean! + updatedAt: DateTime! +} +""" +Iteration field configuration for a project. +""" +type ProjectV2IterationFieldConfiguration { """ - Can user react to this subject + The iteration's completed iterations """ - viewerCanReact: Boolean! + completedIterations: [ProjectV2IterationFieldIteration!]! """ - Check if the current viewer can update this object. + The iteration's duration in days """ - viewerCanUpdate: Boolean! + duration: Int! """ - Reasons why the current viewer can not update this comment. + The iteration's iterations """ - viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + iterations: [ProjectV2IterationFieldIteration!]! """ - Did the viewer author this comment. + The iteration's start day of the week """ - viewerDidAuthor: Boolean! + startDay: Int! } """ -The connection type for PullRequestReviewComment. +Iteration field iteration settings for a project. """ -type PullRequestReviewCommentConnection { - """ - A list of edges. +type ProjectV2IterationFieldIteration { """ - edges: [PullRequestReviewCommentEdge] - - """ - A list of nodes. + The iteration's duration in days """ - nodes: [PullRequestReviewComment] + duration: Int! """ - Information to aid in pagination. + The iteration's ID. """ - pageInfo: PageInfo! + id: String! """ - Identifies the total count of items in the connection. + The iteration's start date """ - totalCount: Int! -} + startDate: Date! -""" -An edge in a connection. -""" -type PullRequestReviewCommentEdge { """ - A cursor for use in pagination. + The iteration's title. """ - cursor: String! + title: String! """ - The item at the end of the edge. + The iteration's html title. """ - node: PullRequestReviewComment + titleHTML: String! } """ -The possible states of a pull request review comment. +Ways in which lists of projects can be ordered upon return. """ -enum PullRequestReviewCommentState { +input ProjectV2Order { """ - A comment that is part of a pending review + The direction in which to order projects by the specified field. """ - PENDING + direction: OrderDirection! """ - A comment that is part of a submitted review + The field in which to order projects by. """ - SUBMITTED + field: ProjectV2OrderField! } """ -The connection type for PullRequestReview. +Properties by which projects can be ordered. """ -type PullRequestReviewConnection { +enum ProjectV2OrderField { """ - A list of edges. + The project's date and time of creation """ - edges: [PullRequestReviewEdge] + CREATED_AT """ - A list of nodes. + The project's number """ - nodes: [PullRequestReview] + NUMBER """ - Information to aid in pagination. + The project's title """ - pageInfo: PageInfo! + TITLE """ - Identifies the total count of items in the connection. + The project's date and time of update """ - totalCount: Int! + UPDATED_AT } """ -This aggregates pull request reviews made by a user within one repository. +Represents an owner of a project (beta). """ -type PullRequestReviewContributionsByRepository { +interface ProjectV2Owner { + id: ID! + """ - The pull request review contributions. + Find a project by number. """ - contributions( + projectV2( + """ + The project number. + """ + number: Int! + ): ProjectV2 + + """ + A list of projects under the owner. + """ + projectsV2( """ Returns the elements in the list that come after the specified cursor. """ @@ -27968,236 +33043,246 @@ type PullRequestReviewContributionsByRepository { last: Int """ - Ordering options for contributions returned from the connection. + How to order the returned projects. """ - orderBy: ContributionOrder = {direction: DESC} - ): CreatedPullRequestReviewContributionConnection! + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """ - The repository in which the pull request reviews were made. - """ - repository: Repository! + """ + A project to search for under the the owner. + """ + query: String + ): ProjectV2Connection! } """ -The review status of a pull request. +Recent projects for the owner. """ -enum PullRequestReviewDecision { +interface ProjectV2Recent { """ - The pull request has received an approving review. + Recent projects that this user has modified in the context of the owner. """ - APPROVED + recentProjects( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - Changes have been requested on the pull request. - """ - CHANGES_REQUESTED + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - A review is required before the pull request can be merged. - """ - REVIEW_REQUIRED + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ProjectV2Connection! } """ -An edge in a connection. +The possible roles of a collaborator on a project. """ -type PullRequestReviewEdge { +enum ProjectV2Roles { """ - A cursor for use in pagination. + The collaborator can view, edit, and maange the settings of the project """ - cursor: String! + ADMIN """ - The item at the end of the edge. + The collaborator has no direct access to the project """ - node: PullRequestReview -} + NONE -""" -The possible events to perform on a pull request review. -""" -enum PullRequestReviewEvent { """ - Submit feedback and approve merging these changes. + The collaborator can view the project """ - APPROVE + READER """ - Submit general feedback without explicit approval. + The collaborator can view and edit the project """ - COMMENT + WRITER +} +""" +A single select field inside a project. +""" +type ProjectV2SingleSelectField implements Node & ProjectV2FieldCommon { """ - Dismiss review so it now longer effects merging. + Identifies the date and time when the object was created. """ - DISMISS + createdAt: DateTime! """ - Submit feedback that must be addressed before merging. + The field's type. """ - REQUEST_CHANGES -} + dataType: ProjectV2FieldType! -""" -The possible states of a pull request review. -""" -enum PullRequestReviewState { """ - A review allowing the pull request to merge. + Identifies the primary key from the database. """ - APPROVED + databaseId: Int + id: ID! """ - A review blocking the pull request from merging. + The project field's name. """ - CHANGES_REQUESTED + name: String! """ - An informational review. + Options for the single select field """ - COMMENTED + options( + """ + Filter returned options to only those matching these names, case insensitive. + """ + names: [String!] + ): [ProjectV2SingleSelectFieldOption!]! """ - A review that has been dismissed. + The project that contains this field. """ - DISMISSED + project: ProjectV2! """ - A review that has not yet been submitted. + Identifies the date and time when the object was last updated. """ - PENDING + updatedAt: DateTime! } """ -A threaded list of comments for a given pull request. +Single select field option for a configuration for a project. """ -type PullRequestReviewThread implements Node { +type ProjectV2SingleSelectFieldOption { """ - A list of pull request comments associated with the thread. + The option's display color. """ - comments( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + color: ProjectV2SingleSelectFieldOptionColor! - """ - 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 option's plain-text description. + """ + description: String! - """ - Skips the first _n_ elements in the list. - """ - skip: Int - ): PullRequestReviewCommentConnection! + """ + The option's description, possibly containing HTML. + """ + descriptionHTML: String! """ - The side of the diff on which this thread was placed. + The option's ID. """ - diffSide: DiffSide! - id: ID! + id: String! """ - Whether or not the thread has been collapsed (resolved) + The option's name. """ - isCollapsed: Boolean! + name: String! """ - Indicates whether this thread was outdated by newer changes. + The option's html name. """ - isOutdated: Boolean! + nameHTML: String! +} +""" +The display color of a single-select field option. +""" +enum ProjectV2SingleSelectFieldOptionColor { """ - Whether this thread has been resolved + BLUE """ - isResolved: Boolean! + BLUE """ - The line in the file to which this thread refers + GRAY """ - line: Int + GRAY """ - The original line in the file to which this thread refers. + GREEN """ - originalLine: Int + GREEN """ - The original start line in the file to which this thread refers (multi-line only). + ORANGE """ - originalStartLine: Int + ORANGE """ - Identifies the file path of this thread. + PINK """ - path: String! + PINK """ - Identifies the pull request associated with this thread. + PURPLE """ - pullRequest: PullRequest! + PURPLE """ - Identifies the repository associated with this thread. + RED """ - repository: Repository! + RED """ - The user who resolved this thread + YELLOW """ - resolvedBy: User + YELLOW +} +""" +Represents a single select field option +""" +input ProjectV2SingleSelectFieldOptionInput { """ - The side of the diff that the first line of the thread starts on (multi-line only) + The display color of the option """ - startDiffSide: DiffSide + color: ProjectV2SingleSelectFieldOptionColor! """ - The start line in the file to which this thread refers (multi-line only) + The description text of the option """ - startLine: Int + description: String! """ - Indicates whether the current viewer can reply to this thread. + The name of the option """ - viewerCanReply: Boolean! + name: String! +} +""" +Represents a sort by field and direction. +""" +type ProjectV2SortBy { """ - Whether or not the viewer can resolve this thread + The direction of the sorting. Possible values are ASC and DESC. """ - viewerCanResolve: Boolean! + direction: OrderDirection! """ - Whether or not the viewer can unresolve this thread + The field by which items are sorted. """ - viewerCanUnresolve: Boolean! + field: ProjectV2Field! } """ -Review comment threads for a pull request review. +The connection type for ProjectV2SortBy. """ -type PullRequestReviewThreadConnection { +type ProjectV2SortByConnection { """ A list of edges. """ - edges: [PullRequestReviewThreadEdge] + edges: [ProjectV2SortByEdge] """ A list of nodes. """ - nodes: [PullRequestReviewThread] + nodes: [ProjectV2SortBy] """ Information to aid in pagination. @@ -28213,7 +33298,7 @@ type PullRequestReviewThreadConnection { """ An edge in a connection. """ -type PullRequestReviewThreadEdge { +type ProjectV2SortByEdge { """ A cursor for use in pagination. """ @@ -28222,804 +33307,890 @@ type PullRequestReviewThreadEdge { """ The item at the end of the edge. """ - node: PullRequestReviewThread + node: ProjectV2SortBy } """ -Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. +Represents a sort by field and direction. """ -type PullRequestRevisionMarker { - """ - Identifies the date and time when the object was created. +type ProjectV2SortByField { """ - createdAt: DateTime! - - """ - The last commit the viewer has seen. + The direction of the sorting. Possible values are ASC and DESC. """ - lastSeenCommit: Commit! + direction: OrderDirection! """ - The pull request to which the marker belongs. + The field by which items are sorted. """ - pullRequest: PullRequest! + field: ProjectV2FieldConfiguration! } """ -The possible states of a pull request. +The connection type for ProjectV2SortByField. """ -enum PullRequestState { +type ProjectV2SortByFieldConnection { """ - A pull request that has been closed without being merged. + A list of edges. """ - CLOSED + edges: [ProjectV2SortByFieldEdge] """ - A pull request that has been closed by being merged. + A list of nodes. """ - MERGED + nodes: [ProjectV2SortByField] """ - A pull request that is still open. + Information to aid in pagination. """ - OPEN -} + pageInfo: PageInfo! -""" -A repository pull request template. -""" -type PullRequestTemplate { """ - The body of the template + Identifies the total count of items in the connection. """ - body: String + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2SortByFieldEdge { """ - The filename of the template + A cursor for use in pagination. """ - filename: String + cursor: String! """ - The repository the template belongs to + The item at the end of the edge. """ - repository: Repository! + node: ProjectV2SortByField } """ -The connection type for PullRequestTimelineItem. +The possible states of a project v2. """ -type PullRequestTimelineConnection { +enum ProjectV2State { """ - A list of edges. + A project v2 that has been closed """ - edges: [PullRequestTimelineItemEdge] + CLOSED """ - A list of nodes. + A project v2 that is still open """ - nodes: [PullRequestTimelineItem] - - """ - Information to aid in pagination. - """ - pageInfo: PageInfo! - - """ - Identifies the total count of items in the connection. - """ - totalCount: Int! + OPEN } """ -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 - -""" -An edge in a connection. +A view within a ProjectV2. """ -type PullRequestTimelineItemEdge { +type ProjectV2View implements Node { """ - A cursor for use in pagination. + Identifies the date and time when the object was created. """ - cursor: String! + createdAt: DateTime! """ - The item at the end of the edge. + Identifies the primary key from the database. """ - node: PullRequestTimelineItem -} - -""" -An item in a pull request timeline -""" -union PullRequestTimelineItems = - AddedToProjectEvent - | AssignedEvent - | AutoMergeDisabledEvent - | AutoMergeEnabledEvent - | AutoRebaseEnabledEvent - | AutoSquashEnabledEvent - | 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 + databaseId: Int -""" -The connection type for PullRequestTimelineItems. -""" -type PullRequestTimelineItemsConnection { """ - A list of edges. + The view's visible fields. """ - edges: [PullRequestTimelineItemsEdge] + fields( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - Identifies the count of items after applying `before` and `after` filters. - """ - filteredCount: Int! + """ + 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 project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection """ - A list of nodes. + The project view's filter. """ - nodes: [PullRequestTimelineItems] + filter: String """ - Identifies the count of items after applying `before`/`after` filters and `first`/`last`/`skip` slicing. + The view's group-by field. """ - pageCount: Int! + groupBy( + """ + 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 project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConnection + @deprecated( + reason: "The `ProjectV2View#order_by` API is deprecated in favour of the more capable `ProjectV2View#group_by_field` API. Check out the `ProjectV2View#group_by_fields` API as an example for the more capable alternative. Removal on 2023-04-01 UTC." + ) """ - Information to aid in pagination. + The view's group-by field. """ - pageInfo: PageInfo! + groupByFields( + """ + 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 project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection + id: ID! """ - Identifies the total count of items in the connection. + The project view's layout. """ - totalCount: Int! + layout: ProjectV2ViewLayout! """ - Identifies the date and time when the timeline was last updated. + The project view's name. """ - updatedAt: DateTime! -} + name: String! -""" -An edge in a connection. -""" -type PullRequestTimelineItemsEdge { """ - A cursor for use in pagination. + The project view's number. """ - cursor: String! + number: Int! """ - The item at the end of the edge. + The project that contains this view. """ - node: PullRequestTimelineItems -} + project: ProjectV2! -""" -The possible item types found in a timeline. -""" -enum PullRequestTimelineItemsItemType { """ - Represents a 'added_to_project' event on a given issue or pull request. + The view's sort-by config. """ - ADDED_TO_PROJECT_EVENT + sortBy( + """ + 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 + ): ProjectV2SortByConnection + @deprecated( + reason: "The `ProjectV2View#sort_by` API is deprecated in favour of the more capable `ProjectV2View#sort_by_fields` API. Check out the `ProjectV2View#sort_by_fields` API as an example for the more capable alternative. Removal on 2023-04-01 UTC." + ) """ - Represents an 'assigned' event on any assignable object. + The view's sort-by config. """ - ASSIGNED_EVENT + sortByFields( + """ + 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 + ): ProjectV2SortByFieldConnection """ - Represents a 'automatic_base_change_failed' event on a given pull request. + Identifies the date and time when the object was last updated. """ - AUTOMATIC_BASE_CHANGE_FAILED_EVENT + updatedAt: DateTime! """ - Represents a 'automatic_base_change_succeeded' event on a given pull request. + The view's vertical-group-by field. """ - AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT + verticalGroupBy( + """ + 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 project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConnection + @deprecated( + reason: "The `ProjectV2View#vertical_group_by` API is deprecated in favour of the more capable `ProjectV2View#vertical_group_by_fields` API. Check out the `ProjectV2View#vertical_group_by_fields` API as an example for the more capable alternative. Removal on 2023-04-01 UTC." + ) """ - Represents a 'auto_merge_disabled' event on a given pull request. + The view's vertical-group-by field. """ - AUTO_MERGE_DISABLED_EVENT + verticalGroupByFields( + """ + 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 project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConfigurationConnection """ - Represents a 'auto_merge_enabled' event on a given pull request. + The view's visible fields. """ - AUTO_MERGE_ENABLED_EVENT + visibleFields( + """ + 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 project v2 fields returned from the connection. + """ + orderBy: ProjectV2FieldOrder = {field: POSITION, direction: ASC} + ): ProjectV2FieldConnection + @deprecated( + reason: "The `ProjectV2View#visibleFields` API is deprecated in favour of the more capable `ProjectV2View#fields` API. Check out the `ProjectV2View#fields` API as an example for the more capable alternative. Removal on 2023-01-01 UTC." + ) +} +""" +The connection type for ProjectV2View. +""" +type ProjectV2ViewConnection { """ - Represents a 'auto_rebase_enabled' event on a given pull request. + A list of edges. """ - AUTO_REBASE_ENABLED_EVENT + edges: [ProjectV2ViewEdge] """ - Represents a 'auto_squash_enabled' event on a given pull request. + A list of nodes. """ - AUTO_SQUASH_ENABLED_EVENT + nodes: [ProjectV2View] """ - Represents a 'base_ref_changed' event on a given issue or pull request. + Information to aid in pagination. """ - BASE_REF_CHANGED_EVENT + pageInfo: PageInfo! """ - Represents a 'base_ref_deleted' event on a given pull request. + Identifies the total count of items in the connection. """ - BASE_REF_DELETED_EVENT + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2ViewEdge { """ - Represents a 'base_ref_force_pushed' event on a given pull request. + A cursor for use in pagination. """ - BASE_REF_FORCE_PUSHED_EVENT + cursor: String! """ - Represents a 'closed' event on any `Closable`. + The item at the end of the edge. """ - CLOSED_EVENT + node: ProjectV2View +} +""" +The layout of a project v2 view. +""" +enum ProjectV2ViewLayout { """ - Represents a 'comment_deleted' event on a given issue or pull request. + Board layout """ - COMMENT_DELETED_EVENT + BOARD_LAYOUT """ - Represents a 'connected' event on a given issue or pull request. + Roadmap layout """ - CONNECTED_EVENT + ROADMAP_LAYOUT """ - Represents a 'converted_note_to_issue' event on a given issue or pull request. + Table layout """ - CONVERTED_NOTE_TO_ISSUE_EVENT + TABLE_LAYOUT +} +""" +Ordering options for project v2 view connections +""" +input ProjectV2ViewOrder { """ - Represents a 'convert_to_draft' event on a given pull request. + The ordering direction. """ - CONVERT_TO_DRAFT_EVENT + direction: OrderDirection! """ - Represents a mention made by one issue or pull request to another. + The field to order the project v2 views by. """ - CROSS_REFERENCED_EVENT + field: ProjectV2ViewOrderField! +} +""" +Properties by which project v2 view connections can be ordered. +""" +enum ProjectV2ViewOrderField { """ - Represents a 'demilestoned' event on a given issue or pull request. + Order project v2 views by creation time """ - DEMILESTONED_EVENT + CREATED_AT """ - Represents a 'deployed' event on a given pull request. + Order project v2 views by name """ - DEPLOYED_EVENT + NAME """ - Represents a 'deployment_environment_changed' event on a given pull request. + Order project v2 views by position """ - DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT + POSITION +} +""" +A workflow inside a project. +""" +type ProjectV2Workflow implements Node { """ - Represents a 'disconnected' event on a given issue or pull request. + Identifies the date and time when the object was created. """ - DISCONNECTED_EVENT + createdAt: DateTime! """ - Represents a 'head_ref_deleted' event on a given pull request. + Identifies the primary key from the database. """ - HEAD_REF_DELETED_EVENT + databaseId: Int """ - Represents a 'head_ref_force_pushed' event on a given pull request. + The workflows' enabled state. """ - HEAD_REF_FORCE_PUSHED_EVENT + enabled: Boolean! + id: ID! """ - Represents a 'head_ref_restored' event on a given pull request. + The workflows' name. """ - HEAD_REF_RESTORED_EVENT + name: String! """ - Represents a comment on an Issue. + The workflows' number. """ - ISSUE_COMMENT + number: Int! """ - Represents a 'labeled' event on a given issue or pull request. + The project that contains this workflow. """ - LABELED_EVENT + project: ProjectV2! """ - Represents a 'locked' event on a given issue or pull request. + Identifies the date and time when the object was last updated. """ - LOCKED_EVENT + updatedAt: DateTime! +} +""" +The connection type for ProjectV2Workflow. +""" +type ProjectV2WorkflowConnection { """ - Represents a 'marked_as_duplicate' event on a given issue or pull request. + A list of edges. """ - MARKED_AS_DUPLICATE_EVENT + edges: [ProjectV2WorkflowEdge] """ - Represents a 'mentioned' event on a given issue or pull request. + A list of nodes. """ - MENTIONED_EVENT + nodes: [ProjectV2Workflow] """ - Represents a 'merged' event on a given pull request. + Information to aid in pagination. """ - MERGED_EVENT + pageInfo: PageInfo! """ - Represents a 'milestoned' event on a given issue or pull request. + Identifies the total count of items in the connection. """ - MILESTONED_EVENT + totalCount: Int! +} +""" +An edge in a connection. +""" +type ProjectV2WorkflowEdge { """ - Represents a 'moved_columns_in_project' event on a given issue or pull request. + A cursor for use in pagination. """ - MOVED_COLUMNS_IN_PROJECT_EVENT + cursor: String! """ - Represents a 'pinned' event on a given issue or pull request. + The item at the end of the edge. """ - PINNED_EVENT + node: ProjectV2Workflow +} +""" +Ordering options for project v2 workflows connections +""" +input ProjectV2WorkflowOrder { """ - Represents a Git commit part of a pull request. + The ordering direction. """ - PULL_REQUEST_COMMIT + direction: OrderDirection! """ - Represents a commit comment thread part of a pull request. + The field to order the project v2 workflows by. """ - PULL_REQUEST_COMMIT_COMMENT_THREAD + field: ProjectV2WorkflowsOrderField! +} +""" +Properties by which project workflows can be ordered. +""" +enum ProjectV2WorkflowsOrderField { """ - A review object for a given pull request. + The workflows' date and time of creation """ - PULL_REQUEST_REVIEW + CREATED_AT """ - A threaded list of comments for a given pull request. + The workflows' name """ - PULL_REQUEST_REVIEW_THREAD + NAME """ - Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. + The workflows' number """ - PULL_REQUEST_REVISION_MARKER + NUMBER """ - Represents a 'ready_for_review' event on a given pull request. + The workflows' date and time of update """ - READY_FOR_REVIEW_EVENT + UPDATED_AT +} +""" +A user's public key. +""" +type PublicKey implements Node { """ - Represents a 'referenced' event on a given `ReferencedSubject`. + The last time this authorization was used to perform an action. Values will be null for keys not owned by the user. """ - REFERENCED_EVENT + accessedAt: DateTime """ - Represents a 'removed_from_project' event on a given issue or pull request. + 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. """ - REMOVED_FROM_PROJECT_EVENT + createdAt: DateTime """ - Represents a 'renamed' event on a given issue or pull request + The fingerprint for this PublicKey. """ - RENAMED_TITLE_EVENT + fingerprint: String! + id: ID! """ - Represents a 'reopened' event on any `Closable`. + Whether this PublicKey is read-only or not. Values will be null for keys not owned by the user. """ - REOPENED_EVENT + isReadOnly: Boolean """ - Represents a 'review_dismissed' event on a given issue or pull request. + The public key string. """ - REVIEW_DISMISSED_EVENT + key: String! """ - Represents an 'review_requested' event on a given pull request. - """ - REVIEW_REQUESTED_EVENT - - """ - Represents an 'review_request_removed' event on a given pull request. - """ - REVIEW_REQUEST_REMOVED_EVENT - - """ - Represents a 'subscribed' event on a given `Subscribable`. + 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. """ - SUBSCRIBED_EVENT + updatedAt: DateTime +} +""" +The connection type for PublicKey. +""" +type PublicKeyConnection { """ - Represents a 'transferred' event on a given issue or pull request. + A list of edges. """ - TRANSFERRED_EVENT + edges: [PublicKeyEdge] """ - Represents an 'unassigned' event on any assignable object. + A list of nodes. """ - UNASSIGNED_EVENT + nodes: [PublicKey] """ - Represents an 'unlabeled' event on a given issue or pull request. + Information to aid in pagination. """ - UNLABELED_EVENT + pageInfo: PageInfo! """ - Represents an 'unlocked' event on a given issue or pull request. + Identifies the total count of items in the connection. """ - UNLOCKED_EVENT + totalCount: Int! +} +""" +An edge in a connection. +""" +type PublicKeyEdge { """ - Represents an 'unmarked_as_duplicate' event on a given issue or pull request. + A cursor for use in pagination. """ - UNMARKED_AS_DUPLICATE_EVENT + cursor: String! """ - Represents an 'unpinned' event on a given issue or pull request. + The item at the end of the edge. """ - UNPINNED_EVENT + node: PublicKey +} +""" +Autogenerated input type of PublishSponsorsTier +""" +input PublishSponsorsTierInput { """ - Represents an 'unsubscribed' event on a given `Subscribable`. + A unique identifier for the client performing the mutation. """ - UNSUBSCRIBED_EVENT + clientMutationId: String """ - Represents a 'user_blocked' event on a given user. + The ID of the draft tier to publish. """ - USER_BLOCKED_EVENT + tierId: ID! @possibleTypes(concreteTypes: ["SponsorsTier"]) } """ -The possible target states when updating a pull request. +Autogenerated return type of PublishSponsorsTier """ -enum PullRequestUpdateState { +type PublishSponsorsTierPayload { """ - A pull request that has been closed without being merged. + A unique identifier for the client performing the mutation. """ - CLOSED + clientMutationId: String """ - A pull request that is still open. + The tier that was published. """ - OPEN + sponsorsTier: SponsorsTier } """ -A Git push. +A repository pull request. """ -type Push implements Node { - id: ID! +type PullRequest implements Assignable & Closable & Comment & Labelable & Lockable & Node & ProjectV2Owner & Reactable & RepositoryNode & Subscribable & UniformResourceLocatable & Updatable & UpdatableComment { + """ + Reason that the conversation was locked. + """ + activeLockReason: LockReason """ - The SHA after the push + The number of additions in this pull request. """ - nextSha: GitObjectID + additions: Int! """ - The permalink for this push. + A list of Users assigned to this object. """ - permalink: URI! + 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 SHA before the push + The actor who authored the comment. """ - previousSha: GitObjectID + author: Actor """ - The user who pushed + Author's association with the subject of the comment. """ - pusher: User! + authorAssociation: CommentAuthorAssociation! """ - The repository that was pushed to + Returns the auto-merge request object if one exists for this pull request. """ - repository: Repository! -} + autoMergeRequest: AutoMergeRequest -""" -A team, user or app who has the ability to push to a protected branch. -""" -type PushAllowance implements Node { """ - The actor that can push. + Identifies the base Ref associated with the pull request. """ - actor: PushAllowanceActor + baseRef: Ref """ - Identifies the branch protection rule associated with the allowed user or team. + Identifies the name of the base Ref associated with the pull request, even if the ref has been deleted. """ - branchProtectionRule: BranchProtectionRule - id: ID! -} + baseRefName: String! -""" -Types that can be an actor. -""" -union PushAllowanceActor = App | Team | User + """ + Identifies the oid of the base ref associated with the pull request, even if the ref has been deleted. + """ + baseRefOid: GitObjectID! -""" -The connection type for PushAllowance. -""" -type PushAllowanceConnection { """ - A list of edges. + The repository associated with this pull request's base Ref. """ - edges: [PushAllowanceEdge] + baseRepository: Repository """ - A list of nodes. + The body as Markdown. """ - nodes: [PushAllowance] + body: String! """ - Information to aid in pagination. + The body rendered to HTML. """ - pageInfo: PageInfo! + bodyHTML: HTML! """ - Identifies the total count of items in the connection. + The body rendered to text. """ - totalCount: Int! -} + bodyText: String! -""" -An edge in a connection. -""" -type PushAllowanceEdge { """ - A cursor for use in pagination. + Whether or not the pull request is rebaseable. """ - cursor: String! + canBeRebased: Boolean! @preview(toggledBy: "merge-info-preview") """ - The item at the end of the edge. + The number of changed files in this pull request. """ - node: PushAllowance -} + changedFiles: Int! -""" -The query root of GitHub's GraphQL interface. -""" -type Query { """ - Look up a code of conduct by its key + The HTTP path for the checks of this pull request. """ - codeOfConduct( - """ - The code of conduct's key - """ - key: String! - ): CodeOfConduct + checksResourcePath: URI! """ - Look up a code of conduct by its key + The HTTP URL for the checks of this pull request. """ - codesOfConduct: [CodeOfConduct] + checksUrl: URI! """ - Look up an enterprise by URL slug. + `true` if the pull request is closed """ - enterprise( - """ - The enterprise invitation token. - """ - invitationToken: String + closed: Boolean! - """ - The enterprise URL slug. - """ - slug: String! - ): Enterprise + """ + Identifies the date and time when the object was closed. + """ + closedAt: DateTime """ - Look up a pending enterprise administrator invitation by invitee, enterprise and role. + List of issues that were may be closed by this pull request """ - enterpriseAdministratorInvitation( + closingIssuesReferences( """ - The slug of the enterprise the user was invited to join. + Returns the elements in the list that come after the specified cursor. """ - enterpriseSlug: String! + after: String """ - The role for the business member invitation. + Returns the elements in the list that come before the specified cursor. """ - role: EnterpriseAdministratorRole! + before: String """ - The login of the user invited to join the business. + Returns the first _n_ elements from the list. """ - userLogin: String! - ): EnterpriseAdministratorInvitation + first: Int - """ - Look up a pending enterprise administrator invitation by invitation token. - """ - enterpriseAdministratorInvitationByToken( """ - The invitation token sent with the invitation email. + Returns the last _n_ elements from the list. """ - invitationToken: String! - ): EnterpriseAdministratorInvitation + last: Int - """ - Look up an open source license by its key - """ - license( """ - The license's downcased SPDX ID + Ordering options for issues returned from the connection """ - key: String! - ): License - - """ - Return a list of known open source licenses - """ - licenses: [License]! + orderBy: IssueOrder - """ - Get alphabetically sorted list of Marketplace categories - """ - marketplaceCategories( """ - Exclude categories with no listings. + Return only manually linked Issues """ - excludeEmpty: Boolean + userLinkedOnly: Boolean = false + ): IssueConnection + """ + A list of comments associated with the pull request. + """ + comments( """ - Returns top level categories only, excluding any subcategories. + Returns the elements in the list that come after the specified cursor. """ - excludeSubcategories: Boolean + after: String """ - Return only the specified categories. + Returns the elements in the list that come before the specified cursor. """ - includeCategories: [String!] - ): [MarketplaceCategory!]! + before: String - """ - Look up a Marketplace category by its slug. - """ - marketplaceCategory( """ - The URL slug of the category. + Returns the first _n_ elements from the list. """ - slug: String! + first: Int """ - Also check topic aliases for the category slug + Returns the last _n_ elements from the list. """ - useTopicAliases: Boolean - ): MarketplaceCategory + last: Int - """ - 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. + Ordering options for issue comments returned from the connection. """ - slug: String! - ): MarketplaceListing + orderBy: IssueCommentOrder + ): IssueCommentConnection! """ - Look up Marketplace listings + A list of commits present in this pull request's head branch not present in the base branch. """ - marketplaceListings( - """ - Select listings that can be administered by the specified user. - """ - adminId: ID - + commits( """ Returns the elements in the list that come after the specified cursor. """ after: String - """ - Select listings visible to the viewer even if they are not approved. If omitted or - false, only approved listings will be returned. - """ - allStates: Boolean - """ Returns the elements in the list that come before the specified cursor. """ before: String - """ - Select only listings with the given category. - """ - categorySlug: String - """ Returns the first _n_ elements from the list. """ @@ -29029,128 +34200,118 @@ type Query { Returns the last _n_ elements from the list. """ last: Int + ): PullRequestCommitConnection! - """ - Select listings for products owned by the specified organization. - """ - organizationId: ID + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! - """ - Select only listings where the primary category matches the given category slug. - """ - primaryCategoryOnly: Boolean = false + """ + Check if this comment was created via an email reply. + """ + createdViaEmail: Boolean! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + + """ + The number of deletions in this pull request. + """ + deletions: Int! + + """ + The actor who edited this pull request's body. + """ + editor: Actor + """ + Lists the files changed within this pull request. + """ + files( """ - Select the listings with these slugs, if they are visible to the viewer. + Returns the elements in the list that come after the specified cursor. """ - slugs: [String] + after: String """ - Also check topic aliases for the category slug + Returns the elements in the list that come before the specified cursor. """ - useTopicAliases: Boolean + before: String """ - Select listings to which user has admin access. If omitted, listings visible to the - viewer are returned. + Returns the first _n_ elements from the list. """ - viewerCanAdmin: Boolean + first: Int """ - Select only listings that offer a free trial. + Returns the last _n_ elements from the list. """ - withFreeTrialsOnly: Boolean = false - ): MarketplaceListingConnection! + last: Int + ): PullRequestChangedFileConnection """ - Return information about the GitHub instance + Identifies the head Ref associated with the pull request. """ - meta: GitHubMetadata! + headRef: Ref """ - Fetches an object given its ID. + Identifies the name of the head Ref associated with the pull request, even if the ref has been deleted. """ - node( - """ - ID of the object. - """ - id: ID! - ): Node + headRefName: String! """ - Lookup nodes by a list of IDs. + Identifies the oid of the head ref associated with the pull request, even if the ref has been deleted. """ - nodes( - """ - The list of node IDs. - """ - ids: [ID!]! - ): [Node]! + headRefOid: GitObjectID! """ - Lookup a organization by login. + The repository associated with this pull request's head Ref. """ - organization( - """ - The organization's login. - """ - login: String! - ): Organization + headRepository: Repository """ - The client's rate limit information. + The owner of the repository associated with this pull request's head Ref. """ - rateLimit( + headRepositoryOwner: RepositoryOwner + + """ + The hovercard information for this issue + """ + hovercard( """ - If true, calculate the cost for the query without evaluating it + Whether or not to include notification contexts """ - dryRun: Boolean = false - ): RateLimit + includeNotificationContexts: Boolean = true + ): Hovercard! + id: ID! """ - Hack to workaround https://github.com/facebook/relay/issues/112 re-exposing the root query object + Check if this comment was edited and includes an edit with the creation data """ - relay: Query! + includesCreatedEdit: Boolean! """ - Lookup a given repository by the owner and repository name. + The head and base repositories are different. """ - repository( - """ - The name of the repository - """ - name: String! - - """ - The login field of a user or organization - """ - owner: String! - ): Repository + isCrossRepository: Boolean! """ - Lookup a repository owner (ie. either a User or an Organization) by login. + Identifies if the pull request is a draft. """ - repositoryOwner( - """ - The username to lookup the owner by. - """ - login: String! - ): RepositoryOwner + isDraft: Boolean! """ - Lookup resource by a URL. + Is this pull request read by the viewer """ - resource( - """ - The URL. - """ - url: URI! - ): UniformResourceLocatable + isReadByViewer: Boolean """ - Perform a search across resources. + A list of labels associated with the object. """ - search( + labels( """ Returns the elements in the list that come after the specified cursor. """ @@ -29172,20 +34333,20 @@ type Query { last: Int """ - The search string to look for. + Ordering options for labels returned from the connection. """ - query: String! + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + ): LabelConnection - """ - The types of search items to search within. - """ - type: SearchType! - ): SearchResultItemConnection! + """ + The moment the editor made the last edit + """ + lastEditedAt: DateTime """ - GitHub Security Advisories + A list of latest reviews per user associated with the pull request. """ - securityAdvisories( + latestOpinionatedReviews( """ Returns the elements in the list that come after the specified cursor. """ @@ -29201,46 +34362,21 @@ type Query { """ first: Int - """ - Filter advisories by identifier, e.g. GHSA or CVE. - """ - identifier: SecurityAdvisoryIdentifierFilter - """ Returns the last _n_ elements from the list. """ last: Int """ - Ordering options for the returned topics. - """ - orderBy: SecurityAdvisoryOrder = {field: UPDATED_AT, direction: DESC} - - """ - Filter advisories to those published since a time in the past. - """ - publishedSince: DateTime - - """ - Filter advisories to those updated since a time in the past. - """ - updatedSince: DateTime - ): SecurityAdvisoryConnection! - - """ - Fetch a Security Advisory by its GHSA ID - """ - securityAdvisory( - """ - GitHub Security Advisory ID. + Only return reviews from user who have write access to the repository """ - ghsaId: String! - ): SecurityAdvisory + writersOnly: Boolean = false + ): PullRequestReviewConnection """ - Software Vulnerabilities documented by GitHub Security Advisories + A list of latest reviews per user associated with the pull request that are not also pending review. """ - securityVulnerabilities( + latestReviews( """ Returns the elements in the list that come after the specified cursor. """ @@ -29251,11 +34387,6 @@ type Query { """ before: String - """ - An ecosystem to filter vulnerabilities by. - """ - ecosystem: SecurityAdvisoryEcosystem - """ Returns the first _n_ elements from the list. """ @@ -29265,43 +34396,119 @@ type Query { Returns the last _n_ elements from the list. """ last: Int + ): PullRequestReviewConnection - """ - Ordering options for the returned topics. - """ - orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} + """ + `true` if the pull request is locked + """ + locked: Boolean! + """ + Indicates whether maintainers can modify the pull request. + """ + maintainerCanModify: Boolean! + + """ + The commit that was created when this pull request was merged. + """ + mergeCommit: Commit + + """ + The merge queue entry of the pull request in the base branch's merge queue + """ + mergeQueueEntry: MergeQueueEntry + + """ + Detailed information about the current pull request merge state status. + """ + mergeStateStatus: MergeStateStatus! @preview(toggledBy: "merge-info-preview") + + """ + Whether or not the pull request can be merged based on the existence of merge conflicts. + """ + mergeable: MergeableState! + + """ + Whether or not the pull request was merged. + """ + merged: Boolean! + + """ + The date and time that the pull request was merged. + """ + mergedAt: DateTime + + """ + The actor who merged the pull request. + """ + mergedBy: Actor + + """ + Identifies the milestone associated with the pull request. + """ + milestone: Milestone + + """ + Identifies the pull request number. + """ + number: Int! + + """ + A list of Users that are participating in the Pull Request conversation. + """ + participants( """ - A package name to filter vulnerabilities by. - """ - package: String + Returns the elements in the list that come after the specified cursor. + """ + after: String """ - A list of severities to filter vulnerabilities by. + Returns the elements in the list that come before the specified cursor. """ - severities: [SecurityAdvisorySeverity!] - ): SecurityVulnerabilityConnection! + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): UserConnection! """ - Users and organizations who can be sponsored via GitHub Sponsors. + The permalink to the pull request. """ - sponsorables( + permalink: URI! + + """ + The commit that GitHub automatically generated to test if this pull request + could be merged. This field will not return a value if the pull request is + merged, or if the test merge commit is still being generated. See the + `mergeable` field for more details on the mergeability of the pull request. + """ + potentialMergeCommit: Commit + + """ + List of project cards associated with this pull request. + """ + projectCards( """ Returns the elements in the list that come after the specified cursor. """ after: String """ - Returns the elements in the list that come before the specified cursor. + A list of archived states to filter the cards by """ - before: String + archivedStates: [ProjectCardArchivedState] = [ARCHIVED, NOT_ARCHIVED] """ - 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. + Returns the elements in the list that come before the specified cursor. """ - dependencyEcosystem: SecurityAdvisoryEcosystem + before: String """ Returns the first _n_ elements from the list. @@ -29312,99 +34519,87 @@ type Query { Returns the last _n_ elements from the list. """ last: Int + ): ProjectCardConnection! + """ + List of project items associated with this pull request. + """ + projectItems( """ - 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. + Returns the elements in the list that come after the specified cursor. """ - onlyDependencies: Boolean = false + after: String """ - Ordering options for users and organizations returned from the connection. + Returns the elements in the list that come before the specified cursor. """ - orderBy: SponsorableOrder = {field: LOGIN, direction: ASC} + before: String """ - 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. + Returns the first _n_ elements from the list. """ - orgLoginForDependencies: String - ): SponsorableItemConnection! + first: Int - """ - Look up a topic by name. - """ - topic( """ - The topic's name. + Include archived items. """ - name: String! - ): Topic + includeArchived: Boolean = true - """ - Lookup a user by login. - """ - user( """ - The user's login. + Returns the last _n_ elements from the list. """ - login: String! - ): User + last: Int + ): ProjectV2ItemConnection! """ - The currently authenticated user. + Find a project by number. """ - viewer: User! -} + projectV2( + """ + The project number. + """ + number: Int! + ): ProjectV2 -""" -Represents the client's rate limit. -""" -type RateLimit { """ - The point cost for the current query counting against the rate limit. + A list of projects under the owner. """ - cost: Int! + projectsV2( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The maximum number of points the client is permitted to consume in a 60 minute window. - """ - limit: Int! + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - The maximum number of nodes this query may return - """ - nodeCount: Int! + """ + Returns the first _n_ elements from the list. + """ + first: Int - """ - The number of points remaining in the current rate limit window. - """ - remaining: Int! + """ + Returns the last _n_ elements from the list. + """ + last: Int - """ - The time at which the current rate limit window resets in UTC epoch seconds. - """ - resetAt: DateTime! + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """ - The number of points used in the current rate limit window. - """ - used: Int! -} + """ + A project to search for under the the owner. + """ + query: String + ): ProjectV2Connection! -""" -Represents a subject that can be reacted on. -""" -interface Reactable { """ - Identifies the primary key from the database. + Identifies when the comment was published at. """ - databaseId: Int - id: ID! + publishedAt: DateTime """ A list of reactions grouped by content left on the subject. @@ -29447,191 +34642,129 @@ interface Reactable { ): ReactionConnection! """ - Can user react to this subject - """ - viewerCanReact: Boolean! -} - -""" -The connection type for User. -""" -type ReactingUserConnection { - """ - A list of edges. - """ - edges: [ReactingUserEdge] - - """ - A list of nodes. - """ - nodes: [User] - - """ - Information to aid in pagination. - """ - pageInfo: PageInfo! - - """ - Identifies the total count of items in the connection. - """ - totalCount: Int! -} - -""" -Represents a user that's made a reaction. -""" -type ReactingUserEdge { - """ - A cursor for use in pagination. - """ - cursor: String! - node: User! - - """ - The moment when the user made the reaction. - """ - reactedAt: DateTime! -} - -""" -An emoji reaction to a particular piece of content. -""" -type Reaction implements Node { - """ - Identifies the emoji reaction. - """ - content: ReactionContent! - - """ - Identifies the date and time when the object was created. + The repository associated with this node. """ - createdAt: DateTime! + repository: Repository! """ - Identifies the primary key from the database. + The HTTP path for this pull request. """ - databaseId: Int - id: ID! + resourcePath: URI! """ - The reactable piece of content + The HTTP path for reverting this pull request. """ - reactable: Reactable! + revertResourcePath: URI! """ - Identifies the user who created this reaction. + The HTTP URL for reverting this pull request. """ - user: User -} + revertUrl: URI! -""" -A list of reactions that have been left on the subject. -""" -type ReactionConnection { """ - A list of edges. + The current status of this pull request with respect to code review. """ - edges: [ReactionEdge] + reviewDecision: PullRequestReviewDecision """ - A list of nodes. + A list of review requests associated with the pull request. """ - nodes: [Reaction] + reviewRequests( + """ + 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 - """ - Whether or not the authenticated user has left a reaction on the subject. - """ - viewerHasReacted: Boolean! -} + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ReviewRequestConnection -""" -Emojis that can be attached to Issues, Pull Requests and Comments. -""" -enum ReactionContent { """ - Represents the `:confused:` emoji. + The list of all review threads for this pull request. """ - CONFUSED + reviewThreads( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - Represents the `:eyes:` emoji. - """ - EYES + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - Represents the `:heart:` emoji. - """ - HEART + """ + Returns the first _n_ elements from the list. + """ + first: Int - """ - Represents the `:hooray:` emoji. - """ - HOORAY + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): PullRequestReviewThreadConnection! """ - Represents the `:laugh:` emoji. + A list of reviews associated with the pull request. """ - LAUGH + reviews( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - Represents the `:rocket:` emoji. - """ - ROCKET + """ + Filter by author of the review. + """ + author: String - """ - Represents the `:-1:` emoji. - """ - THUMBS_DOWN + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - Represents the `:+1:` emoji. - """ - THUMBS_UP -} + """ + Returns the first _n_ elements from the list. + """ + first: Int -""" -An edge in a connection. -""" -type ReactionEdge { - """ - 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: Reaction -} + """ + A list of states to filter the reviews. + """ + states: [PullRequestReviewState!] + ): PullRequestReviewConnection -""" -A group of emoji reactions to a particular piece of content. -""" -type ReactionGroup { """ - Identifies the emoji reaction. + Identifies the state of the pull request. """ - content: ReactionContent! + state: PullRequestState! """ - Identifies when the reaction was created. + A list of reviewer suggestions based on commit history and past review comments. """ - createdAt: DateTime + suggestedReviewers: [SuggestedReviewer]! """ - Reactors to the reaction subject with the emotion represented by this reaction group. + A list of events, comments, commits, etc. associated with the pull request. """ - reactors( + timeline( """ Returns the elements in the list that come after the specified cursor. """ @@ -29651,17 +34784,18 @@ type ReactionGroup { Returns the last _n_ elements from the list. """ last: Int - ): ReactorConnection! - """ - The subject that was reacted to. - """ - subject: Reactable! + """ + Allows filtering timeline events by a `since` timestamp. + """ + since: DateTime + ): PullRequestTimelineConnection! + @deprecated(reason: "`timeline` will be removed Use PullRequest.timelineItems instead. Removal on 2020-10-01 UTC.") """ - Users who have reacted to the reaction subject with the emotion represented by this reaction group + A list of events, comments, commits, etc. associated with the pull request. """ - users( + timelineItems( """ Returns the elements in the list that come after the specified cursor. """ @@ -29677,226 +34811,242 @@ type ReactionGroup { """ first: Int + """ + Filter timeline items by type. + """ + itemTypes: [PullRequestTimelineItemsItemType!] + """ Returns the last _n_ elements from the list. """ last: Int - ): ReactingUserConnection! - @deprecated( - reason: "Reactors can now be mannequins, bots, and organizations. Use the `reactors` field instead. Removal on 2021-10-01 UTC." - ) - """ - Whether or not the authenticated user has left a reaction on the subject. - """ - viewerHasReacted: Boolean! -} + """ + Filter timeline items by a `since` timestamp. + """ + since: DateTime -""" -Ways in which lists of reactions can be ordered upon return. -""" -input ReactionOrder { - """ - The direction in which to order reactions by the specified field. - """ - direction: OrderDirection! + """ + Skips the first _n_ elements in the list. + """ + skip: Int + ): PullRequestTimelineItemsConnection! """ - The field in which to order reactions by. + Identifies the pull request title. """ - field: ReactionOrderField! -} + title: String! -""" -A list of fields that reactions can be ordered by. -""" -enum ReactionOrderField { """ - Allows ordering a list of reactions by when they were created. + Identifies the pull request title rendered to HTML. """ - CREATED_AT -} - -""" -Types that can be assigned to reactions. -""" -union Reactor = Bot | Mannequin | Organization | User + titleHTML: HTML! -""" -The connection type for Reactor. -""" -type ReactorConnection { """ - A list of edges. + Returns a count of how many comments this pull request has received. """ - edges: [ReactorEdge] + totalCommentsCount: Int """ - A list of nodes. + Identifies the date and time when the object was last updated. """ - nodes: [Reactor] + updatedAt: DateTime! """ - Information to aid in pagination. + The HTTP URL for this pull request. """ - pageInfo: PageInfo! + url: URI! """ - Identifies the total count of items in the connection. + A list of edits to this content. """ - totalCount: Int! -} - -""" -Represents an author of a reaction. -""" -type ReactorEdge { + 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 + """ - A cursor for use in pagination. + Whether or not the viewer can apply suggestion. """ - cursor: String! + viewerCanApplySuggestion: Boolean! """ - The author of the reaction. + Indicates if the object can be closed by the viewer. """ - node: Reactor! + viewerCanClose: Boolean! """ - The moment when the user made the reaction. + Check if the viewer can restore the deleted head ref. """ - reactedAt: DateTime! -} + viewerCanDeleteHeadRef: Boolean! -""" -Represents a 'ready_for_review' event on a given pull request. -""" -type ReadyForReviewEvent implements Node & UniformResourceLocatable { """ - Identifies the actor who performed the event. + Whether or not the viewer can disable auto-merge """ - actor: Actor + viewerCanDisableAutoMerge: Boolean! """ - Identifies the date and time when the object was created. + Can the viewer edit files within this pull request. """ - createdAt: DateTime! - id: ID! + viewerCanEditFiles: Boolean! """ - PullRequest referenced by event. + Whether or not the viewer can enable auto-merge """ - pullRequest: PullRequest! + viewerCanEnableAutoMerge: Boolean! """ - The HTTP path for this ready for review event. + Indicates whether the viewer can bypass branch protections and merge the pull request immediately """ - resourcePath: URI! + viewerCanMergeAsAdmin: Boolean! """ - The HTTP URL for this ready for review event. + Can user react to this subject """ - url: URI! -} + viewerCanReact: Boolean! -""" -Represents a Git reference. -""" -type Ref implements Node { """ - A list of pull requests with this ref as the head ref. + Indicates if the object can be reopened by the viewer. """ - associatedPullRequests( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + viewerCanReopen: Boolean! - """ - The base ref name to filter the pull requests by. - """ - baseRefName: String + """ + Check if the viewer is able to change their subscription status for the repository. + """ + viewerCanSubscribe: Boolean! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Check if the current viewer can update this object. + """ + viewerCanUpdate: Boolean! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + 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! - """ - The head ref name to filter the pull requests by. - """ - headRefName: String + """ + Reasons why the current viewer can not update this comment. + """ + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! - """ - A list of label names to filter the pull requests by. - """ - labels: [String!] + """ + Did the viewer author this comment. + """ + viewerDidAuthor: Boolean! - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The latest review given from the viewer. + """ + viewerLatestReview: PullRequestReview + + """ + The person who has requested the viewer for review on this pull request. + """ + viewerLatestReviewRequest: ReviewRequest + """ + The merge body text for the viewer and method. + """ + viewerMergeBodyText( """ - Ordering options for pull requests returned from the connection. + The merge method for the message. """ - orderBy: IssueOrder + mergeType: PullRequestMergeMethod + ): String! + """ + The merge headline text for the viewer and method. + """ + viewerMergeHeadlineText( """ - A list of states to filter the pull requests by. + The merge method for the message. """ - states: [PullRequestState!] - ): PullRequestConnection! + mergeType: PullRequestMergeMethod + ): String! """ - Branch protection rules for this ref + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. """ - branchProtectionRule: BranchProtectionRule - id: ID! + viewerSubscription: SubscriptionState +} +""" +The possible methods for updating a pull request's head branch with the base branch. +""" +enum PullRequestBranchUpdateMethod { """ - The ref name. + Update branch via merge """ - name: String! + MERGE """ - The ref's prefix, such as `refs/heads/` or `refs/tags/`. + Update branch via rebase """ - prefix: String! + REBASE +} +""" +A file changed in a pull request. +""" +type PullRequestChangedFile { """ - Branch protection rules that are viewable by non-admins + The number of additions to the file. """ - refUpdateRule: RefUpdateRule + additions: Int! """ - The repository the ref belongs to. + How the file was changed in this PullRequest """ - repository: Repository! + changeType: PatchStatus! """ - The object the ref points to. Returns null when object does not exist. + The number of deletions to the file. """ - target: GitObject + deletions: Int! + + """ + The path of the file. + """ + path: String! + + """ + The state of the file for the viewer. + """ + viewerViewedState: FileViewedState! } """ -The connection type for Ref. +The connection type for PullRequestChangedFile. """ -type RefConnection { +type PullRequestChangedFileConnection { """ A list of edges. """ - edges: [RefEdge] + edges: [PullRequestChangedFileEdge] """ A list of nodes. """ - nodes: [Ref] + nodes: [PullRequestChangedFile] """ Information to aid in pagination. @@ -29912,7 +35062,7 @@ type RefConnection { """ An edge in a connection. """ -type RefEdge { +type PullRequestChangedFileEdge { """ A cursor for use in pagination. """ @@ -29921,319 +35071,359 @@ type RefEdge { """ The item at the end of the edge. """ - node: Ref + node: PullRequestChangedFile } """ -Ways in which lists of git refs can be ordered upon return. +Represents a Git commit part of a pull request. """ -input RefOrder { +type PullRequestCommit implements Node & UniformResourceLocatable { """ - The direction in which to order refs by the specified field. + The Git commit object """ - direction: OrderDirection! + commit: Commit! + id: ID! """ - The field in which to order refs by. + The pull request this commit belongs to """ - field: RefOrderField! -} + pullRequest: PullRequest! -""" -Properties by which ref connections can be ordered. -""" -enum RefOrderField { """ - Order refs by their alphanumeric name + The HTTP path for this pull request commit """ - ALPHABETICAL + resourcePath: URI! """ - Order refs by underlying commit date if the ref prefix is refs/tags/ + The HTTP URL for this pull request commit """ - TAG_COMMIT_DATE + url: URI! } """ -A ref update +Represents a commit comment thread part of a pull request. """ -input RefUpdate @preview(toggledBy: "update-refs-preview") { +type PullRequestCommitCommentThread implements Node & RepositoryNode { """ - The value this ref should be updated to. + The comments that exist in this thread. """ - afterOid: GitObjectID! + comments( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The value this ref needs to point to before the update. - """ - beforeOid: GitObjectID + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - Force a non fast-forward update. - """ - force: Boolean = false + """ + Returns the first _n_ elements from the list. + """ + first: Int - """ - The fully qualified name of the ref to be update. For example `refs/heads/branch-name` - """ - name: GitRefname! -} + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): CommitCommentConnection! -""" -A ref update rules for a viewer. -""" -type RefUpdateRule { """ - Can this branch be deleted. + The commit the comments were made on. """ - allowsDeletions: Boolean! + commit: Commit! + id: ID! """ - Are force pushes allowed on this branch. + The file the comments were made on. """ - allowsForcePushes: Boolean! + path: String """ - Identifies the protection rule pattern. + The position in the diff for the commit that the comment was made on. """ - pattern: String! + position: Int """ - Number of approving reviews required to update matching branches. + The pull request this commit comment thread belongs to """ - requiredApprovingReviewCount: Int + pullRequest: PullRequest! """ - List of required status check contexts that must pass for commits to be accepted to matching branches. + The repository associated with this node. """ - requiredStatusCheckContexts: [String] + repository: Repository! +} +""" +The connection type for PullRequestCommit. +""" +type PullRequestCommitConnection { """ - Are reviews from code owners required to update matching branches. + A list of edges. """ - requiresCodeOwnerReviews: Boolean! + edges: [PullRequestCommitEdge] """ - Are conversations required to be resolved before merging. + A list of nodes. """ - requiresConversationResolution: Boolean! + nodes: [PullRequestCommit] """ - Are merge commits prohibited from being pushed to this branch. + Information to aid in pagination. """ - requiresLinearHistory: Boolean! + pageInfo: PageInfo! """ - Are commits required to be signed. + Identifies the total count of items in the connection. """ - requiresSignatures: Boolean! + totalCount: Int! +} +""" +An edge in a connection. +""" +type PullRequestCommitEdge { """ - Is the viewer allowed to dismiss reviews. + A cursor for use in pagination. """ - viewerAllowedToDismissReviews: Boolean! + cursor: String! """ - Can the viewer push to the branch + The item at the end of the edge. """ - viewerCanPush: Boolean! + node: PullRequestCommit } """ -Represents a 'referenced' event on a given `ReferencedSubject`. +The connection type for PullRequest. """ -type ReferencedEvent implements Node { +type PullRequestConnection { """ - Identifies the actor who performed the event. + A list of edges. """ - actor: Actor + edges: [PullRequestEdge] """ - Identifies the commit associated with the 'referenced' event. + A list of nodes. """ - commit: Commit + nodes: [PullRequest] """ - Identifies the repository associated with the 'referenced' event. + Information to aid in pagination. """ - commitRepository: Repository! + pageInfo: PageInfo! """ - Identifies the date and time when the object was created. + Identifies the total count of items in the connection. """ - createdAt: DateTime! - id: ID! + totalCount: Int! +} +""" +This aggregates pull requests opened by a user within one repository. +""" +type PullRequestContributionsByRepository { """ - Reference originated in a different repository. + The pull request contributions. """ - isCrossRepository: Boolean! + contributions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference. - """ - isDirectReference: Boolean! + """ + 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} + ): CreatedPullRequestContributionConnection! """ - Object referenced by event. + The repository in which the pull requests were opened. """ - subject: ReferencedSubject! + repository: Repository! } """ -Any referencable object -""" -union ReferencedSubject = Issue | PullRequest - -""" -Autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes +An edge in a connection. """ -input RegenerateEnterpriseIdentityProviderRecoveryCodesInput { +type PullRequestEdge { """ - A unique identifier for the client performing the mutation. + A cursor for use in pagination. """ - clientMutationId: String + cursor: String! """ - The ID of the enterprise on which to set an identity provider. + The item at the end of the edge. """ - enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + node: PullRequest } """ -Autogenerated return type of RegenerateEnterpriseIdentityProviderRecoveryCodes +Represents available types of methods to use when merging a pull request. """ -type RegenerateEnterpriseIdentityProviderRecoveryCodesPayload { +enum PullRequestMergeMethod { """ - A unique identifier for the client performing the mutation. + Add all commits from the head branch to the base branch with a merge commit. """ - clientMutationId: String + MERGE """ - The identity provider for the enterprise. + Add all commits from the head branch onto the base branch individually. """ - identityProvider: EnterpriseIdentityProvider + REBASE + + """ + Combine all commits from the head branch into a single commit in the base branch. + """ + SQUASH } """ -Autogenerated input type of RegenerateVerifiableDomainToken +Ways in which lists of issues can be ordered upon return. """ -input RegenerateVerifiableDomainTokenInput { +input PullRequestOrder { """ - A unique identifier for the client performing the mutation. + The direction in which to order pull requests by the specified field. """ - clientMutationId: String + direction: OrderDirection! """ - The ID of the verifiable domain to regenerate the verification token of. + The field in which to order pull requests by. """ - id: ID! @possibleTypes(concreteTypes: ["VerifiableDomain"]) + field: PullRequestOrderField! } """ -Autogenerated return type of RegenerateVerifiableDomainToken +Properties by which pull_requests connections can be ordered. """ -type RegenerateVerifiableDomainTokenPayload { +enum PullRequestOrderField { """ - A unique identifier for the client performing the mutation. + Order pull_requests by creation time """ - clientMutationId: String + CREATED_AT """ - The verification token that was generated. + Order pull_requests by update time """ - verificationToken: String + UPDATED_AT } """ -Autogenerated input type of RejectDeployments +Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. """ -input RejectDeploymentsInput { +type PullRequestParameters { """ - A unique identifier for the client performing the mutation. + New, reviewable commits pushed will dismiss previous pull request review approvals. """ - clientMutationId: String + dismissStaleReviewsOnPush: Boolean! """ - Optional comment for rejecting deployments + Require an approving review in pull requests that modify files that have a designated code owner. """ - comment: String = "" + requireCodeOwnerReview: Boolean! """ - The ids of environments to reject deployments + Whether the most recent reviewable push must be approved by someone other than the person who pushed it. """ - environmentIds: [ID!]! + requireLastPushApproval: Boolean! """ - The node ID of the workflow run containing the pending deployments. + The number of approving reviews that are required before a pull request can be merged. """ - workflowRunId: ID! @possibleTypes(concreteTypes: ["WorkflowRun"]) + requiredApprovingReviewCount: Int! + + """ + All conversations on code must be resolved before a pull request can be merged. + """ + requiredReviewThreadResolution: Boolean! } """ -Autogenerated return type of RejectDeployments +Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. """ -type RejectDeploymentsPayload { +input PullRequestParametersInput { """ - A unique identifier for the client performing the mutation. + New, reviewable commits pushed will dismiss previous pull request review approvals. """ - clientMutationId: String + dismissStaleReviewsOnPush: Boolean! """ - The affected deployments. + Require an approving review in pull requests that modify files that have a designated code owner. """ - deployments: [Deployment!] -} + requireCodeOwnerReview: Boolean! -""" -A release contains the content for a release. -""" -type Release implements Node & Reactable & UniformResourceLocatable { """ - The author of the release + Whether the most recent reviewable push must be approved by someone other than the person who pushed it. """ - author: User + requireLastPushApproval: Boolean! """ - Identifies the date and time when the object was created. + The number of approving reviews that are required before a pull request can be merged. """ - createdAt: DateTime! + requiredApprovingReviewCount: Int! """ - Identifies the primary key from the database. + All conversations on code must be resolved before a pull request can be merged. """ - databaseId: Int + requiredReviewThreadResolution: Boolean! +} +""" +A review object for a given pull request. +""" +type PullRequestReview implements Comment & Deletable & Node & Reactable & RepositoryNode & Updatable & UpdatableComment { """ - The description of the release. + The actor who authored the comment. """ - description: String + author: Actor """ - The description of this release rendered to HTML. + Author's association with the subject of the comment. """ - descriptionHTML: HTML - id: ID! + authorAssociation: CommentAuthorAssociation! """ - Whether or not the release is a draft + Indicates whether the author of this review has push access to the repository. """ - isDraft: Boolean! + authorCanPushToRepository: Boolean! """ - Whether or not the release is the latest releast + Identifies the pull request review body. """ - isLatest: Boolean! + body: String! """ - Whether or not the release is a prerelease + The body rendered to HTML. """ - isPrerelease: Boolean! + bodyHTML: HTML! """ - A list of users mentioned in the release description + The body of this review rendered as plain text. """ - mentions( + bodyText: String! + + """ + A list of review comments for the current pull request review. + """ + comments( """ Returns the elements in the list that come after the specified cursor. """ @@ -30253,27 +35443,48 @@ type Release implements Node & Reactable & UniformResourceLocatable { Returns the last _n_ elements from the list. """ last: Int - ): UserConnection + ): PullRequestReviewCommentConnection! """ - The title of the release. + Identifies the commit associated with this pull request review. """ - name: String + commit: Commit """ - Identifies the date and time when the release was created. + Identifies the date and time when the object was created. """ - publishedAt: DateTime + createdAt: DateTime! """ - A list of reactions grouped by content left on the subject. + Check if this comment was created via an email reply. """ - reactionGroups: [ReactionGroup!] + createdViaEmail: Boolean! """ - A list of Reactions left on the Issue. + Identifies the primary key from the database. """ - reactions( + databaseId: Int + + """ + The actor who edited the comment. + """ + editor: Actor + id: ID! + + """ + Check if this comment was edited and includes an edit with the creation data + """ + includesCreatedEdit: Boolean! + + """ + The moment the editor made the last edit + """ + lastEditedAt: DateTime + + """ + 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. """ @@ -30284,11 +35495,6 @@ type Release implements Node & Reactable & UniformResourceLocatable { """ before: String - """ - Allows filtering Reactions by emoji. - """ - content: ReactionContent - """ Returns the first _n_ elements from the list. """ @@ -30298,17 +35504,27 @@ type Release implements Node & Reactable & UniformResourceLocatable { Returns the last _n_ elements from the list. """ last: Int + ): TeamConnection! - """ - Allows specifying the order in which reactions are returned. - """ - orderBy: ReactionOrder - ): ReactionConnection! + """ + Identifies when the comment was published at. + """ + publishedAt: DateTime """ - List of releases assets which are dependent on this release. + Identifies the pull request associated with this pull request review. """ - releaseAssets( + 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. """ @@ -30319,6 +35535,11 @@ type Release implements Node & Reactable & UniformResourceLocatable { """ before: String + """ + Allows filtering Reactions by emoji. + """ + content: ReactionContent + """ Returns the first _n_ elements from the list. """ @@ -30330,2163 +35551,7967 @@ type Release implements Node & Reactable & UniformResourceLocatable { last: Int """ - A list of names to filter the assets by. + Allows specifying the order in which reactions are returned. """ - name: String - ): ReleaseAssetConnection! + orderBy: ReactionOrder + ): ReactionConnection! """ - The repository that the release belongs to. + The repository associated with this node. """ repository: Repository! """ - The HTTP path for this issue + The HTTP path permalink for this PullRequestReview. """ resourcePath: URI! """ - A description of the release, rendered to HTML without any links in it. + Identifies the current state of the pull request review. """ - shortDescriptionHTML( - """ - How many characters to return. - """ - limit: Int = 200 - ): HTML + state: PullRequestReviewState! """ - The Git tag the release points to + Identifies when the Pull Request Review was submitted """ - tag: Ref + submittedAt: DateTime """ - The tag commit for this release. + Identifies the date and time when the object was last updated. """ - tagCommit: Commit + updatedAt: DateTime! """ - The name of the release's Git tag + The HTTP URL permalink for this PullRequestReview. """ - tagName: String! + url: URI! """ - Identifies the date and time when the object was last updated. + A list of edits to this content. """ - updatedAt: DateTime! + 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 """ - The HTTP URL for this issue + Check if the current viewer can delete this object. """ - url: URI! + viewerCanDelete: Boolean! """ Can user react to this subject """ viewerCanReact: Boolean! -} -""" -A release asset contains the content for a release asset. -""" -type ReleaseAsset implements Node { """ - The asset's content-type + Check if the current viewer can update this object. """ - contentType: String! + viewerCanUpdate: Boolean! """ - Identifies the date and time when the object was created. + Reasons why the current viewer can not update this comment. """ - createdAt: DateTime! + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! """ - The number of times this asset was downloaded + Did the viewer author this comment. """ - downloadCount: Int! + viewerDidAuthor: Boolean! +} +""" +A review comment associated with a given repository pull request. +""" +type PullRequestReviewComment implements Comment & Deletable & Minimizable & Node & Reactable & RepositoryNode & Updatable & UpdatableComment { """ - Identifies the URL where you can download the release asset via the browser. + The actor who authored the comment. """ - downloadUrl: URI! - id: ID! + author: Actor """ - Identifies the title of the release asset. + Author's association with the subject of the comment. """ - name: String! + authorAssociation: CommentAuthorAssociation! """ - Release that the asset is associated with + The comment body of this review comment. """ - release: Release + body: String! """ - The size (in bytes) of the asset + The body rendered to HTML. """ - size: Int! + bodyHTML: HTML! """ - Identifies the date and time when the object was last updated. + The comment body of this review comment rendered as plain text. """ - updatedAt: DateTime! + bodyText: String! """ - The user that performed the upload + Identifies the commit associated with the comment. """ - uploadedBy: User! + commit: Commit """ - Identifies the URL of the release asset. + Identifies when the comment was created. """ - url: URI! -} + createdAt: DateTime! -""" -The connection type for ReleaseAsset. -""" -type ReleaseAssetConnection { """ - A list of edges. + Check if this comment was created via an email reply. """ - edges: [ReleaseAssetEdge] + createdViaEmail: Boolean! """ - A list of nodes. + Identifies the primary key from the database. """ - nodes: [ReleaseAsset] + databaseId: Int """ - Information to aid in pagination. + The diff hunk to which the comment applies. """ - pageInfo: PageInfo! + diffHunk: String! """ - Identifies the total count of items in the connection. + Identifies when the comment was created in a draft state. """ - totalCount: Int! -} + draftedAt: DateTime! -""" -An edge in a connection. -""" -type ReleaseAssetEdge { """ - A cursor for use in pagination. + The actor who edited the comment. """ - cursor: String! + editor: Actor + id: ID! """ - The item at the end of the edge. + Check if this comment was edited and includes an edit with the creation data """ - node: ReleaseAsset -} + includesCreatedEdit: Boolean! -""" -The connection type for Release. -""" -type ReleaseConnection { """ - A list of edges. + Returns whether or not a comment has been minimized. """ - edges: [ReleaseEdge] + isMinimized: Boolean! """ - A list of nodes. + The moment the editor made the last edit """ - nodes: [Release] + lastEditedAt: DateTime """ - Information to aid in pagination. + The end line number on the file to which the comment applies """ - pageInfo: PageInfo! + line: Int """ - Identifies the total count of items in the connection. + 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. """ - totalCount: Int! -} + minimizedReason: String -""" -An edge in a connection. -""" -type ReleaseEdge { """ - A cursor for use in pagination. + Identifies the original commit associated with the comment. """ - cursor: String! + originalCommit: Commit """ - The item at the end of the edge. + The end line number on the file to which the comment applied when it was first created """ - node: Release -} + originalLine: Int -""" -Ways in which lists of releases can be ordered upon return. -""" -input ReleaseOrder { """ - The direction in which to order releases by the specified field. + The original line index in the diff to which the comment applies. """ - direction: OrderDirection! + originalPosition: Int! + @deprecated(reason: "We are phasing out diff-relative positioning for PR comments Removal on 2023-10-01 UTC.") """ - The field in which to order releases by. + The start line number on the file to which the comment applied when it was first created """ - field: ReleaseOrderField! -} + originalStartLine: Int -""" -Properties by which release connections can be ordered. -""" -enum ReleaseOrderField { """ - Order releases by creation time + Identifies when the comment body is outdated """ - CREATED_AT + outdated: Boolean! """ - Order releases alphabetically by name + The path to which the comment applies. """ - NAME -} + path: String! -""" -Autogenerated input type of RemoveAssigneesFromAssignable -""" -input RemoveAssigneesFromAssignableInput { """ - The id of the assignable object to remove assignees from. + The line index in the diff to which the comment applies. """ - assignableId: ID! @possibleTypes(concreteTypes: ["Issue", "PullRequest"], abstractType: "Assignable") + position: Int + @deprecated( + reason: "We are phasing out diff-relative positioning for PR comments Use the `line` and `startLine` fields instead, which are file line numbers instead of diff line numbers Removal on 2023-10-01 UTC." + ) """ - The id of users to remove as assignees. + Identifies when the comment was published at. """ - assigneeIds: [ID!]! @possibleTypes(concreteTypes: ["User"]) + publishedAt: DateTime """ - A unique identifier for the client performing the mutation. + The pull request associated with this review comment. """ - clientMutationId: String -} + pullRequest: PullRequest! -""" -Autogenerated return type of RemoveAssigneesFromAssignable -""" -type RemoveAssigneesFromAssignablePayload { """ - The item that was unassigned. + The pull request review associated with this review comment. """ - assignable: Assignable + pullRequestReview: PullRequestReview """ - A unique identifier for the client performing the mutation. + A list of reactions grouped by content left on the subject. """ - clientMutationId: String -} + reactionGroups: [ReactionGroup!] -""" -Autogenerated input type of RemoveEnterpriseAdmin -""" -input RemoveEnterpriseAdminInput { """ - A unique identifier for the client performing the mutation. + A list of Reactions left on the Issue. """ - clientMutationId: String + 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 + + """ + Allows filtering Reactions by emoji. + """ + content: ReactionContent + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Allows specifying the order in which reactions are returned. + """ + orderBy: ReactionOrder + ): ReactionConnection! """ - The Enterprise ID from which to remove the administrator. + The comment this is a reply to. """ - enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + replyTo: PullRequestReviewComment """ - The login of the user to remove as an administrator. + The repository associated with this node. """ - login: String! -} + repository: Repository! -""" -Autogenerated return type of RemoveEnterpriseAdmin -""" -type RemoveEnterpriseAdminPayload { """ - The user who was removed as an administrator. + The HTTP path permalink for this review comment. """ - admin: User + resourcePath: URI! """ - A unique identifier for the client performing the mutation. + The start line number on the file to which the comment applies """ - clientMutationId: String + startLine: Int """ - The updated enterprise. + Identifies the state of the comment. """ - enterprise: Enterprise + state: PullRequestReviewCommentState! """ - A message confirming the result of removing an administrator. + The level at which the comments in the corresponding thread are targeted, can be a diff line or a file """ - message: String + subjectType: PullRequestReviewThreadSubjectType! """ - The viewer performing the mutation. + Identifies when the comment was last updated. """ - viewer: User -} + updatedAt: DateTime! -""" -Autogenerated input type of RemoveEnterpriseIdentityProvider -""" -input RemoveEnterpriseIdentityProviderInput { """ - A unique identifier for the client performing the mutation. + The HTTP URL permalink for this review comment. """ - clientMutationId: String + url: URI! """ - The ID of the enterprise from which to remove the identity provider. + A list of edits to this content. """ - enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) -} + 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 -""" -Autogenerated return type of RemoveEnterpriseIdentityProvider -""" -type RemoveEnterpriseIdentityProviderPayload { """ - A unique identifier for the client performing the mutation. + Check if the current viewer can delete this object. """ - clientMutationId: String + viewerCanDelete: Boolean! """ - The identity provider that was removed from the enterprise. + Check if the current viewer can minimize this object. """ - identityProvider: EnterpriseIdentityProvider -} + viewerCanMinimize: Boolean! -""" -Autogenerated input type of RemoveEnterpriseOrganization -""" -input RemoveEnterpriseOrganizationInput { """ - A unique identifier for the client performing the mutation. + Can user react to this subject """ - clientMutationId: String + viewerCanReact: Boolean! """ - The ID of the enterprise from which the organization should be removed. + Check if the current viewer can update this object. """ - enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + viewerCanUpdate: Boolean! """ - The ID of the organization to remove from the enterprise. + Reasons why the current viewer can not update this comment. """ - organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) + viewerCannotUpdateReasons: [CommentCannotUpdateReason!]! + + """ + Did the viewer author this comment. + """ + viewerDidAuthor: Boolean! } """ -Autogenerated return type of RemoveEnterpriseOrganization +The connection type for PullRequestReviewComment. """ -type RemoveEnterpriseOrganizationPayload { +type PullRequestReviewCommentConnection { """ - A unique identifier for the client performing the mutation. + A list of edges. """ - clientMutationId: String + edges: [PullRequestReviewCommentEdge] """ - The updated enterprise. + A list of nodes. """ - enterprise: Enterprise + nodes: [PullRequestReviewComment] """ - The organization that was removed from the enterprise. + Information to aid in pagination. """ - organization: Organization + pageInfo: PageInfo! """ - The viewer performing the mutation. + Identifies the total count of items in the connection. """ - viewer: User + totalCount: Int! } """ -Autogenerated input type of RemoveEnterpriseSupportEntitlement +An edge in a connection. """ -input RemoveEnterpriseSupportEntitlementInput { - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String - +type PullRequestReviewCommentEdge { """ - The ID of the Enterprise which the admin belongs to. + A cursor for use in pagination. """ - enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + cursor: String! """ - The login of a member who will lose the support entitlement. + The item at the end of the edge. """ - login: String! + node: PullRequestReviewComment } """ -Autogenerated return type of RemoveEnterpriseSupportEntitlement +The possible states of a pull request review comment. """ -type RemoveEnterpriseSupportEntitlementPayload { +enum PullRequestReviewCommentState { """ - A unique identifier for the client performing the mutation. + A comment that is part of a pending review """ - clientMutationId: String + PENDING """ - A message confirming the result of removing the support entitlement. + A comment that is part of a submitted review """ - message: String + SUBMITTED } """ -Autogenerated input type of RemoveLabelsFromLabelable +The connection type for PullRequestReview. """ -input RemoveLabelsFromLabelableInput { - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String - +type PullRequestReviewConnection { """ - The ids of labels to remove. + A list of edges. """ - labelIds: [ID!]! @possibleTypes(concreteTypes: ["Label"]) + edges: [PullRequestReviewEdge] """ - The id of the Labelable to remove labels from. + A list of nodes. """ - labelableId: ID! @possibleTypes(concreteTypes: ["Discussion", "Issue", "PullRequest"], abstractType: "Labelable") -} + nodes: [PullRequestReview] -""" -Autogenerated return type of RemoveLabelsFromLabelable -""" -type RemoveLabelsFromLabelablePayload { """ - A unique identifier for the client performing the mutation. + Information to aid in pagination. """ - clientMutationId: String + pageInfo: PageInfo! """ - The Labelable the labels were removed from. + Identifies the total count of items in the connection. """ - labelable: Labelable + totalCount: Int! } """ -Autogenerated input type of RemoveOutsideCollaborator +This aggregates pull request reviews made by a user within one repository. """ -input RemoveOutsideCollaboratorInput { +type PullRequestReviewContributionsByRepository { """ - A unique identifier for the client performing the mutation. + The pull request review contributions. """ - clientMutationId: String + contributions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The ID of the organization to remove the outside collaborator from. - """ - organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - The ID of the outside collaborator to remove. - """ - userId: ID! @possibleTypes(concreteTypes: ["User"]) -} + """ + Returns the first _n_ elements from the list. + """ + first: Int -""" -Autogenerated return type of RemoveOutsideCollaborator -""" -type RemoveOutsideCollaboratorPayload { - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for contributions returned from the connection. + """ + orderBy: ContributionOrder = {direction: DESC} + ): CreatedPullRequestReviewContributionConnection! """ - The user that was removed as an outside collaborator. + The repository in which the pull request reviews were made. """ - removedUser: User + repository: Repository! } """ -Autogenerated input type of RemoveReaction +The review status of a pull request. """ -input RemoveReactionInput { +enum PullRequestReviewDecision { """ - A unique identifier for the client performing the mutation. + The pull request has received an approving review. """ - clientMutationId: String + APPROVED """ - The name of the emoji reaction to remove. + Changes have been requested on the pull request. """ - content: ReactionContent! + CHANGES_REQUESTED """ - The Node ID of the subject to modify. + A review is required before the pull request can be merged. """ - subjectId: ID! - @possibleTypes( - concreteTypes: [ - "CommitComment" - "Discussion" - "DiscussionComment" - "Issue" - "IssueComment" - "PullRequest" - "PullRequestReview" - "PullRequestReviewComment" - "Release" - "TeamDiscussion" - "TeamDiscussionComment" - ] - abstractType: "Reactable" - ) + REVIEW_REQUIRED } """ -Autogenerated return type of RemoveReaction +An edge in a connection. """ -type RemoveReactionPayload { - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String - +type PullRequestReviewEdge { """ - The reaction object. + A cursor for use in pagination. """ - reaction: Reaction + cursor: String! """ - The reactable subject. + The item at the end of the edge. """ - subject: Reactable + node: PullRequestReview } """ -Autogenerated input type of RemoveStar +The possible events to perform on a pull request review. """ -input RemoveStarInput { +enum PullRequestReviewEvent { """ - A unique identifier for the client performing the mutation. + Submit feedback and approve merging these changes. """ - clientMutationId: String + APPROVE """ - The Starrable ID to unstar. + Submit general feedback without explicit approval. """ - starrableId: ID! @possibleTypes(concreteTypes: ["Gist", "Repository", "Topic"], abstractType: "Starrable") -} + COMMENT -""" -Autogenerated return type of RemoveStar -""" -type RemoveStarPayload { """ - A unique identifier for the client performing the mutation. + Dismiss review so it now longer effects merging. """ - clientMutationId: String + DISMISS """ - The starrable. + Submit feedback that must be addressed before merging. """ - starrable: Starrable + REQUEST_CHANGES } """ -Autogenerated input type of RemoveUpvote +The possible states of a pull request review. """ -input RemoveUpvoteInput { +enum PullRequestReviewState { """ - A unique identifier for the client performing the mutation. + A review allowing the pull request to merge. """ - clientMutationId: String + APPROVED """ - The Node ID of the discussion or comment to remove upvote. + A review blocking the pull request from merging. """ - subjectId: ID! @possibleTypes(concreteTypes: ["Discussion", "DiscussionComment"], abstractType: "Votable") -} + CHANGES_REQUESTED -""" -Autogenerated return type of RemoveUpvote -""" -type RemoveUpvotePayload { """ - A unique identifier for the client performing the mutation. + An informational review. """ - clientMutationId: String + COMMENTED """ - The votable subject. + A review that has been dismissed. """ - subject: Votable + DISMISSED + + """ + A review that has not yet been submitted. + """ + PENDING } """ -Represents a 'removed_from_project' event on a given issue or pull request. +A threaded list of comments for a given pull request. """ -type RemovedFromProjectEvent implements Node { +type PullRequestReviewThread implements Node { """ - Identifies the actor who performed the event. + A list of pull request comments associated with the thread. """ - actor: Actor + comments( + """ + 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 + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Skips the first _n_ elements in the list. + """ + skip: Int + ): PullRequestReviewCommentConnection! """ - Identifies the primary key from the database. + The side of the diff on which this thread was placed. """ - databaseId: Int + diffSide: DiffSide! id: ID! """ - Project referenced by event. + Whether or not the thread has been collapsed (resolved) """ - project: Project @preview(toggledBy: "starfox-preview") + isCollapsed: Boolean! """ - Column name referenced by this project event. + Indicates whether this thread was outdated by newer changes. """ - projectColumnName: String! @preview(toggledBy: "starfox-preview") -} + isOutdated: Boolean! -""" -Represents a 'renamed' event on a given issue or pull request -""" -type RenamedTitleEvent implements Node { """ - Identifies the actor who performed the event. + Whether this thread has been resolved """ - actor: Actor + isResolved: Boolean! """ - Identifies the date and time when the object was created. + The line in the file to which this thread refers """ - createdAt: DateTime! + line: Int """ - Identifies the current title of the issue or pull request. + The original line in the file to which this thread refers. """ - currentTitle: String! - id: ID! + originalLine: Int """ - Identifies the previous title of the issue or pull request. + The original start line in the file to which this thread refers (multi-line only). """ - previousTitle: String! + originalStartLine: Int """ - Subject that was renamed. + Identifies the file path of this thread. """ - subject: RenamedTitleSubject! -} + path: String! -""" -An object which has a renamable title -""" -union RenamedTitleSubject = Issue | PullRequest + """ + Identifies the pull request associated with this thread. + """ + pullRequest: PullRequest! -""" -Autogenerated input type of ReopenIssue -""" -input ReopenIssueInput { """ - A unique identifier for the client performing the mutation. + Identifies the repository associated with this thread. """ - clientMutationId: String + repository: Repository! """ - ID of the issue to be opened. + The user who resolved this thread """ - issueId: ID! @possibleTypes(concreteTypes: ["Issue"]) -} + resolvedBy: User -""" -Autogenerated return type of ReopenIssue -""" -type ReopenIssuePayload { """ - A unique identifier for the client performing the mutation. + The side of the diff that the first line of the thread starts on (multi-line only) """ - clientMutationId: String + startDiffSide: DiffSide """ - The issue that was opened. + The start line in the file to which this thread refers (multi-line only) """ - issue: Issue -} + startLine: Int -""" -Autogenerated input type of ReopenPullRequest -""" -input ReopenPullRequestInput { """ - A unique identifier for the client performing the mutation. + The level at which the comments in the corresponding thread are targeted, can be a diff line or a file """ - clientMutationId: String + subjectType: PullRequestReviewThreadSubjectType! """ - ID of the pull request to be reopened. + Indicates whether the current viewer can reply to this thread. """ - pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) -} + viewerCanReply: Boolean! -""" -Autogenerated return type of ReopenPullRequest -""" -type ReopenPullRequestPayload { """ - A unique identifier for the client performing the mutation. + Whether or not the viewer can resolve this thread """ - clientMutationId: String + viewerCanResolve: Boolean! """ - The pull request that was reopened. + Whether or not the viewer can unresolve this thread """ - pullRequest: PullRequest + viewerCanUnresolve: Boolean! } """ -Represents a 'reopened' event on any `Closable`. +Review comment threads for a pull request review. """ -type ReopenedEvent implements Node { +type PullRequestReviewThreadConnection { """ - Identifies the actor who performed the event. + A list of edges. """ - actor: Actor + edges: [PullRequestReviewThreadEdge] """ - Object that was reopened. + A list of nodes. """ - closable: Closable! + nodes: [PullRequestReviewThread] """ - Identifies the date and time when the object was created. + Information to aid in pagination. """ - createdAt: DateTime! - id: ID! + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! } """ -Audit log entry for a repo.access event. +An edge in a connection. """ -type RepoAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { +type PullRequestReviewThreadEdge { """ - The action name + A cursor for use in pagination. """ - action: String! + cursor: String! """ - The user who initiated the action + The item at the end of the edge. """ - actor: AuditEntryActor + node: PullRequestReviewThread +} +""" +The possible subject types of a pull request review comment. +""" +enum PullRequestReviewThreadSubjectType { """ - The IP address of the actor + A comment that has been made against the file of a pull request """ - actorIp: String + FILE """ - A readable representation of the actor's location + A comment that has been made against the line of a pull request """ - actorLocation: ActorLocation + LINE +} +""" +Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. +""" +type PullRequestRevisionMarker { """ - The username of the user who initiated the action + Identifies the date and time when the object was created. """ - actorLogin: String + createdAt: DateTime! """ - The HTTP path for the actor. + The last commit the viewer has seen. """ - actorResourcePath: URI + lastSeenCommit: Commit! """ - The HTTP URL for the actor. + The pull request to which the marker belongs. """ - actorUrl: URI + pullRequest: PullRequest! +} +""" +The possible states of a pull request. +""" +enum PullRequestState { """ - The time the action was initiated + A pull request that has been closed without being merged. """ - createdAt: PreciseDateTime! - id: ID! + CLOSED """ - The corresponding operation type for the action + A pull request that has been closed by being merged. """ - operationType: OperationType + MERGED """ - The Organization associated with the Audit Entry. + A pull request that is still open. """ - organization: Organization + OPEN +} +""" +A repository pull request template. +""" +type PullRequestTemplate { """ - The name of the Organization. + The body of the template """ - organizationName: String + body: String """ - The HTTP path for the organization + The filename of the template """ - organizationResourcePath: URI + filename: String """ - The HTTP URL for the organization + The repository the template belongs to """ - organizationUrl: URI + repository: Repository! +} +""" +A threaded list of comments for a given pull request. +""" +type PullRequestThread implements Node { """ - The repository associated with the action + A list of pull request comments associated with the thread. """ - repository: Repository + 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. + The side of the diff on which this thread was placed. """ - userLogin: String + diffSide: DiffSide! + id: ID! """ - The HTTP path for the user. + Whether or not the thread has been collapsed (resolved) """ - userResourcePath: URI + isCollapsed: Boolean! """ - The HTTP URL for the user. + Indicates whether this thread was outdated by newer changes. """ - userUrl: URI + isOutdated: Boolean! """ - The visibility of the repository + Whether this thread has been resolved """ - visibility: RepoAccessAuditEntryVisibility -} + isResolved: Boolean! -""" -The privacy of a repository -""" -enum RepoAccessAuditEntryVisibility { """ - The repository is visible only to users in the same business. + The line in the file to which this thread refers """ - INTERNAL + line: Int """ - The repository is visible only to those with explicit access. + Identifies the file path of this thread. """ - PRIVATE + path: String! """ - The repository is visible to everyone. + Identifies the pull request associated with this thread. """ - PUBLIC -} + pullRequest: PullRequest! -""" -Audit log entry for a repo.add_member event. -""" -type RepoAddMemberAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + Identifies the repository associated with this thread. """ - action: String! + repository: Repository! """ - The user who initiated the action + The user who resolved this thread """ - actor: AuditEntryActor + resolvedBy: User """ - The IP address of the actor + The side of the diff that the first line of the thread starts on (multi-line only) """ - actorIp: String + startDiffSide: DiffSide """ - A readable representation of the actor's location + The line of the first file diff in the thread. """ - actorLocation: ActorLocation + startLine: Int """ - The username of the user who initiated the action + The level at which the comments in the corresponding thread are targeted, can be a diff line or a file """ - actorLogin: String + subjectType: PullRequestReviewThreadSubjectType! """ - The HTTP path for the actor. + Indicates whether the current viewer can reply to this thread. """ - actorResourcePath: URI + viewerCanReply: Boolean! """ - The HTTP URL for the actor. + Whether or not the viewer can resolve this thread """ - actorUrl: URI + viewerCanResolve: Boolean! """ - The time the action was initiated + Whether or not the viewer can unresolve this thread """ - createdAt: PreciseDateTime! - id: ID! + viewerCanUnresolve: Boolean! +} +""" +The connection type for PullRequestTimelineItem. +""" +type PullRequestTimelineConnection { """ - The corresponding operation type for the action + A list of edges. """ - operationType: OperationType + edges: [PullRequestTimelineItemEdge] """ - The Organization associated with the Audit Entry. + A list of nodes. """ - organization: Organization + nodes: [PullRequestTimelineItem] """ - The name of the Organization. + Information to aid in pagination. """ - organizationName: String + pageInfo: PageInfo! """ - The HTTP path for the organization + Identifies the total count of items in the connection. """ - organizationResourcePath: URI + totalCount: Int! +} - """ - The HTTP URL for the organization - """ - organizationUrl: 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 +""" +An edge in a connection. +""" +type PullRequestTimelineItemEdge { """ - The repository associated with the action + A cursor for use in pagination. """ - repository: Repository + cursor: String! """ - The name of the repository + The item at the end of the edge. """ - repositoryName: String + node: PullRequestTimelineItem +} + +""" +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 connection type for PullRequestTimelineItems. +""" +type PullRequestTimelineItemsConnection { """ - The HTTP path for the repository + A list of edges. """ - repositoryResourcePath: URI + edges: [PullRequestTimelineItemsEdge] """ - The HTTP URL for the repository + Identifies the count of items after applying `before` and `after` filters. """ - repositoryUrl: URI + filteredCount: Int! """ - The user affected by the action + A list of nodes. """ - user: User + 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. + Information to aid in pagination. """ - userResourcePath: URI + pageInfo: PageInfo! """ - The HTTP URL for the user. + Identifies the total count of items in the connection. """ - userUrl: URI + totalCount: Int! """ - The visibility of the repository + Identifies the date and time when the timeline was last updated. """ - visibility: RepoAddMemberAuditEntryVisibility + updatedAt: DateTime! } """ -The privacy of a repository +An edge in a connection. """ -enum RepoAddMemberAuditEntryVisibility { - """ - The repository is visible only to users in the same business. - """ - INTERNAL - +type PullRequestTimelineItemsEdge { """ - The repository is visible only to those with explicit access. + A cursor for use in pagination. """ - PRIVATE + cursor: String! """ - The repository is visible to everyone. + The item at the end of the edge. """ - PUBLIC + node: PullRequestTimelineItems } """ -Audit log entry for a repo.add_topic event. +The possible item types found in a timeline. """ -type RepoAddTopicAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData & TopicAuditEntryData { +enum PullRequestTimelineItemsItemType { """ - The action name + Represents an 'added_to_merge_queue' event on a given pull request. """ - action: String! + ADDED_TO_MERGE_QUEUE_EVENT """ - The user who initiated the action + Represents a 'added_to_project' event on a given issue or pull request. """ - actor: AuditEntryActor + ADDED_TO_PROJECT_EVENT """ - The IP address of the actor + Represents an 'assigned' event on any assignable object. """ - actorIp: String + ASSIGNED_EVENT """ - A readable representation of the actor's location + Represents a 'automatic_base_change_failed' event on a given pull request. """ - actorLocation: ActorLocation + AUTOMATIC_BASE_CHANGE_FAILED_EVENT """ - The username of the user who initiated the action + Represents a 'automatic_base_change_succeeded' event on a given pull request. """ - actorLogin: String + AUTOMATIC_BASE_CHANGE_SUCCEEDED_EVENT """ - The HTTP path for the actor. + Represents a 'auto_merge_disabled' event on a given pull request. """ - actorResourcePath: URI + AUTO_MERGE_DISABLED_EVENT """ - The HTTP URL for the actor. + Represents a 'auto_merge_enabled' event on a given pull request. """ - actorUrl: URI + AUTO_MERGE_ENABLED_EVENT """ - The time the action was initiated + Represents a 'auto_rebase_enabled' event on a given pull request. """ - createdAt: PreciseDateTime! - id: ID! + AUTO_REBASE_ENABLED_EVENT """ - The corresponding operation type for the action + Represents a 'auto_squash_enabled' event on a given pull request. """ - operationType: OperationType + AUTO_SQUASH_ENABLED_EVENT """ - The Organization associated with the Audit Entry. + Represents a 'base_ref_changed' event on a given issue or pull request. """ - organization: Organization + BASE_REF_CHANGED_EVENT """ - The name of the Organization. + Represents a 'base_ref_deleted' event on a given pull request. """ - organizationName: String + BASE_REF_DELETED_EVENT """ - The HTTP path for the organization + Represents a 'base_ref_force_pushed' event on a given pull request. """ - organizationResourcePath: URI + BASE_REF_FORCE_PUSHED_EVENT """ - The HTTP URL for the organization + Represents a 'closed' event on any `Closable`. """ - organizationUrl: URI + CLOSED_EVENT """ - The repository associated with the action + Represents a 'comment_deleted' event on a given issue or pull request. """ - repository: Repository + COMMENT_DELETED_EVENT """ - The name of the repository + Represents a 'connected' event on a given issue or pull request. """ - repositoryName: String + CONNECTED_EVENT """ - The HTTP path for the repository + Represents a 'converted_note_to_issue' event on a given issue or pull request. """ - repositoryResourcePath: URI + CONVERTED_NOTE_TO_ISSUE_EVENT """ - The HTTP URL for the repository + Represents a 'converted_to_discussion' event on a given issue. """ - repositoryUrl: URI + CONVERTED_TO_DISCUSSION_EVENT """ - The name of the topic added to the repository + Represents a 'convert_to_draft' event on a given pull request. """ - topic: Topic + CONVERT_TO_DRAFT_EVENT """ - The name of the topic added to the repository + Represents a mention made by one issue or pull request to another. """ - topicName: String + CROSS_REFERENCED_EVENT """ - The user affected by the action + Represents a 'demilestoned' event on a given issue or pull request. """ - user: User + DEMILESTONED_EVENT """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Represents a 'deployed' event on a given pull request. """ - userLogin: String + DEPLOYED_EVENT """ - The HTTP path for the user. + Represents a 'deployment_environment_changed' event on a given pull request. """ - userResourcePath: URI + DEPLOYMENT_ENVIRONMENT_CHANGED_EVENT """ - The HTTP URL for the user. + Represents a 'disconnected' event on a given issue or pull request. """ - userUrl: URI -} + DISCONNECTED_EVENT -""" -Audit log entry for a repo.archived event. -""" -type RepoArchivedAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + Represents a 'head_ref_deleted' event on a given pull request. """ - action: String! + HEAD_REF_DELETED_EVENT """ - The user who initiated the action + Represents a 'head_ref_force_pushed' event on a given pull request. """ - actor: AuditEntryActor + HEAD_REF_FORCE_PUSHED_EVENT """ - The IP address of the actor + Represents a 'head_ref_restored' event on a given pull request. """ - actorIp: String + HEAD_REF_RESTORED_EVENT """ - A readable representation of the actor's location + Represents a comment on an Issue. """ - actorLocation: ActorLocation + ISSUE_COMMENT """ - The username of the user who initiated the action + Represents a 'labeled' event on a given issue or pull request. """ - actorLogin: String + LABELED_EVENT """ - The HTTP path for the actor. + Represents a 'locked' event on a given issue or pull request. """ - actorResourcePath: URI + LOCKED_EVENT """ - The HTTP URL for the actor. + Represents a 'marked_as_duplicate' event on a given issue or pull request. """ - actorUrl: URI + MARKED_AS_DUPLICATE_EVENT """ - The time the action was initiated + Represents a 'mentioned' event on a given issue or pull request. """ - createdAt: PreciseDateTime! - id: ID! + MENTIONED_EVENT """ - The corresponding operation type for the action + Represents a 'merged' event on a given pull request. """ - operationType: OperationType + MERGED_EVENT """ - The Organization associated with the Audit Entry. + Represents a 'milestoned' event on a given issue or pull request. """ - organization: Organization + MILESTONED_EVENT """ - The name of the Organization. + Represents a 'moved_columns_in_project' event on a given issue or pull request. """ - organizationName: String + MOVED_COLUMNS_IN_PROJECT_EVENT """ - The HTTP path for the organization + Represents a 'pinned' event on a given issue or pull request. """ - organizationResourcePath: URI + PINNED_EVENT """ - The HTTP URL for the organization + Represents a Git commit part of a pull request. """ - organizationUrl: URI + PULL_REQUEST_COMMIT """ - The repository associated with the action + Represents a commit comment thread part of a pull request. """ - repository: Repository + PULL_REQUEST_COMMIT_COMMENT_THREAD """ - The name of the repository + A review object for a given pull request. """ - repositoryName: String + PULL_REQUEST_REVIEW """ - The HTTP path for the repository + A threaded list of comments for a given pull request. """ - repositoryResourcePath: URI + PULL_REQUEST_REVIEW_THREAD """ - The HTTP URL for the repository + Represents the latest point in the pull request timeline for which the viewer has seen the pull request's commits. """ - repositoryUrl: URI + PULL_REQUEST_REVISION_MARKER """ - The user affected by the action + Represents a 'ready_for_review' event on a given pull request. """ - user: User + READY_FOR_REVIEW_EVENT """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Represents a 'referenced' event on a given `ReferencedSubject`. """ - userLogin: String + REFERENCED_EVENT """ - The HTTP path for the user. + Represents a 'removed_from_merge_queue' event on a given pull request. """ - userResourcePath: URI + REMOVED_FROM_MERGE_QUEUE_EVENT """ - The HTTP URL for the user. + Represents a 'removed_from_project' event on a given issue or pull request. """ - userUrl: URI + REMOVED_FROM_PROJECT_EVENT """ - The visibility of the repository + Represents a 'renamed' event on a given issue or pull request """ - visibility: RepoArchivedAuditEntryVisibility -} + RENAMED_TITLE_EVENT -""" -The privacy of a repository -""" -enum RepoArchivedAuditEntryVisibility { """ - The repository is visible only to users in the same business. + Represents a 'reopened' event on any `Closable`. """ - INTERNAL + REOPENED_EVENT """ - The repository is visible only to those with explicit access. + Represents a 'review_dismissed' event on a given issue or pull request. """ - PRIVATE + REVIEW_DISMISSED_EVENT """ - The repository is visible to everyone. + Represents an 'review_requested' event on a given pull request. """ - PUBLIC -} + REVIEW_REQUESTED_EVENT -""" -Audit log entry for a repo.change_merge_setting event. -""" -type RepoChangeMergeSettingAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + Represents an 'review_request_removed' event on a given pull request. """ - action: String! + REVIEW_REQUEST_REMOVED_EVENT """ - The user who initiated the action + Represents a 'subscribed' event on a given `Subscribable`. """ - actor: AuditEntryActor + SUBSCRIBED_EVENT """ - The IP address of the actor + Represents a 'transferred' event on a given issue or pull request. """ - actorIp: String + TRANSFERRED_EVENT """ - A readable representation of the actor's location + Represents an 'unassigned' event on any assignable object. """ - actorLocation: ActorLocation + UNASSIGNED_EVENT """ - The username of the user who initiated the action + Represents an 'unlabeled' event on a given issue or pull request. """ - actorLogin: String + UNLABELED_EVENT """ - The HTTP path for the actor. + Represents an 'unlocked' event on a given issue or pull request. """ - actorResourcePath: URI + UNLOCKED_EVENT """ - The HTTP URL for the actor. + Represents an 'unmarked_as_duplicate' event on a given issue or pull request. """ - actorUrl: URI + UNMARKED_AS_DUPLICATE_EVENT """ - The time the action was initiated + Represents an 'unpinned' event on a given issue or pull request. """ - createdAt: PreciseDateTime! - id: ID! + UNPINNED_EVENT """ - Whether the change was to enable (true) or disable (false) the merge type + Represents an 'unsubscribed' event on a given `Subscribable`. """ - isEnabled: Boolean + UNSUBSCRIBED_EVENT """ - The merge method affected by the change + Represents a 'user_blocked' event on a given user. """ - mergeType: RepoChangeMergeSettingAuditEntryMergeType + USER_BLOCKED_EVENT +} +""" +The possible target states when updating a pull request. +""" +enum PullRequestUpdateState { """ - The corresponding operation type for the action + A pull request that has been closed without being merged. """ - operationType: OperationType + CLOSED """ - The Organization associated with the Audit Entry. + A pull request that is still open. """ - organization: Organization + OPEN +} + +""" +A Git push. +""" +type Push implements Node { + id: ID! """ - The name of the Organization. + The SHA after the push """ - organizationName: String + nextSha: GitObjectID """ - The HTTP path for the organization + The permalink for this push. """ - organizationResourcePath: URI + permalink: URI! """ - The HTTP URL for the organization + The SHA before the push """ - organizationUrl: URI + previousSha: GitObjectID """ - The repository associated with the action + The actor who pushed """ - repository: Repository + pusher: Actor! """ - The name of the repository + The repository that was pushed to """ - repositoryName: String + repository: Repository! +} +""" +A team, user, or app who has the ability to push to a protected branch. +""" +type PushAllowance implements Node { """ - The HTTP path for the repository + The actor that can push. """ - repositoryResourcePath: URI + actor: PushAllowanceActor """ - The HTTP URL for the repository + Identifies the branch protection rule associated with the allowed user, team, or app. """ - repositoryUrl: URI + branchProtectionRule: BranchProtectionRule + id: ID! +} + +""" +Types that can be an actor. +""" +union PushAllowanceActor = App | Team | User +""" +The connection type for PushAllowance. +""" +type PushAllowanceConnection { """ - The user affected by the action + A list of edges. """ - user: User + edges: [PushAllowanceEdge] """ - For actions involving two users, the actor is the initiator and the user is the affected user. + A list of nodes. """ - userLogin: String + nodes: [PushAllowance] """ - The HTTP path for the user. + Information to aid in pagination. """ - userResourcePath: URI + pageInfo: PageInfo! """ - The HTTP URL for the user. + Identifies the total count of items in the connection. """ - userUrl: URI + totalCount: Int! } """ -The merge options available for pull requests to this repository. +An edge in a connection. """ -enum RepoChangeMergeSettingAuditEntryMergeType { - """ - The pull request is added to the base branch in a merge commit. - """ - MERGE - +type PushAllowanceEdge { """ - Commits from the pull request are added onto the base branch individually without a merge commit. + A cursor for use in pagination. """ - REBASE + cursor: String! """ - The pull request's commits are squashed into a single commit before they are merged to the base branch. + The item at the end of the edge. """ - SQUASH + node: PushAllowance } """ -Audit log entry for a repo.config.disable_anonymous_git_access event. +The query root of GitHub's GraphQL interface. """ -type RepoConfigDisableAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { - """ - The action name - """ - action: String! - +type Query { """ - The user who initiated the action + Look up a code of conduct by its key + """ + codeOfConduct( + """ + The code of conduct's key + """ + key: String! + ): CodeOfConduct + + """ + Look up a code of conduct by its key + """ + codesOfConduct: [CodeOfConduct] + + """ + Look up an enterprise by URL slug. + """ + enterprise( + """ + The enterprise invitation token. + """ + invitationToken: String + + """ + The enterprise URL slug. + """ + slug: String! + ): Enterprise + + """ + Look up a pending enterprise administrator invitation by invitee, enterprise and role. + """ + enterpriseAdministratorInvitation( + """ + The slug of the enterprise the user was invited to join. + """ + enterpriseSlug: String! + + """ + The role for the business member invitation. + """ + role: EnterpriseAdministratorRole! + + """ + The login of the user invited to join the business. + """ + userLogin: String! + ): 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( + """ + Exclude categories with no listings. + """ + excludeEmpty: Boolean + + """ + Returns top level categories only, excluding any subcategories. + """ + excludeSubcategories: Boolean + + """ + Return only the specified categories. + """ + includeCategories: [String!] + ): [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( + """ + Select listings that can be administered by the specified user. + """ + adminId: ID + + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Select listings visible to the viewer even if they are not approved. If omitted or + false, only approved listings will be returned. + """ + allStates: Boolean + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Select only listings with the given category. + """ + categorySlug: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Select listings for products owned by the specified organization. + """ + organizationId: ID + + """ + Select only listings where the primary category matches the given category slug. + """ + primaryCategoryOnly: Boolean = false + + """ + Select the listings with these slugs, if they are visible to the viewer. + """ + slugs: [String] + + """ + Also check topic aliases for the category slug + """ + useTopicAliases: Boolean + + """ + Select listings to which user has admin access. If omitted, listings visible to the + viewer are returned. + """ + viewerCanAdmin: Boolean + + """ + Select only listings that offer a free trial. + """ + withFreeTrialsOnly: Boolean = false + ): MarketplaceListingConnection! + + """ + Return information about the GitHub instance + """ + meta: GitHubMetadata! + + """ + Fetches an object given its ID. + """ + node( + """ + ID of the object. + """ + id: ID! + ): Node + + """ + Lookup nodes by a list of IDs. + """ + nodes( + """ + The list of node IDs. + """ + ids: [ID!]! + ): [Node]! + + """ + Lookup a organization by login. + """ + organization( + """ + The organization's login. + """ + login: String! + ): Organization + + """ + The client's rate limit information. + """ + rateLimit( + """ + If true, calculate the cost for the query without evaluating it + """ + dryRun: Boolean = false + ): RateLimit + + """ + Workaround for re-exposing the root query object. (Refer to + https://github.com/facebook/relay/issues/112 for more information.) + """ + relay: Query! + + """ + Lookup a given repository by the owner and repository name. + """ + repository( + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + + """ + The name of the repository + """ + name: String! + + """ + The login field of a user or organization + """ + owner: String! + ): Repository + + """ + Lookup a repository owner (ie. either a User or an Organization) by login. + """ + repositoryOwner( + """ + The username to lookup the owner by. + """ + login: String! + ): RepositoryOwner + + """ + Lookup resource by a URL. + """ + resource( + """ + The URL. + """ + url: URI! + ): UniformResourceLocatable + + """ + Perform a search across resources, returning a maximum of 1,000 results. + """ + search( + """ + 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 search string to look for. + """ + query: String! + + """ + The types of search items to search within. + """ + type: SearchType! + ): SearchResultItemConnection! + + """ + GitHub Security Advisories + """ + securityAdvisories( + """ + 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 list of classifications to filter advisories by. + """ + classifications: [SecurityAdvisoryClassification!] + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Filter advisories by identifier, e.g. GHSA or CVE. + """ + identifier: SecurityAdvisoryIdentifierFilter + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for the returned topics. + """ + orderBy: SecurityAdvisoryOrder = {field: UPDATED_AT, direction: DESC} + + """ + Filter advisories to those published since a time in the past. + """ + publishedSince: DateTime + + """ + Filter advisories to those updated since a time in the past. + """ + updatedSince: DateTime + ): SecurityAdvisoryConnection! + + """ + Fetch a Security Advisory by its GHSA ID + """ + securityAdvisory( + """ + GitHub Security Advisory ID. + """ + ghsaId: String! + ): SecurityAdvisory + + """ + Software Vulnerabilities documented by GitHub Security Advisories + """ + securityVulnerabilities( + """ + 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 list of advisory classifications to filter vulnerabilities by. + """ + classifications: [SecurityAdvisoryClassification!] + + """ + An ecosystem to filter vulnerabilities by. + """ + ecosystem: SecurityAdvisoryEcosystem + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for the returned topics. + """ + orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} + + """ + A package name to filter vulnerabilities by. + """ + package: String + + """ + A list of severities to filter vulnerabilities by. + """ + severities: [SecurityAdvisorySeverity!] + ): SecurityVulnerabilityConnection! + + """ + 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 + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + 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 + + """ + 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 + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + 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 + + """ + Ordering options for users and organizations returned from the connection. + """ + orderBy: SponsorableOrder = {field: LOGIN, direction: ASC} + + """ + 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 + ): SponsorableItemConnection! + + """ + Look up a topic by name. + """ + topic( + """ + The topic's name. + """ + name: String! + ): Topic + + """ + Lookup a user by login. + """ + user( + """ + The user's login. + """ + login: String! + ): User + + """ + The currently authenticated user. + """ + viewer: User! +} + +""" +Represents the client's rate limit. +""" +type RateLimit { + """ + The point cost for the current query counting against the rate limit. + """ + cost: Int! + + """ + The maximum number of points the client is permitted to consume in a 60 minute window. + """ + limit: Int! + + """ + The maximum number of nodes this query may return + """ + nodeCount: Int! + + """ + The number of points remaining in the current rate limit window. + """ + remaining: Int! + + """ + The time at which the current rate limit window resets in UTC epoch seconds. + """ + resetAt: DateTime! + + """ + The number of points used in the current rate limit window. + """ + used: Int! +} + +""" +Represents a subject that can be reacted on. +""" +interface Reactable { + """ + Identifies the primary key from the database. + """ + databaseId: Int + id: ID! + + """ + A list of reactions grouped by content left on the subject. + """ + reactionGroups: [ReactionGroup!] + + """ + A list of Reactions left on the Issue. + """ + reactions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Allows filtering Reactions by emoji. + """ + content: ReactionContent + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Allows specifying the order in which reactions are returned. + """ + orderBy: ReactionOrder + ): ReactionConnection! + + """ + Can user react to this subject + """ + viewerCanReact: Boolean! +} + +""" +The connection type for User. +""" +type ReactingUserConnection { + """ + A list of edges. + """ + edges: [ReactingUserEdge] + + """ + A list of nodes. + """ + nodes: [User] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +Represents a user that's made a reaction. +""" +type ReactingUserEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + node: User! + + """ + The moment when the user made the reaction. + """ + reactedAt: DateTime! +} + +""" +An emoji reaction to a particular piece of content. +""" +type Reaction implements Node { + """ + Identifies the emoji reaction. + """ + content: ReactionContent! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + id: ID! + + """ + The reactable piece of content + """ + reactable: Reactable! + + """ + Identifies the user who created this reaction. + """ + user: User +} + +""" +A list of reactions that have been left on the subject. +""" +type ReactionConnection { + """ + A list of edges. + """ + edges: [ReactionEdge] + + """ + A list of nodes. + """ + nodes: [Reaction] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! + + """ + Whether or not the authenticated user has left a reaction on the subject. + """ + viewerHasReacted: Boolean! +} + +""" +Emojis that can be attached to Issues, Pull Requests and Comments. +""" +enum ReactionContent { + """ + Represents the `:confused:` emoji. + """ + CONFUSED + + """ + Represents the `:eyes:` emoji. + """ + EYES + + """ + Represents the `:heart:` emoji. + """ + HEART + + """ + Represents the `:hooray:` emoji. + """ + HOORAY + + """ + Represents the `:laugh:` emoji. + """ + LAUGH + + """ + Represents the `:rocket:` emoji. + """ + ROCKET + + """ + Represents the `:-1:` emoji. + """ + THUMBS_DOWN + + """ + Represents the `:+1:` emoji. + """ + THUMBS_UP +} + +""" +An edge in a connection. +""" +type ReactionEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Reaction +} + +""" +A group of emoji reactions to a particular piece of content. +""" +type ReactionGroup { + """ + Identifies the emoji reaction. + """ + content: ReactionContent! + + """ + Identifies when the reaction was created. + """ + createdAt: DateTime + + """ + Reactors to the reaction subject with the emotion represented by this reaction group. + """ + reactors( + """ + 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 + ): ReactorConnection! + + """ + The subject that was reacted to. + """ + subject: Reactable! + + """ + Users who have reacted to the reaction subject with the emotion represented by this reaction group + """ + users( + """ + Returns the elements in the list that come after the specified 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 + ): ReactingUserConnection! + @deprecated( + reason: "Reactors can now be mannequins, bots, and organizations. Use the `reactors` field instead. Removal on 2021-10-01 UTC." + ) + + """ + Whether or not the authenticated user has left a reaction on the subject. + """ + viewerHasReacted: Boolean! +} + +""" +Ways in which lists of reactions can be ordered upon return. +""" +input ReactionOrder { + """ + The direction in which to order reactions by the specified field. + """ + direction: OrderDirection! + + """ + The field in which to order reactions by. + """ + field: ReactionOrderField! +} + +""" +A list of fields that reactions can be ordered by. +""" +enum ReactionOrderField { + """ + Allows ordering a list of reactions by when they were created. + """ + CREATED_AT +} + +""" +Types that can be assigned to reactions. +""" +union Reactor = Bot | Mannequin | Organization | User + +""" +The connection type for Reactor. +""" +type ReactorConnection { + """ + A list of edges. + """ + edges: [ReactorEdge] + + """ + A list of nodes. + """ + nodes: [Reactor] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +Represents an author of a reaction. +""" +type ReactorEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The author of the reaction. + """ + node: Reactor! + + """ + The moment when the user made the reaction. + """ + reactedAt: DateTime! +} + +""" +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 + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + id: ID! + + """ + 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( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + The base ref name to filter the pull requests by. + """ + baseRefName: String + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + The head ref name to filter the pull requests by. + """ + headRefName: String + + """ + A list of label names to filter the pull requests by. + """ + labels: [String!] + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for pull requests returned from the connection. + """ + orderBy: IssueOrder + + """ + A list of states to filter the pull requests by. + """ + states: [PullRequestState!] + ): PullRequestConnection! + + """ + Branch protection rules for this ref + """ + branchProtectionRule: BranchProtectionRule + + """ + 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! + + """ + The ref name. + """ + name: String! + + """ + The ref's prefix, such as `refs/heads/` or `refs/tags/`. + """ + prefix: String! + + """ + Branch protection rules that are viewable by non-admins + """ + refUpdateRule: RefUpdateRule + + """ + The repository the ref belongs to. + """ + repository: Repository! + + """ + The object the ref points to. Returns null when object does not exist. + """ + target: GitObject +} + +""" +The connection type for Ref. +""" +type RefConnection { + """ + A list of edges. + """ + edges: [RefEdge] + + """ + A list of nodes. + """ + nodes: [Ref] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type RefEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Ref +} + +""" +Parameters to be used for the ref_name condition +""" +type RefNameConditionTarget { + """ + Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. + """ + exclude: [String!]! + + """ + Array of ref names or patterns to include. One of these patterns must match + for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the + default branch or `~ALL` to include all branches. + """ + include: [String!]! +} + +""" +Parameters to be used for the ref_name condition +""" +input RefNameConditionTargetInput { + """ + Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. + """ + exclude: [String!]! + + """ + Array of ref names or patterns to include. One of these patterns must match + for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the + default branch or `~ALL` to include all branches. + """ + include: [String!]! +} + +""" +Ways in which lists of git refs can be ordered upon return. +""" +input RefOrder { + """ + The direction in which to order refs by the specified field. + """ + direction: OrderDirection! + + """ + The field in which to order refs by. + """ + field: RefOrderField! +} + +""" +Properties by which ref connections can be ordered. +""" +enum RefOrderField { + """ + Order refs by their alphanumeric name + """ + ALPHABETICAL + + """ + Order refs by underlying commit date if the ref prefix is refs/tags/ + """ + TAG_COMMIT_DATE +} + +""" +A ref update +""" +input RefUpdate @preview(toggledBy: "update-refs-preview") { + """ + The value this ref should be updated to. + """ + afterOid: GitObjectID! + + """ + The value this ref needs to point to before the update. + """ + beforeOid: GitObjectID + + """ + Force a non fast-forward update. + """ + force: Boolean = false + + """ + The fully qualified name of the ref to be update. For example `refs/heads/branch-name` + """ + name: GitRefname! +} + +""" +A ref update rules for a viewer. +""" +type RefUpdateRule { + """ + Can this branch be deleted. + """ + allowsDeletions: Boolean! + + """ + Are force pushes allowed on this branch. + """ + allowsForcePushes: Boolean! + + """ + Can matching branches be created. + """ + blocksCreations: Boolean! + + """ + Identifies the protection rule pattern. + """ + pattern: String! + + """ + Number of approving reviews required to update matching branches. + """ + requiredApprovingReviewCount: Int + + """ + List of required status check contexts that must pass for commits to be accepted to matching branches. + """ + requiredStatusCheckContexts: [String] + + """ + Are reviews from code owners required to update matching branches. + """ + requiresCodeOwnerReviews: Boolean! + + """ + Are conversations required to be resolved before merging. + """ + requiresConversationResolution: Boolean! + + """ + Are merge commits prohibited from being pushed to this branch. + """ + requiresLinearHistory: Boolean! + + """ + Are commits required to be signed. + """ + requiresSignatures: Boolean! + + """ + Is the viewer allowed to dismiss reviews. + """ + viewerAllowedToDismissReviews: Boolean! + + """ + Can the viewer push to the branch + """ + viewerCanPush: Boolean! +} + +""" +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! + + """ + Checks if the commit message itself references the subject. Can be false in the case of a commit comment reference. + """ + isDirectReference: Boolean! + + """ + Object referenced by event. + """ + subject: ReferencedSubject! +} + +""" +Any referencable object +""" +union ReferencedSubject = Issue | PullRequest + +""" +Autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes +""" +input RegenerateEnterpriseIdentityProviderRecoveryCodesInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise on which to set an identity provider. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) +} + +""" +Autogenerated return type of RegenerateEnterpriseIdentityProviderRecoveryCodes +""" +type RegenerateEnterpriseIdentityProviderRecoveryCodesPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The identity provider for the enterprise. + """ + identityProvider: EnterpriseIdentityProvider +} + +""" +Autogenerated input type of RegenerateVerifiableDomainToken +""" +input RegenerateVerifiableDomainTokenInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the verifiable domain to regenerate the verification token of. + """ + id: ID! @possibleTypes(concreteTypes: ["VerifiableDomain"]) +} + +""" +Autogenerated return type of RegenerateVerifiableDomainToken +""" +type RegenerateVerifiableDomainTokenPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The verification token that was generated. + """ + verificationToken: String +} + +""" +Autogenerated input type of RejectDeployments +""" +input RejectDeploymentsInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Optional comment for rejecting deployments + """ + comment: String = "" + + """ + The ids of environments to reject deployments + """ + environmentIds: [ID!]! + + """ + The node ID of the workflow run containing the pending deployments. + """ + workflowRunId: ID! @possibleTypes(concreteTypes: ["WorkflowRun"]) +} + +""" +Autogenerated return type of RejectDeployments +""" +type RejectDeploymentsPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The affected deployments. + """ + deployments: [Deployment!] +} + +""" +A release contains the content for a release. +""" +type Release implements Node & Reactable & UniformResourceLocatable { + """ + The author of the release + """ + author: User + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + + """ + The description of the release. + """ + description: String + + """ + The description of this release rendered to HTML. + """ + descriptionHTML: HTML + id: ID! + + """ + Whether or not the release is a draft + """ + isDraft: Boolean! + + """ + Whether or not the release is the latest releast + """ + isLatest: Boolean! + + """ + Whether or not the release is a prerelease + """ + isPrerelease: Boolean! + + """ + A list of users mentioned in the release description + """ + mentions( + """ + 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 title of the release. + """ + name: String + + """ + Identifies the date and time when the release was created. + """ + 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 + + """ + Allows filtering Reactions by emoji. + """ + content: ReactionContent + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Allows specifying the order in which reactions are returned. + """ + orderBy: ReactionOrder + ): ReactionConnection! + + """ + 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 + + """ + 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 names to filter the assets by. + """ + name: String + ): ReleaseAssetConnection! + + """ + The repository that the release belongs to. + """ + repository: Repository! + + """ + The HTTP path for this issue + """ + resourcePath: URI! + + """ + A description of the release, rendered to HTML without any links in it. + """ + shortDescriptionHTML( + """ + How many characters to return. + """ + limit: Int = 200 + ): HTML + + """ + The Git tag the release points to + """ + tag: Ref + + """ + The tag commit for this release. + """ + tagCommit: Commit + + """ + The name of the release's Git tag + """ + tagName: String! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + + """ + The HTTP URL for this issue + """ + url: URI! + + """ + Can user react to this subject + """ + viewerCanReact: Boolean! +} + +""" +A release asset contains the content for a release asset. +""" +type ReleaseAsset implements Node { + """ + The asset's content-type + """ + contentType: String! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The number of times this asset was downloaded + """ + downloadCount: Int! + + """ + Identifies the URL where you can download the release asset via the browser. + """ + downloadUrl: URI! + id: ID! + + """ + Identifies the title of the release asset. + """ + name: String! + + """ + Release that the asset is associated with + """ + release: Release + + """ + The size (in bytes) of the asset + """ + size: Int! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + + """ + The user that performed the upload + """ + uploadedBy: User! + + """ + Identifies the URL of the release asset. + """ + url: URI! +} + +""" +The connection type for ReleaseAsset. +""" +type ReleaseAssetConnection { + """ + A list of edges. + """ + edges: [ReleaseAssetEdge] + + """ + A list of nodes. + """ + nodes: [ReleaseAsset] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type ReleaseAssetEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ReleaseAsset +} + +""" +The connection type for Release. +""" +type ReleaseConnection { + """ + A list of edges. + """ + edges: [ReleaseEdge] + + """ + A list of nodes. + """ + nodes: [Release] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type ReleaseEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: Release +} + +""" +Ways in which lists of releases can be ordered upon return. +""" +input ReleaseOrder { + """ + The direction in which to order releases by the specified field. + """ + direction: OrderDirection! + + """ + The field in which to order releases by. + """ + field: ReleaseOrderField! +} + +""" +Properties by which release connections can be ordered. +""" +enum ReleaseOrderField { + """ + Order releases by creation time + """ + CREATED_AT + + """ + Order releases alphabetically by name + """ + NAME +} + +""" +Autogenerated input type of RemoveAssigneesFromAssignable +""" +input RemoveAssigneesFromAssignableInput { + """ + The id of the assignable object to remove assignees from. + """ + assignableId: ID! @possibleTypes(concreteTypes: ["Issue", "PullRequest"], abstractType: "Assignable") + + """ + The id of users to remove as assignees. + """ + assigneeIds: [ID!]! @possibleTypes(concreteTypes: ["User"]) + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String +} + +""" +Autogenerated return type of RemoveAssigneesFromAssignable +""" +type RemoveAssigneesFromAssignablePayload { + """ + The item that was unassigned. + """ + assignable: Assignable + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String +} + +""" +Autogenerated input type of RemoveEnterpriseAdmin +""" +input RemoveEnterpriseAdminInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Enterprise ID from which to remove the administrator. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The login of the user to remove as an administrator. + """ + login: String! +} + +""" +Autogenerated return type of RemoveEnterpriseAdmin +""" +type RemoveEnterpriseAdminPayload { + """ + The user who was removed as an administrator. + """ + admin: User + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The updated enterprise. + """ + enterprise: Enterprise + + """ + A message confirming the result of removing an administrator. + """ + message: String + + """ + The viewer performing the mutation. + """ + viewer: User +} + +""" +Autogenerated input type of RemoveEnterpriseIdentityProvider +""" +input RemoveEnterpriseIdentityProviderInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise from which to remove the identity provider. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) +} + +""" +Autogenerated return type of RemoveEnterpriseIdentityProvider +""" +type RemoveEnterpriseIdentityProviderPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The identity provider that was removed from the enterprise. + """ + identityProvider: EnterpriseIdentityProvider +} + +""" +Autogenerated input type of RemoveEnterpriseMember +""" +input RemoveEnterpriseMemberInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise from which the user should be removed. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The ID of the user to remove from the enterprise. + """ + userId: ID! @possibleTypes(concreteTypes: ["User"]) +} + +""" +Autogenerated return type of RemoveEnterpriseMember +""" +type RemoveEnterpriseMemberPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The updated enterprise. + """ + enterprise: Enterprise + + """ + The user that was removed from the enterprise. + """ + user: User + + """ + The viewer performing the mutation. + """ + viewer: User +} + +""" +Autogenerated input type of RemoveEnterpriseOrganization +""" +input RemoveEnterpriseOrganizationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise from which the organization should be removed. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The ID of the organization to remove from the enterprise. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +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 +} + +""" +Autogenerated input type of RemoveEnterpriseSupportEntitlement +""" +input RemoveEnterpriseSupportEntitlementInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Enterprise which the admin belongs to. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The login of a member who will lose the support entitlement. + """ + login: String! +} + +""" +Autogenerated return type of RemoveEnterpriseSupportEntitlement +""" +type RemoveEnterpriseSupportEntitlementPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + A message confirming the result of removing the support entitlement. + """ + message: String +} + +""" +Autogenerated input type of RemoveLabelsFromLabelable +""" +input RemoveLabelsFromLabelableInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ids of labels to remove. + """ + labelIds: [ID!]! @possibleTypes(concreteTypes: ["Label"]) + + """ + The id of the Labelable to remove labels from. + """ + labelableId: ID! @possibleTypes(concreteTypes: ["Discussion", "Issue", "PullRequest"], abstractType: "Labelable") +} + +""" +Autogenerated return type of RemoveLabelsFromLabelable +""" +type RemoveLabelsFromLabelablePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Labelable the labels were removed from. + """ + labelable: Labelable +} + +""" +Autogenerated input type of RemoveOutsideCollaborator +""" +input RemoveOutsideCollaboratorInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the organization to remove the outside collaborator from. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) + + """ + The ID of the outside collaborator to remove. + """ + userId: ID! @possibleTypes(concreteTypes: ["User"]) +} + +""" +Autogenerated return type of RemoveOutsideCollaborator +""" +type RemoveOutsideCollaboratorPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The user that was removed as an outside collaborator. + """ + removedUser: User +} + +""" +Autogenerated input type of RemoveReaction +""" +input RemoveReactionInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The name of the emoji reaction to remove. + """ + content: ReactionContent! + + """ + The Node ID of the subject to modify. + """ + subjectId: ID! + @possibleTypes( + concreteTypes: [ + "CommitComment" + "Discussion" + "DiscussionComment" + "Issue" + "IssueComment" + "PullRequest" + "PullRequestReview" + "PullRequestReviewComment" + "Release" + "TeamDiscussion" + "TeamDiscussionComment" + ] + abstractType: "Reactable" + ) +} + +""" +Autogenerated return type of RemoveReaction +""" +type RemoveReactionPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The reaction object. + """ + reaction: Reaction + + """ + The reaction groups for the subject. + """ + reactionGroups: [ReactionGroup!] + + """ + The reactable subject. + """ + subject: Reactable +} + +""" +Autogenerated input type of RemoveStar +""" +input RemoveStarInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Starrable ID to unstar. + """ + starrableId: ID! @possibleTypes(concreteTypes: ["Gist", "Repository", "Topic"], abstractType: "Starrable") +} + +""" +Autogenerated return type of RemoveStar +""" +type RemoveStarPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The starrable. + """ + starrable: Starrable +} + +""" +Autogenerated input type of RemoveUpvote +""" +input RemoveUpvoteInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The Node ID of the discussion or comment to remove upvote. + """ + subjectId: ID! @possibleTypes(concreteTypes: ["Discussion", "DiscussionComment"], abstractType: "Votable") +} + +""" +Autogenerated return type of RemoveUpvote +""" +type RemoveUpvotePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The votable subject. + """ + subject: Votable +} + +""" +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 + + """ + Identifies the before commit SHA for the 'removed_from_merge_queue' event. + """ + 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 +} + +""" +Represents a 'removed_from_project' event on a given issue or pull request. +""" +type RemovedFromProjectEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + id: ID! + + """ + Project referenced by event. + """ + project: Project @preview(toggledBy: "starfox-preview") + + """ + Column name referenced by this project event. + """ + projectColumnName: String! @preview(toggledBy: "starfox-preview") +} + +""" +Represents a 'renamed' event on a given issue or pull request +""" +type RenamedTitleEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the current title of the issue or pull request. + """ + currentTitle: String! + id: ID! + + """ + Identifies the previous title of the issue or pull request. + """ + previousTitle: String! + + """ + Subject that was renamed. + """ + subject: RenamedTitleSubject! +} + +""" +An object which has a renamable title +""" +union RenamedTitleSubject = Issue | PullRequest + +""" +Autogenerated input type of ReopenDiscussion +""" +input ReopenDiscussionInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the discussion to be reopened. + """ + discussionId: ID! @possibleTypes(concreteTypes: ["Discussion"]) +} + +""" +Autogenerated return type of ReopenDiscussion +""" +type ReopenDiscussionPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The discussion that was reopened. + """ + discussion: Discussion +} + +""" +Autogenerated input type of ReopenIssue +""" +input ReopenIssueInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the issue to be opened. + """ + issueId: ID! @possibleTypes(concreteTypes: ["Issue"]) +} + +""" +Autogenerated return type of ReopenIssue +""" +type ReopenIssuePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The issue that was opened. + """ + issue: Issue +} + +""" +Autogenerated input type of ReopenPullRequest +""" +input ReopenPullRequestInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the pull request to be reopened. + """ + pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) +} + +""" +Autogenerated return type of ReopenPullRequest +""" +type ReopenPullRequestPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The pull request that was reopened. + """ + pullRequest: PullRequest +} + +""" +Represents a 'reopened' event on any `Closable`. +""" +type ReopenedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + Object that was reopened. + """ + closable: Closable! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + id: ID! + + """ + The reason the issue state was changed to open. + """ + stateReason: IssueStateReason +} + +""" +Audit log entry for a repo.access event. +""" +type RepoAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI + + """ + The visibility of the repository + """ + visibility: RepoAccessAuditEntryVisibility +} + +""" +The privacy of a repository +""" +enum RepoAccessAuditEntryVisibility { + """ + 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.add_member event. +""" +type RepoAddMemberAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI + + """ + The visibility of the repository + """ + visibility: RepoAddMemberAuditEntryVisibility +} + +""" +The privacy of a repository +""" +enum RepoAddMemberAuditEntryVisibility { + """ + 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.add_topic event. +""" +type RepoAddTopicAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData & TopicAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + 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 repo.archived event. +""" +type RepoArchivedAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI + + """ + The visibility of the repository + """ + visibility: RepoArchivedAuditEntryVisibility +} + +""" +The privacy of a repository +""" +enum RepoArchivedAuditEntryVisibility { + """ + 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.change_merge_setting event. +""" +type RepoChangeMergeSettingAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + Whether the change was to enable (true) or disable (false) the merge type + """ + isEnabled: Boolean + + """ + The merge method affected by the change + """ + mergeType: RepoChangeMergeSettingAuditEntryMergeType + + """ + 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 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 + + """ + 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 + + """ + Commits from the pull request are added onto the base branch individually without a merge commit. + """ + REBASE + + """ + The pull request's commits are squashed into a single commit before they are merged to the base branch. + """ + SQUASH +} + +""" +Audit log entry for a repo.config.disable_anonymous_git_access event. +""" +type RepoConfigDisableAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.disable_collaborators_only event. +""" +type RepoConfigDisableCollaboratorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.disable_contributors_only event. +""" +type RepoConfigDisableContributorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.disable_sockpuppet_disallowed event. +""" +type RepoConfigDisableSockpuppetDisallowedAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.enable_anonymous_git_access event. +""" +type RepoConfigEnableAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.enable_collaborators_only event. +""" +type RepoConfigEnableCollaboratorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.enable_contributors_only event. +""" +type RepoConfigEnableContributorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.enable_sockpuppet_disallowed event. +""" +type RepoConfigEnableSockpuppetDisallowedAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.lock_anonymous_git_access event. +""" +type RepoConfigLockAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.config.unlock_anonymous_git_access event. +""" +type RepoConfigUnlockAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI +} + +""" +Audit log entry for a repo.create event. +""" +type RepoCreateAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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 name of the parent repository for this forked repository. + """ + forkParentName: String + + """ + The name of the root repository for this network. + """ + forkSourceName: String + 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 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 + + """ + 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 + + """ + The repository is visible to everyone. + """ + PUBLIC +} + +""" +Audit log entry for a repo.destroy event. +""" +type RepoDestroyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + The HTTP URL for the user. + """ + userUrl: URI + + """ + The visibility of the repository + """ + visibility: RepoDestroyAuditEntryVisibility +} + +""" +The privacy of a repository +""" +enum RepoDestroyAuditEntryVisibility { + """ + 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_member event. +""" +type RepoRemoveMemberAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { + """ + 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! + + """ + 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 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 + + """ + 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 AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData & TopicAuditEntryData { + """ + The action name + """ + action: String! + + """ + The user who initiated the action """ actor: AuditEntryActor """ - The IP address of the actor + 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 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 + + """ + 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 reasons a piece of content can be reported or minimized. +""" +enum ReportedContentClassifiers { + """ + An abusive or harassing piece of content """ - actorIp: String + ABUSE """ - A readable representation of the actor's location + A duplicated piece of content """ - actorLocation: ActorLocation + DUPLICATE + + """ + An irrelevant piece of content + """ + OFF_TOPIC + + """ + An outdated piece of content + """ + OUTDATED + + """ + The content has been resolved + """ + RESOLVED + + """ + A spammy piece of content + """ + SPAM +} + +""" +A repository contains the content for a project. +""" +type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent & RepositoryInfo & Starrable & Subscribable & UniformResourceLocatable { + """ + 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! + + """ + Identifies the date and time when the repository was archived. + """ + archivedAt: DateTime + + """ + A list of users that can be assigned to issues in this repository. + """ + assignableUsers( + """ + Returns the elements in the list that come after the specified 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 + + """ + Filters users with query on user name and login. + """ + query: String + ): UserConnection! + + """ + Whether or not Auto-merge can be enabled on pull requests in this repository. + """ + autoMergeAllowed: Boolean! + + """ + A list of branch protection rules for this repository. + """ + branchProtectionRules( + """ + 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 + ): BranchProtectionRuleConnection! + + """ + Returns the code of conduct for this repository + """ + codeOfConduct: CodeOfConduct + + """ + Information extracted from the repository's `CODEOWNERS` file. + """ + codeowners( + """ + The ref name used to return the associated `CODEOWNERS` file. + """ + refName: String + ): RepositoryCodeowners + + """ + A list of collaborators associated with the repository. + """ + collaborators( + """ + Collaborators affiliation level with a repository. + """ + affiliation: CollaboratorAffiliation + + """ + Returns the elements in the list that come after the specified 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 login of one specific collaborator. + """ + login: String + + """ + Filters users with query on user name and login + """ + query: String + ): RepositoryCollaboratorConnection + + """ + A list of commit comments associated with the repository. + """ + commitComments( + """ + 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! + + """ + 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 primary key from the database. + """ + databaseId: Int + + """ + The Ref associated with the repository's default branch. + """ + defaultBranchRef: Ref + + """ + Whether or not branches are automatically deleted when merged in this repository. + """ + deleteBranchOnMerge: Boolean! + + """ + A list of dependency manifests contained in the repository + """ + dependencyGraphManifests( + """ + 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 + + """ + Cursor to paginate dependencies + """ + dependenciesAfter: String + + """ + Number of dependencies to fetch + """ + dependenciesFirst: Int + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Flag to scope to only manifests with dependencies + """ + withDependencies: Boolean + ): DependencyGraphManifestConnection @preview(toggledBy: "hawkgirl-preview") + + """ + 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 + + """ + 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 + ): DeployKeyConnection! + + """ + Deployments associated with the repository + """ + deployments( + """ + 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 + + """ + Environments to list deployments for + """ + environments: [String!] + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for deployments returned from the connection. + """ + orderBy: DeploymentOrder = {field: CREATED_AT, direction: ASC} + ): DeploymentConnection! + + """ + The description of the repository. + """ + description: String + + """ + The description of the repository rendered to HTML. + """ + descriptionHTML: HTML! + + """ + Returns a single discussion from the current repository by number. + """ + discussion( + """ + The number for the discussion to be returned. + """ + number: Int! + ): Discussion + + """ + 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 + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Filter by categories that are assignable by the viewer. + """ + filterByAssignable: Boolean = false + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): DiscussionCategoryConnection! + + """ + A discussion category by slug. + """ + discussionCategory( + """ + The slug of the discussion category to be returned. + """ + slug: String! + ): DiscussionCategory + + """ + 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 + + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String + + """ + Only include discussions that belong to the category with this ID. + """ + categoryId: ID = null + + """ + 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: UPDATED_AT, direction: DESC} + + """ + A list of states to filter the discussions by. + """ + states: [DiscussionState!] = [] + ): DiscussionConnection! + + """ + The number of kilobytes this repository occupies on disk. + """ + diskUsage: Int + + """ + Returns a single active environment from the current repository by name. + """ + environment( + """ + The name of the environment to be returned. + """ + name: String! + ): Environment + + """ + A list of environments that are in this repository. + """ + 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 + + """ + Ordering options for the environments + """ + orderBy: Environments = {field: NAME, direction: ASC} + ): EnvironmentConnection! + + """ + Returns how many forks there are of this repository in the whole network. + """ + forkCount: Int! + + """ + Whether this repository allows forks. + """ + forkingAllowed: Boolean! + + """ + A list of direct forked repositories. + """ + forks( + """ + 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] + + """ + 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 + + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssuesEnabled: Boolean + + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for repositories returned from the connection + """ + orderBy: RepositoryOrder + + """ + 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 privacy + """ + privacy: RepositoryPrivacy + ): RepositoryConnection! + + """ + The funding links for this repository + """ + fundingLinks: [FundingLink!]! """ - The username of the user who initiated the action + Indicates if the repository has the Discussions feature enabled. """ - actorLogin: String + hasDiscussionsEnabled: Boolean! """ - The HTTP path for the actor. + Indicates if the repository has issues feature enabled. """ - actorResourcePath: URI + hasIssuesEnabled: Boolean! """ - The HTTP URL for the actor. + Indicates if the repository has the Projects feature enabled. """ - actorUrl: URI + hasProjectsEnabled: Boolean! """ - The time the action was initiated + Whether vulnerability alerts are enabled for the repository. """ - createdAt: PreciseDateTime! - id: ID! + hasVulnerabilityAlertsEnabled: Boolean! """ - The corresponding operation type for the action + Indicates if the repository has wiki feature enabled. """ - operationType: OperationType + hasWikiEnabled: Boolean! """ - The Organization associated with the Audit Entry. + The repository's URL. """ - organization: Organization + homepageUrl: URI + id: ID! """ - The name of the Organization. + The interaction ability settings for this repository. """ - organizationName: String + interactionAbility: RepositoryInteractionAbility """ - The HTTP path for the organization + Indicates if the repository is unmaintained. """ - organizationResourcePath: URI + isArchived: Boolean! """ - The HTTP URL for the organization + Returns true if blank issue creation is allowed """ - organizationUrl: URI + isBlankIssuesEnabled: Boolean! """ - The repository associated with the action + Returns whether or not this repository disabled. """ - repository: Repository + isDisabled: Boolean! """ - The name of the repository + Returns whether or not this repository is empty. """ - repositoryName: String + isEmpty: Boolean! """ - The HTTP path for the repository + Identifies if the repository is a fork. """ - repositoryResourcePath: URI + isFork: Boolean! """ - The HTTP URL for the repository + Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. """ - repositoryUrl: URI + isInOrganization: Boolean! """ - The user affected by the action + Indicates if the repository has been locked or not. """ - user: User + isLocked: Boolean! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Identifies if the repository is a mirror. """ - userLogin: String + isMirror: Boolean! """ - The HTTP path for the user. + Identifies if the repository is private or internal. """ - userResourcePath: URI + isPrivate: Boolean! """ - The HTTP URL for the user. + Returns true if this repository has a security policy """ - userUrl: URI -} + isSecurityPolicyEnabled: Boolean -""" -Audit log entry for a repo.config.disable_collaborators_only event. -""" -type RepoConfigDisableCollaboratorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + Identifies if the repository is a template that can be used to generate new repositories. """ - action: String! + isTemplate: Boolean! """ - The user who initiated the action + Is this repository a user configuration repository? """ - actor: AuditEntryActor + isUserConfigurationRepository: Boolean! """ - The IP address of the actor + Returns a single issue from the current repository by number. """ - actorIp: String + issue( + """ + The number for the issue to be returned. + """ + number: Int! + ): Issue """ - A readable representation of the actor's location + Returns a single issue-like object from the current repository by number. """ - actorLocation: ActorLocation + issueOrPullRequest( + """ + The number for the issue to be returned. + """ + number: Int! + ): IssueOrPullRequest """ - The username of the user who initiated the action + Returns a list of issue templates associated to the repository """ - actorLogin: String + issueTemplates: [IssueTemplate!] """ - The HTTP path for the actor. + A list of issues that have been opened in the repository. """ - actorResourcePath: URI + issues( + """ + 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 + + """ + Filtering options for issues returned from the connection. + """ + filterBy: IssueFilters + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + A list of label names to filter the pull requests by. + """ + labels: [String!] + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for issues returned from the connection. + """ + orderBy: IssueOrder + + """ + A list of states to filter the issues by. + """ + states: [IssueState!] + ): IssueConnection! """ - The HTTP URL for the actor. + Returns a single label by name """ - actorUrl: URI + label( + """ + Label name + """ + name: String! + ): Label """ - The time the action was initiated + A list of labels associated with the repository. """ - createdAt: PreciseDateTime! - id: ID! + labels( + """ + 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 labels returned from the connection. + """ + orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + + """ + If provided, searches labels by name and description. + """ + query: String + ): LabelConnection """ - The corresponding operation type for the action + A list containing a breakdown of the language composition of the repository. """ - operationType: OperationType + languages( + """ + 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: LanguageOrder + ): LanguageConnection """ - The Organization associated with the Audit Entry. + Get the latest release for the repository if one exists. """ - organization: Organization + latestRelease: Release """ - The name of the Organization. + The license associated with the repository """ - organizationName: String + licenseInfo: License """ - The HTTP path for the organization + The reason the repository has been locked. """ - organizationResourcePath: URI + lockReason: RepositoryLockReason """ - The HTTP URL for the organization + A list of Users that can be mentioned in the context of the repository. """ - organizationUrl: URI + mentionableUsers( + """ + 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 + + """ + Filters users with query on user name and login + """ + query: String + ): UserConnection! """ - The repository associated with the action + Whether or not PRs are merged with a merge commit on this repository. """ - repository: Repository + mergeCommitAllowed: Boolean! """ - The name of the repository + How the default commit message will be generated when merging a pull request. """ - repositoryName: String + mergeCommitMessage: MergeCommitMessage! """ - The HTTP path for the repository + How the default commit title will be generated when merging a pull request. """ - repositoryResourcePath: URI + mergeCommitTitle: MergeCommitTitle! """ - The HTTP URL for the repository + The merge queue for a specified branch, otherwise the default branch if not provided. """ - repositoryUrl: URI + mergeQueue( + """ + The name of the branch to get the merge queue for. Case sensitive. + """ + branch: String + ): MergeQueue """ - The user affected by the action + Returns a single milestone from the current repository by number. """ - user: User + milestone( + """ + The number for the milestone to be returned. + """ + number: Int! + ): Milestone """ - For actions involving two users, the actor is the initiator and the user is the affected user. + A list of milestones associated with the repository. """ - userLogin: String + milestones( + """ + 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 milestones. + """ + orderBy: MilestoneOrder + + """ + Filters milestones with a query on the title + """ + query: String + + """ + Filter by the state of the milestones. + """ + states: [MilestoneState!] + ): MilestoneConnection """ - The HTTP path for the user. + The repository's original mirror URL. """ - userResourcePath: URI + mirrorUrl: URI """ - The HTTP URL for the user. + The name of the repository. """ - userUrl: URI -} + name: String! -""" -Audit log entry for a repo.config.disable_contributors_only event. -""" -type RepoConfigDisableContributorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + The repository's name with owner. """ - action: String! + nameWithOwner: String! """ - The user who initiated the action + A Git object in the repository """ - actor: AuditEntryActor + object( + """ + A Git revision expression suitable for rev-parse + """ + expression: String + + """ + The Git object ID + """ + oid: GitObjectID + ): GitObject """ - The IP address of the actor + The image used to represent this repository in Open Graph data. """ - actorIp: String + openGraphImageUrl: URI! """ - A readable representation of the actor's location + The User owner of the repository. """ - actorLocation: ActorLocation + owner: RepositoryOwner! """ - The username of the user who initiated the action + A list of packages under the owner. """ - actorLogin: String + 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] + + """ + Ordering of the returned packages. + """ + orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} + + """ + Filter registry package by type. + """ + packageType: PackageType + + """ + Find packages in a repository by ID. + """ + repositoryId: ID + ): PackageConnection! """ - The HTTP path for the actor. + The repository parent, if this is a fork. """ - actorResourcePath: URI + parent: Repository """ - The HTTP URL for the actor. + A list of discussions that have been pinned in this repository. """ - actorUrl: URI + pinnedDiscussions( + """ + 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 + ): PinnedDiscussionConnection! """ - The time the action was initiated + A list of pinned issues for this repository. """ - createdAt: PreciseDateTime! - id: ID! + pinnedIssues( + """ + 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 + ): PinnedIssueConnection """ - The corresponding operation type for the action + The primary language of the repository's code. """ - operationType: OperationType + primaryLanguage: Language """ - The Organization associated with the Audit Entry. + Find project by number. """ - organization: Organization + project( + """ + The project number to find. + """ + number: Int! + ): Project """ - The name of the Organization. + Finds and returns the Project according to the provided Project number. """ - organizationName: String + projectV2( + """ + The Project number. + """ + number: Int! + ): ProjectV2 """ - The HTTP path for the organization + A list of projects under the owner. """ - organizationResourcePath: URI + projects( + """ + 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 projects returned from the connection + """ + orderBy: ProjectOrder + + """ + Query to search projects by, currently only searching by name. + """ + search: String + + """ + A list of states to filter the projects by. + """ + states: [ProjectState!] + ): ProjectConnection! """ - The HTTP URL for the organization + The HTTP path listing the repository's projects """ - organizationUrl: URI + projectsResourcePath: URI! """ - The repository associated with the action + The HTTP URL listing the repository's projects """ - repository: Repository + projectsUrl: URI! """ - The name of the repository + List of projects linked to this repository. """ - repositoryName: String + projectsV2( + """ + 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 + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} - """ - The HTTP path for the user. - """ - userResourcePath: URI + """ + A project to search for linked to the repo. + """ + query: String + ): ProjectV2Connection! """ - The HTTP URL for the user. + Returns a single pull request from the current repository by number. """ - userUrl: URI -} + pullRequest( + """ + The number for the pull request to be returned. + """ + number: Int! + ): PullRequest -""" -Audit log entry for a repo.config.disable_sockpuppet_disallowed event. -""" -type RepoConfigDisableSockpuppetDisallowedAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + Returns a list of pull request templates associated to the repository """ - action: String! + pullRequestTemplates: [PullRequestTemplate!] """ - The user who initiated the action + A list of pull requests that have been opened in the repository. """ - actor: AuditEntryActor + pullRequests( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The IP address of the actor - """ - actorIp: String + """ + The base ref name to filter the pull requests by. + """ + baseRefName: 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 + """ + The head ref name to filter the pull requests by. + """ + headRefName: String - """ - 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! + """ + Returns the last _n_ elements from the list. + """ + last: Int - """ - The corresponding operation type for the action - """ - operationType: OperationType + """ + Ordering options for pull requests returned from the connection. + """ + orderBy: IssueOrder - """ - The Organization associated with the Audit Entry. - """ - organization: Organization + """ + A list of states to filter the pull requests by. + """ + states: [PullRequestState!] + ): PullRequestConnection! """ - The name of the Organization. + Identifies the date and time when the repository was last pushed to. """ - organizationName: String + pushedAt: DateTime """ - The HTTP path for the organization + Whether or not rebase-merging is enabled on this repository. """ - organizationResourcePath: URI + rebaseMergeAllowed: Boolean! """ - The HTTP URL for the organization + Recent projects that this user has modified in the context of the owner. """ - organizationUrl: URI + recentProjects( + """ + 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 + """ + Returns the first _n_ elements from the list. + """ + first: Int - """ - The HTTP path for the repository - """ - repositoryResourcePath: URI + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): ProjectV2Connection! """ - The HTTP URL for the repository + Fetch a given ref from the repository """ - repositoryUrl: URI + 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 user affected by the action + Fetch a list of refs from the repository """ - user: User + refs( + """ + 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 + """ + DEPRECATED: use orderBy. The ordering direction. + """ + direction: OrderDirection - """ - The HTTP URL for the user. - """ - userUrl: URI -} + """ + Returns the first _n_ elements from the list. + """ + first: Int -""" -Audit log entry for a repo.config.enable_anonymous_git_access event. -""" -type RepoConfigEnableAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { - """ - The action name - """ - action: String! + """ + Returns the last _n_ elements from the list. + """ + last: Int - """ - The user who initiated the action - """ - actor: AuditEntryActor + """ + Ordering options for refs returned from the connection. + """ + orderBy: RefOrder - """ - The IP address of the actor - """ - actorIp: String + """ + Filters refs with query on name + """ + query: String - """ - A readable representation of the actor's location - """ - actorLocation: ActorLocation + """ + A ref name prefix like `refs/heads/`, `refs/tags/`, etc. + """ + refPrefix: String! + ): RefConnection """ - The username of the user who initiated the action + Lookup a single release given various criteria. """ - actorLogin: String + release( + """ + The name of the Tag the Release was created from + """ + tagName: String! + ): Release """ - The HTTP path for the actor. + List of releases which are dependent on this repository. """ - actorResourcePath: URI + releases( + """ + 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 + """ + Order for connection + """ + orderBy: ReleaseOrder + ): ReleaseConnection! """ - The name of the Organization. + A list of applied repository-topic associations for this repository. """ - organizationName: String + repositoryTopics( + """ + 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 + ): RepositoryTopicConnection! """ - The name of the repository + The HTTP path for this repository """ - repositoryName: String + resourcePath: URI! """ - The HTTP path for the repository + Returns a single ruleset from the current repository by ID. """ - repositoryResourcePath: URI + ruleset( + """ + The ID of the ruleset to be returned. + """ + databaseId: Int! - """ - The HTTP URL for the repository - """ - repositoryUrl: URI + """ + Include rulesets configured at higher levels that apply to this repository + """ + includeParents: Boolean = true + ): RepositoryRuleset """ - The user affected by the action + A list of rulesets for this repository. """ - user: User + rulesets( + """ + 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 -} + """ + Return rulesets configured at higher levels that apply to this repository + """ + includeParents: Boolean = true -""" -Audit log entry for a repo.config.enable_collaborators_only event. -""" -type RepoConfigEnableCollaboratorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { - """ - The action name - """ - action: String! + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): RepositoryRulesetConnection """ - The user who initiated the action + The security policy URL. """ - actor: AuditEntryActor + securityPolicyUrl: URI """ - The IP address of the actor + A description of the repository, rendered to HTML without any links in it. """ - actorIp: String + shortDescriptionHTML( + """ + How many characters to return. + """ + limit: Int = 200 + ): HTML! """ - A readable representation of the actor's location + Whether or not squash-merging is enabled on this repository. """ - actorLocation: ActorLocation + squashMergeAllowed: Boolean! """ - The username of the user who initiated the action + How the default commit message will be generated when squash merging a pull request. """ - actorLogin: String + squashMergeCommitMessage: SquashMergeCommitMessage! """ - The HTTP path for the actor. + How the default commit title will be generated when squash merging a pull request. """ - actorResourcePath: URI + squashMergeCommitTitle: SquashMergeCommitTitle! """ - The HTTP URL for the actor. + Whether a squash merge commit can use the pull request title as default. """ - actorUrl: URI + squashPrTitleUsedAsDefault: Boolean! + @deprecated( + reason: "`squashPrTitleUsedAsDefault` will be removed. Use `Repository.squashMergeCommitTitle` instead. Removal on 2023-04-01 UTC." + ) """ - The time the action was initiated + The SSH URL to clone this repository """ - createdAt: PreciseDateTime! - id: ID! + sshUrl: GitSSHRemote! """ - The corresponding operation type for the action + Returns a count of how many stargazers there are on this object """ - operationType: OperationType + stargazerCount: Int! """ - The Organization associated with the Audit Entry. + A list of users who have starred this starrable. """ - organization: Organization + 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! """ - The name of the Organization. + Returns a list of all submodules in this repository parsed from the + .gitmodules file as of the default branch's HEAD commit. """ - organizationName: String + 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 + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + ): SubmoduleConnection! """ - The HTTP path for the organization + Temporary authentication token for cloning this repository. """ - organizationResourcePath: URI + tempCloneToken: String """ - The HTTP URL for the organization + The repository from which this repository was generated, if any. """ - organizationUrl: URI + templateRepository: Repository """ - The repository associated with the action + Identifies the date and time when the object was last updated. """ - repository: Repository + updatedAt: DateTime! """ - The name of the repository + The HTTP URL for this repository """ - repositoryName: String + url: URI! """ - The HTTP path for the repository + Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. """ - repositoryResourcePath: URI + usesCustomOpenGraphImage: Boolean! """ - The HTTP URL for the repository + Indicates whether the viewer has admin permissions on this repository. """ - repositoryUrl: URI + viewerCanAdminister: Boolean! """ - The user affected by the action + Can the current viewer create new projects on this owner. """ - user: User + viewerCanCreateProjects: 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. + Indicates whether the viewer can update the topics of this repository. """ - userResourcePath: URI + viewerCanUpdateTopics: Boolean! """ - The HTTP URL for the user. + The last commit email for the viewer. """ - userUrl: URI -} + viewerDefaultCommitEmail: String -""" -Audit log entry for a repo.config.enable_contributors_only event. -""" -type RepoConfigEnableContributorsOnlyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + The last used merge method by the viewer or the default for the repository. """ - action: String! + viewerDefaultMergeMethod: PullRequestMergeMethod! """ - The user who initiated the action + Returns a boolean indicating whether the viewing user has starred this starrable. """ - actor: AuditEntryActor + viewerHasStarred: Boolean! """ - The IP address of the actor + The users permission level on the repository. Will return null if authenticated as an GitHub App. """ - actorIp: String + viewerPermission: RepositoryPermission """ - A readable representation of the actor's location + A list of emails this viewer can commit with. """ - actorLocation: ActorLocation + viewerPossibleCommitEmails: [String!] """ - The username of the user who initiated the action + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. """ - actorLogin: String + viewerSubscription: SubscriptionState """ - The HTTP path for the actor. + Indicates the repository's visibility level. """ - actorResourcePath: URI + visibility: RepositoryVisibility! """ - The HTTP URL for the actor. + Returns a single vulnerability alert from the current repository by number. """ - actorUrl: URI + vulnerabilityAlert( + """ + The number for the vulnerability alert to be returned. + """ + number: Int! + ): RepositoryVulnerabilityAlert """ - The time the action was initiated + A list of vulnerability alerts that are on this repository. """ - createdAt: PreciseDateTime! - id: ID! + vulnerabilityAlerts( + """ + 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 + + """ + Filter by the scope of the alert's dependency + """ + dependencyScopes: [RepositoryVulnerabilityAlertDependencyScope!] + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Filter by the state of the alert + """ + states: [RepositoryVulnerabilityAlertState!] + ): RepositoryVulnerabilityAlertConnection """ - The corresponding operation type for the action + A list of users watching the repository. """ - operationType: OperationType + watchers( + """ + 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 Organization associated with the Audit Entry. + Whether contributors are required to sign off on web-based commits in this repository. """ - organization: Organization + webCommitSignoffRequired: Boolean! +} +""" +The affiliation of a user to a repository +""" +enum RepositoryAffiliation { """ - The name of the Organization. + Repositories that the user has been added to as a collaborator. """ - organizationName: String + COLLABORATOR """ - The HTTP path for the organization + 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. """ - organizationResourcePath: URI + ORGANIZATION_MEMBER """ - The HTTP URL for the organization + Repositories that are owned by the authenticated user. """ - organizationUrl: URI + OWNER +} +""" +Metadata for an audit entry with action repo.* +""" +interface RepositoryAuditEntryData { """ The repository associated with the action """ @@ -32506,943 +43531,1300 @@ type RepoConfigEnableContributorsOnlyAuditEntry implements AuditEntry & Node & O The HTTP URL for the repository """ repositoryUrl: URI +} +""" +Information extracted from a repository's `CODEOWNERS` file. +""" +type RepositoryCodeowners { """ - The user affected by the action + Any problems that were encountered while parsing the `CODEOWNERS` file. """ - user: User + errors: [RepositoryCodeownersError!]! +} +""" +An error in a `CODEOWNERS` file. +""" +type RepositoryCodeownersError { """ - For actions involving two users, the actor is the initiator and the user is the affected user. + The column number where the error occurs. """ - userLogin: String + column: Int! """ - The HTTP path for the user. + A short string describing the type of error. """ - userResourcePath: URI + kind: String! """ - The HTTP URL for the user. + The line number where the error occurs. """ - userUrl: URI + line: Int! + + """ + A complete description of the error, combining information from other fields. + """ + message: String! + + """ + The path to the file when the error occurs. + """ + path: String! + + """ + 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_sockpuppet_disallowed event. +The connection type for User. """ -type RepoConfigEnableSockpuppetDisallowedAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { +type RepositoryCollaboratorConnection { """ - The action name + A list of edges. """ - action: String! + edges: [RepositoryCollaboratorEdge] """ - The user who initiated the action + A list of nodes. """ - actor: AuditEntryActor + nodes: [User] """ - The IP address of the actor + Information to aid in pagination. """ - actorIp: String + pageInfo: PageInfo! """ - A readable representation of the actor's location + Identifies the total count of items in the connection. """ - actorLocation: ActorLocation + totalCount: Int! +} +""" +Represents a user who is a collaborator of a repository. +""" +type RepositoryCollaboratorEdge { """ - The username of the user who initiated the action + A cursor for use in pagination. """ - actorLogin: String + cursor: String! + node: User! """ - The HTTP path for the actor. + The permission the user has on the repository. """ - actorResourcePath: URI + permission: RepositoryPermission! """ - The HTTP URL for the actor. + A list of sources for the user's access to the repository. """ - actorUrl: URI + permissionSources: [PermissionSource!] +} +""" +A list of repositories owned by the subject. +""" +type RepositoryConnection { """ - The time the action was initiated + A list of edges. """ - createdAt: PreciseDateTime! - id: ID! + edges: [RepositoryEdge] """ - The corresponding operation type for the action + A list of nodes. """ - operationType: OperationType + nodes: [Repository] """ - The Organization associated with the Audit Entry. + Information to aid in pagination. """ - organization: Organization + pageInfo: PageInfo! """ - The name of the Organization. + Identifies the total count of items in the connection. """ - organizationName: String + totalCount: Int! """ - The HTTP path for the organization + The total size in kilobytes of all repositories in the connection. """ - organizationResourcePath: URI + totalDiskUsage: Int! +} +""" +A repository contact link. +""" +type RepositoryContactLink { """ - The HTTP URL for the organization + The contact link purpose. """ - organizationUrl: URI + about: String! """ - The repository associated with the action + The contact link name. """ - repository: Repository + name: String! """ - The name of the repository + The contact link URL. """ - repositoryName: String + url: URI! +} +""" +The reason a repository is listed as 'contributed'. +""" +enum RepositoryContributionType { """ - The HTTP path for the repository + Created a commit """ - repositoryResourcePath: URI + COMMIT """ - The HTTP URL for the repository + Created an issue """ - repositoryUrl: URI + ISSUE """ - The user affected by the action + Created a pull request """ - user: User + PULL_REQUEST """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Reviewed a pull request """ - userLogin: String + PULL_REQUEST_REVIEW """ - The HTTP path for the user. + Created the repository """ - userResourcePath: URI + REPOSITORY +} +""" +Represents an author of discussions in repositories. +""" +interface RepositoryDiscussionAuthor { """ - The HTTP URL for the user. + Discussions this user has started. """ - userUrl: URI + repositoryDiscussions( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String + + """ + Filter discussions to only those that have been answered or not. Defaults to + including both answered and unanswered discussions. + """ + answered: Boolean = null + + """ + 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 + + """ + A list of states to filter the discussions by. + """ + states: [DiscussionState!] = [] + ): DiscussionConnection! } """ -Audit log entry for a repo.config.lock_anonymous_git_access event. +Represents an author of discussion comments in repositories. """ -type RepoConfigLockAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { +interface RepositoryDiscussionCommentAuthor { """ - The action name + Discussion comments this user has authored. """ - action: String! + 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 that were marked as the answer + """ + onlyAnswers: Boolean = false + """ + Filter discussion comments to only those in a specific repository. + """ + repositoryId: ID + ): DiscussionCommentConnection! +} + +""" +An edge in a connection. +""" +type RepositoryEdge { """ - The user who initiated the action + A cursor for use in pagination. """ - actor: AuditEntryActor + cursor: String! """ - The IP address of the actor + The item at the end of the edge. """ - actorIp: String + node: Repository +} +""" +Parameters to be used for the repository_id condition +""" +type RepositoryIdConditionTarget { """ - A readable representation of the actor's location + One of these repo IDs must match the repo. """ - actorLocation: ActorLocation + repositoryIds: [ID!]! +} +""" +Parameters to be used for the repository_id condition +""" +input RepositoryIdConditionTargetInput { """ - The username of the user who initiated the action + One of these repo IDs must match the repo. """ - actorLogin: String + repositoryIds: [ID!]! +} +""" +A subset of repository info. +""" +interface RepositoryInfo { """ - The HTTP path for the actor. + Identifies the date and time when the repository was archived. """ - actorResourcePath: URI + archivedAt: DateTime """ - The HTTP URL for the actor. + Identifies the date and time when the object was created. """ - actorUrl: URI + createdAt: DateTime! """ - The time the action was initiated + The description of the repository. """ - createdAt: PreciseDateTime! - id: ID! + description: String """ - The corresponding operation type for the action + The description of the repository rendered to HTML. """ - operationType: OperationType + descriptionHTML: HTML! """ - The Organization associated with the Audit Entry. + Returns how many forks there are of this repository in the whole network. """ - organization: Organization + forkCount: Int! """ - The name of the Organization. + Indicates if the repository has the Discussions feature enabled. """ - organizationName: String + hasDiscussionsEnabled: Boolean! """ - The HTTP path for the organization + Indicates if the repository has issues feature enabled. """ - organizationResourcePath: URI + hasIssuesEnabled: Boolean! """ - The HTTP URL for the organization + Indicates if the repository has the Projects feature enabled. """ - organizationUrl: URI + hasProjectsEnabled: Boolean! """ - The repository associated with the action + Indicates if the repository has wiki feature enabled. """ - repository: Repository + hasWikiEnabled: Boolean! """ - The name of the repository + The repository's URL. """ - repositoryName: String + homepageUrl: URI """ - The HTTP path for the repository + Indicates if the repository is unmaintained. """ - repositoryResourcePath: URI + isArchived: Boolean! """ - The HTTP URL for the repository + Identifies if the repository is a fork. """ - repositoryUrl: URI + isFork: Boolean! """ - The user affected by the action + Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. """ - user: User + isInOrganization: Boolean! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Indicates if the repository has been locked or not. """ - userLogin: String + isLocked: Boolean! """ - The HTTP path for the user. + Identifies if the repository is a mirror. """ - userResourcePath: URI + isMirror: Boolean! """ - The HTTP URL for the user. + Identifies if the repository is private or internal. """ - userUrl: URI -} + isPrivate: Boolean! -""" -Audit log entry for a repo.config.unlock_anonymous_git_access event. -""" -type RepoConfigUnlockAnonymousGitAccessAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + Identifies if the repository is a template that can be used to generate new repositories. """ - action: String! + isTemplate: Boolean! """ - The user who initiated the action + The license associated with the repository """ - actor: AuditEntryActor + licenseInfo: License """ - The IP address of the actor + The reason the repository has been locked. """ - actorIp: String + lockReason: RepositoryLockReason """ - A readable representation of the actor's location + The repository's original mirror URL. """ - actorLocation: ActorLocation + mirrorUrl: URI """ - The username of the user who initiated the action + The name of the repository. """ - actorLogin: String + name: String! """ - The HTTP path for the actor. + The repository's name with owner. """ - actorResourcePath: URI + nameWithOwner: String! """ - The HTTP URL for the actor. + The image used to represent this repository in Open Graph data. """ - actorUrl: URI + openGraphImageUrl: URI! """ - The time the action was initiated + The User owner of the repository. """ - createdAt: PreciseDateTime! - id: ID! + owner: RepositoryOwner! """ - The corresponding operation type for the action + Identifies the date and time when the repository was last pushed to. """ - operationType: OperationType + pushedAt: DateTime """ - The Organization associated with the Audit Entry. + The HTTP path for this repository """ - organization: Organization + resourcePath: URI! """ - The name of the Organization. + A description of the repository, rendered to HTML without any links in it. """ - organizationName: String + shortDescriptionHTML( + """ + How many characters to return. + """ + limit: Int = 200 + ): HTML! """ - The HTTP path for the organization + Identifies the date and time when the object was last updated. """ - organizationResourcePath: URI + updatedAt: DateTime! """ - The HTTP URL for the organization + The HTTP URL for this repository """ - organizationUrl: URI + url: URI! """ - The repository associated with the action + Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. """ - repository: Repository + usesCustomOpenGraphImage: Boolean! + + """ + Indicates the repository's visibility level. + """ + visibility: RepositoryVisibility! +} +""" +Repository interaction limit that applies to this object. +""" +type RepositoryInteractionAbility { """ - The name of the repository + The time the currently active limit expires. """ - repositoryName: String + expiresAt: DateTime """ - The HTTP path for the repository + The current limit that is enabled on this object. """ - repositoryResourcePath: URI + limit: RepositoryInteractionLimit! """ - The HTTP URL for the repository + The origin of the currently active interaction limit. """ - repositoryUrl: URI + origin: RepositoryInteractionLimitOrigin! +} +""" +A repository interaction limit. +""" +enum RepositoryInteractionLimit { """ - The user affected by the action + Users that are not collaborators will not be able to interact with the repository. """ - user: User + COLLABORATORS_ONLY """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Users that have not previously committed to a repository’s default branch will be unable to interact with the repository. """ - userLogin: String + CONTRIBUTORS_ONLY """ - The HTTP path for the user. + Users that have recently created their account will be unable to interact with the repository. """ - userResourcePath: URI + EXISTING_USERS """ - The HTTP URL for the user. + No interaction limits are enabled. """ - userUrl: URI + NO_LIMIT } """ -Audit log entry for a repo.create event. +The length for a repository interaction limit to be enabled for. """ -type RepoCreateAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { - """ - The action name - """ - action: String! - +enum RepositoryInteractionLimitExpiry { """ - The user who initiated the action + The interaction limit will expire after 1 day. """ - actor: AuditEntryActor + ONE_DAY """ - The IP address of the actor + The interaction limit will expire after 1 month. """ - actorIp: String + ONE_MONTH """ - A readable representation of the actor's location + The interaction limit will expire after 1 week. """ - actorLocation: ActorLocation + ONE_WEEK """ - The username of the user who initiated the action + The interaction limit will expire after 6 months. """ - actorLogin: String + SIX_MONTHS """ - The HTTP path for the actor. + The interaction limit will expire after 3 days. """ - actorResourcePath: URI + THREE_DAYS +} +""" +Indicates where an interaction limit is configured. +""" +enum RepositoryInteractionLimitOrigin { """ - The HTTP URL for the actor. + A limit that is configured at the organization level. """ - actorUrl: URI + ORGANIZATION """ - The time the action was initiated + A limit that is configured at the repository level. """ - createdAt: PreciseDateTime! + REPOSITORY """ - The name of the parent repository for this forked repository. + A limit that is configured at the user-wide level. """ - forkParentName: String + USER +} +""" +An invitation for a user to be added to a repository. +""" +type RepositoryInvitation implements Node { """ - The name of the root repository for this network. + The email address that received the invitation. """ - forkSourceName: String + email: String id: ID! """ - The corresponding operation type for the action + The user who received the invitation. """ - operationType: OperationType + invitee: User """ - The Organization associated with the Audit Entry. + The user who created the invitation. """ - organization: Organization + inviter: User! """ - The name of the Organization. + The permalink for this repository invitation. """ - organizationName: String + permalink: URI! """ - The HTTP path for the organization + The permission granted on this repository by this invitation. """ - organizationResourcePath: URI + permission: RepositoryPermission! """ - The HTTP URL for the organization + The Repository the user is invited to. """ - organizationUrl: URI + repository: RepositoryInfo +} +""" +A list of repository invitations. +""" +type RepositoryInvitationConnection { """ - The repository associated with the action + A list of edges. """ - repository: Repository + edges: [RepositoryInvitationEdge] """ - The name of the repository + A list of nodes. """ - repositoryName: String + nodes: [RepositoryInvitation] """ - The HTTP path for the repository + Information to aid in pagination. """ - repositoryResourcePath: URI + pageInfo: PageInfo! """ - The HTTP URL for the repository + Identifies the total count of items in the connection. """ - repositoryUrl: URI + totalCount: Int! +} +""" +An edge in a connection. +""" +type RepositoryInvitationEdge { """ - The user affected by the action + A cursor for use in pagination. """ - user: User + cursor: String! """ - For actions involving two users, the actor is the initiator and the user is the affected user. + The item at the end of the edge. """ - userLogin: String + node: RepositoryInvitation +} +""" +Ordering options for repository invitation connections. +""" +input RepositoryInvitationOrder { """ - The HTTP path for the user. + The ordering direction. """ - userResourcePath: URI + direction: OrderDirection! """ - The HTTP URL for the user. + The field to order repository invitations by. """ - userUrl: URI + field: RepositoryInvitationOrderField! +} +""" +Properties by which repository invitation connections can be ordered. +""" +enum RepositoryInvitationOrderField { """ - The visibility of the repository + Order repository invitations by creation time """ - visibility: RepoCreateAuditEntryVisibility + CREATED_AT } """ -The privacy of a repository +The possible reasons a given repository could be in a locked state. """ -enum RepoCreateAuditEntryVisibility { +enum RepositoryLockReason { """ - The repository is visible only to users in the same business. + The repository is locked due to a billing related reason. """ - INTERNAL + BILLING """ - The repository is visible only to those with explicit access. + The repository is locked due to a migration. """ - PRIVATE + MIGRATING """ - The repository is visible to everyone. + The repository is locked due to a move. """ - PUBLIC -} + MOVING -""" -Audit log entry for a repo.destroy event. -""" -type RepoDestroyAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { """ - The action name + The repository is locked due to a rename. """ - action: String! + RENAME """ - The user who initiated the action + The repository is locked due to a trade controls related reason. """ - actor: AuditEntryActor + TRADE_RESTRICTION +} +""" +A GitHub Enterprise Importer (GEI) repository migration. +""" +type RepositoryMigration implements Migration & Node { """ - The IP address of the actor + The migration flag to continue on error. """ - actorIp: String + continueOnError: Boolean! """ - A readable representation of the actor's location + Identifies the date and time when the object was created. """ - actorLocation: ActorLocation + createdAt: DateTime! """ - The username of the user who initiated the action + Identifies the primary key from the database. """ - actorLogin: String + databaseId: String """ - The HTTP path for the actor. + The reason the migration failed. """ - actorResourcePath: URI + failureReason: String + id: ID! """ - The HTTP URL for the actor. + The URL for the migration log (expires 1 day after migration completes). """ - actorUrl: URI + migrationLogUrl: URI """ - The time the action was initiated + The migration source. """ - createdAt: PreciseDateTime! - id: ID! + migrationSource: MigrationSource! """ - The corresponding operation type for the action + The target repository name. """ - operationType: OperationType + repositoryName: String! """ - The Organization associated with the Audit Entry. + The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. """ - organization: Organization + sourceUrl: URI! """ - The name of the Organization. + The migration state. """ - organizationName: String + state: MigrationState! """ - The HTTP path for the organization + The number of warnings encountered for this migration. To review the warnings, + check the [Migration Log](https://docs.github.com/en/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). """ - organizationResourcePath: URI + warningsCount: Int! +} +""" +The connection type for RepositoryMigration. +""" +type RepositoryMigrationConnection { """ - The HTTP URL for the organization + A list of edges. """ - organizationUrl: URI + edges: [RepositoryMigrationEdge] """ - The repository associated with the action + A list of nodes. """ - repository: Repository + nodes: [RepositoryMigration] """ - The name of the repository + Information to aid in pagination. """ - repositoryName: String + pageInfo: PageInfo! """ - The HTTP path for the repository + Identifies the total count of items in the connection. """ - repositoryResourcePath: URI + totalCount: Int! +} +""" +Represents a repository migration. +""" +type RepositoryMigrationEdge { """ - The HTTP URL for the repository + A cursor for use in pagination. """ - repositoryUrl: URI + cursor: String! """ - The user affected by the action + The item at the end of the edge. """ - user: User + node: RepositoryMigration +} +""" +Ordering options for repository migrations. +""" +input RepositoryMigrationOrder { """ - For actions involving two users, the actor is the initiator and the user is the affected user. + The ordering direction. """ - userLogin: String + direction: RepositoryMigrationOrderDirection! """ - The HTTP path for the user. + The field to order repository migrations by. """ - userResourcePath: URI + field: RepositoryMigrationOrderField! +} +""" +Possible directions in which to order a list of repository migrations when provided an `orderBy` argument. +""" +enum RepositoryMigrationOrderDirection { """ - The HTTP URL for the user. + Specifies an ascending order for a given `orderBy` argument. """ - userUrl: URI + ASC """ - The visibility of the repository + Specifies a descending order for a given `orderBy` argument. """ - visibility: RepoDestroyAuditEntryVisibility + DESC } """ -The privacy of a repository +Properties by which repository migrations can be ordered. """ -enum RepoDestroyAuditEntryVisibility { +enum RepositoryMigrationOrderField { """ - The repository is visible only to users in the same business. + Order mannequins why when they were created. """ - INTERNAL + CREATED_AT +} +""" +Parameters to be used for the repository_name condition +""" +type RepositoryNameConditionTarget { """ - The repository is visible only to those with explicit access. + Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. """ - PRIVATE + exclude: [String!]! """ - The repository is visible to everyone. + Array of repository names or patterns to include. One of these patterns must + match for the condition to pass. Also accepts `~ALL` to include all repositories. """ - PUBLIC + include: [String!]! + + """ + Target changes that match these patterns will be prevented except by those with bypass permissions. + """ + protected: Boolean! } """ -Audit log entry for a repo.remove_member event. +Parameters to be used for the repository_name condition """ -type RepoRemoveMemberAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData { +input RepositoryNameConditionTargetInput { """ - The action name + Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. """ - action: String! + exclude: [String!]! """ - The user who initiated the action + Array of repository names or patterns to include. One of these patterns must + match for the condition to pass. Also accepts `~ALL` to include all repositories. """ - actor: AuditEntryActor + include: [String!]! """ - The IP address of the actor + Target changes that match these patterns will be prevented except by those with bypass permissions. """ - actorIp: String + protected: Boolean +} +""" +Represents a object that belongs to a repository. +""" +interface RepositoryNode { """ - A readable representation of the actor's location + The repository associated with this node. """ - actorLocation: ActorLocation + repository: Repository! +} +""" +Ordering options for repository connections +""" +input RepositoryOrder { """ - The username of the user who initiated the action + The ordering direction. """ - actorLogin: String + direction: OrderDirection! """ - The HTTP path for the actor. + The field to order repositories by. """ - actorResourcePath: URI + field: RepositoryOrderField! +} +""" +Properties by which repository connections can be ordered. +""" +enum RepositoryOrderField { """ - The HTTP URL for the actor. + Order repositories by creation time """ - actorUrl: URI + CREATED_AT """ - The time the action was initiated + Order repositories by name """ - createdAt: PreciseDateTime! - id: ID! + NAME """ - The corresponding operation type for the action + Order repositories by push time """ - operationType: OperationType + PUSHED_AT """ - The Organization associated with the Audit Entry. + Order repositories by number of stargazers """ - organization: Organization + STARGAZERS """ - The name of the Organization. + Order repositories by update time """ - organizationName: String + UPDATED_AT +} +""" +Represents an owner of a Repository. +""" +interface RepositoryOwner { """ - The HTTP path for the organization + A URL pointing to the owner's public avatar. """ - organizationResourcePath: URI + avatarUrl( + """ + The size of the resulting square image. + """ + size: Int + ): URI! + id: ID! """ - The HTTP URL for the organization + The username used to login. """ - organizationUrl: URI + login: String! """ - The repository associated with the action + A list of repositories that the user owns. """ - repository: Repository + repositories( + """ + 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] + + """ + 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 + + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssuesEnabled: Boolean + + """ + If non-null, filters repositories according to whether they are archived and not maintained + """ + isArchived: Boolean + + """ + If non-null, filters repositories according to whether they are forks of another repository + """ + isFork: Boolean + + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for repositories returned from the connection + """ + orderBy: RepositoryOrder + + """ + 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 privacy + """ + privacy: RepositoryPrivacy + ): RepositoryConnection! """ - The name of the repository + Find Repository. """ - repositoryName: String + repository( + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + + """ + Name of Repository to find. + """ + name: String! + ): Repository """ - The HTTP path for the repository + The HTTP URL for the owner. """ - repositoryResourcePath: URI + resourcePath: URI! """ - The HTTP URL for the repository + The HTTP URL for the owner. """ - repositoryUrl: URI + url: URI! +} +""" +The access level to a repository +""" +enum RepositoryPermission { """ - The user affected by the action + Can read, clone, and push to this repository. Can also manage issues, pull + requests, and repository settings, including adding collaborators """ - user: User + ADMIN """ - 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. They can also manage issues, pull requests, and some repository settings """ - userLogin: String + MAINTAIN """ - The HTTP path for the user. + Can read and clone this repository. Can also open and comment on issues and pull requests """ - userResourcePath: URI + READ """ - The HTTP URL for the user. + Can read and clone this repository. Can also manage issues and pull requests """ - userUrl: URI + TRIAGE """ - The visibility of the repository + Can read, clone, and push to this repository. Can also manage issues and pull requests """ - visibility: RepoRemoveMemberAuditEntryVisibility + WRITE } """ The privacy of a repository """ -enum RepoRemoveMemberAuditEntryVisibility { +enum RepositoryPrivacy { """ - The repository is visible only to users in the same business. + Private """ - INTERNAL + PRIVATE """ - The repository is visible only to those with explicit access. + Public """ - PRIVATE + PUBLIC +} + +""" +A repository rule. +""" +type RepositoryRule implements Node { + id: ID! """ - The repository is visible to everyone. + The parameters for this rule. """ - PUBLIC + parameters: RuleParameters + + """ + The type of rule. + """ + type: RepositoryRuleType! } """ -Audit log entry for a repo.remove_topic event. +Set of conditions that determine if a ruleset will evaluate """ -type RepoRemoveTopicAuditEntry implements AuditEntry & Node & OrganizationAuditEntryData & RepositoryAuditEntryData & TopicAuditEntryData { +type RepositoryRuleConditions { """ - The action name + Configuration for the ref_name condition """ - action: String! + refName: RefNameConditionTarget """ - The user who initiated the action + Configuration for the repository_id condition """ - actor: AuditEntryActor + repositoryId: RepositoryIdConditionTarget """ - The IP address of the actor + Configuration for the repository_name condition """ - actorIp: String + repositoryName: RepositoryNameConditionTarget +} +""" +Specifies the conditions required for a ruleset to evaluate +""" +input RepositoryRuleConditionsInput { """ - A readable representation of the actor's location + Configuration for the ref_name condition """ - actorLocation: ActorLocation + refName: RefNameConditionTargetInput """ - The username of the user who initiated the action + Configuration for the repository_id condition """ - actorLogin: String + repositoryId: RepositoryIdConditionTargetInput """ - The HTTP path for the actor. + Configuration for the repository_name condition """ - actorResourcePath: URI + repositoryName: RepositoryNameConditionTargetInput +} +""" +The connection type for RepositoryRule. +""" +type RepositoryRuleConnection { """ - The HTTP URL for the actor. + A list of edges. """ - actorUrl: URI + edges: [RepositoryRuleEdge] """ - The time the action was initiated + A list of nodes. """ - createdAt: PreciseDateTime! - id: ID! + nodes: [RepositoryRule] """ - The corresponding operation type for the action + Information to aid in pagination. """ - operationType: OperationType + pageInfo: PageInfo! """ - The Organization associated with the Audit Entry. + Identifies the total count of items in the connection. """ - organization: Organization + totalCount: Int! +} +""" +An edge in a connection. +""" +type RepositoryRuleEdge { """ - The name of the Organization. + A cursor for use in pagination. """ - organizationName: String + cursor: String! """ - The HTTP path for the organization + The item at the end of the edge. """ - organizationResourcePath: URI + node: RepositoryRule +} +""" +Specifies the attributes for a new or updated rule. +""" +input RepositoryRuleInput { """ - The HTTP URL for the organization + Optional ID of this rule when updating """ - organizationUrl: URI + id: ID @possibleTypes(concreteTypes: ["RepositoryRule"]) """ - The repository associated with the action + The parameters for the rule. """ - repository: Repository + parameters: RuleParametersInput """ - The name of the repository + The type of rule to create. """ - repositoryName: String + type: RepositoryRuleType! +} +""" +The rule types supported in rulesets +""" +enum RepositoryRuleType { """ - The HTTP path for the repository + Branch name pattern """ - repositoryResourcePath: URI + BRANCH_NAME_PATTERN """ - The HTTP URL for the repository + Committer email pattern """ - repositoryUrl: URI + COMMITTER_EMAIL_PATTERN """ - The name of the topic added to the repository + Commit author email pattern """ - topic: Topic + COMMIT_AUTHOR_EMAIL_PATTERN """ - The name of the topic added to the repository + Commit message pattern """ - topicName: String + COMMIT_MESSAGE_PATTERN """ - The user affected by the action + Only allow users with bypass permission to create matching refs. """ - user: User + CREATION """ - For actions involving two users, the actor is the initiator and the user is the affected user. + Only allow users with bypass permissions to delete matching refs. """ - userLogin: String + DELETION """ - The HTTP path for the user. + Prevent users with push access from force pushing to branches. """ - userResourcePath: URI + NON_FAST_FORWARD """ - The HTTP URL for the user. + Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. """ - userUrl: URI -} + PULL_REQUEST -""" -The reasons a piece of content can be reported or minimized. -""" -enum ReportedContentClassifiers { """ - An abusive or harassing piece of content + Choose which environments must be successfully deployed to before branches can + be merged into a branch that matches this rule. """ - ABUSE + REQUIRED_DEPLOYMENTS """ - A duplicated piece of content + Prevent merge commits from being pushed to matching branches. """ - DUPLICATE + REQUIRED_LINEAR_HISTORY """ - An irrelevant piece of content + Commits pushed to matching branches must have verified signatures. """ - OFF_TOPIC + REQUIRED_SIGNATURES """ - An outdated piece of content + Choose which status checks must pass before branches can be merged into a + branch that matches this rule. When enabled, commits must first be pushed to + another branch, then merged or pushed directly to a branch that matches this + rule after status checks have passed. """ - OUTDATED + REQUIRED_STATUS_CHECKS """ - The content has been resolved + Tag name pattern """ - RESOLVED + TAG_NAME_PATTERN """ - A spammy piece of content + Only allow users with bypass permission to update matching refs. """ - SPAM + UPDATE } """ -A repository contains the content for a project. +A repository ruleset. """ -type Repository implements Node & PackageOwner & ProjectOwner & RepositoryInfo & Starrable & Subscribable & UniformResourceLocatable { +type RepositoryRuleset implements Node { """ - A list of users that can be assigned to issues in this repository. + The actors that can bypass this ruleset """ - assignableUsers( + bypassActors( """ Returns the elements in the list that come after the specified cursor. """ @@ -33462,22 +44844,38 @@ type Repository implements Node & PackageOwner & ProjectOwner & RepositoryInfo & Returns the last _n_ elements from the list. """ last: Int + ): RepositoryRulesetBypassActorConnection - """ - Filters users with query on user name and login - """ - query: String - ): UserConnection! + """ + The set of conditions that must evaluate to true for this ruleset to apply + """ + conditions: RepositoryRuleConditions! """ - Whether or not Auto-merge can be enabled on pull requests in this repository. + Identifies the date and time when the object was created. """ - autoMergeAllowed: Boolean! + createdAt: DateTime! """ - A list of branch protection rules for this repository. + Identifies the primary key from the database. """ - branchProtectionRules( + databaseId: Int + + """ + The enforcement level of this ruleset + """ + enforcement: RuleEnforcement! + id: ID! + + """ + Name of the ruleset. + """ + name: String! + + """ + List of rules. + """ + rules( """ Returns the elements in the list that come after the specified cursor. """ @@ -33497,1319 +44895,1381 @@ type Repository implements Node & PackageOwner & ProjectOwner & RepositoryInfo & Returns the last _n_ elements from the list. """ last: Int - ): BranchProtectionRuleConnection! + + """ + The type of rule. + """ + type: RepositoryRuleType + ): RepositoryRuleConnection """ - Returns the code of conduct for this repository + Source of ruleset. """ - codeOfConduct: CodeOfConduct + source: RuleSource! """ - A list of collaborators associated with the repository. + Target of the ruleset. """ - collaborators( - """ - Collaborators affiliation level with a repository. - """ - affiliation: CollaboratorAffiliation + target: RepositoryRulesetTarget - """ - 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 +""" +A team or app that has the ability to bypass a rules defined on a ruleset +""" +type RepositoryRulesetBypassActor implements Node { + """ + The actor that can bypass rules. + """ + actor: BypassActor - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The mode for the bypass actor + """ + bypassMode: RepositoryRulesetBypassActorBypassMode + id: ID! - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + This actor represents the ability for an organization admin to bypass + """ + organizationAdmin: Boolean! - """ - Filters users with query on user name and login - """ - query: String - ): RepositoryCollaboratorConnection + """ + If the actor is a repository role, the repository role's ID that can bypass + """ + repositoryRoleDatabaseId: Int """ - A list of commit comments associated with the repository. + If the actor is a repository role, the repository role's name that can bypass """ - commitComments( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + repositoryRoleName: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Identifies the ruleset associated with the allowed actor + """ + repositoryRuleset: RepositoryRuleset +} - """ - Returns the first _n_ elements from the list. - """ - first: Int +""" +The bypass mode for a specific actor on a ruleset. +""" +enum RepositoryRulesetBypassActorBypassMode { + """ + The actor can always bypass rules + """ + ALWAYS - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): CommitCommentConnection! + """ + The actor can only bypass rules via a pull request + """ + PULL_REQUEST +} +""" +The connection type for RepositoryRulesetBypassActor. +""" +type RepositoryRulesetBypassActorConnection { """ - Returns a list of contact links associated to the repository + A list of edges. """ - contactLinks: [RepositoryContactLink!] + edges: [RepositoryRulesetBypassActorEdge] """ - Identifies the date and time when the object was created. + A list of nodes. """ - createdAt: DateTime! + nodes: [RepositoryRulesetBypassActor] """ - Identifies the primary key from the database. + Information to aid in pagination. """ - databaseId: Int + pageInfo: PageInfo! """ - The Ref associated with the repository's default branch. + Identifies the total count of items in the connection. """ - defaultBranchRef: Ref + totalCount: Int! +} +""" +An edge in a connection. +""" +type RepositoryRulesetBypassActorEdge { """ - Whether or not branches are automatically deleted when merged in this repository. + A cursor for use in pagination. """ - deleteBranchOnMerge: Boolean! + cursor: String! """ - A list of dependency manifests contained in the repository + The item at the end of the edge. """ - dependencyGraphManifests( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + node: RepositoryRulesetBypassActor +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +Specifies the attributes for a new or updated ruleset bypass actor. Only one of +`actor_id`, `repository_role_database_id`, or `organization_admin` should be specified. +""" +input RepositoryRulesetBypassActorInput { + """ + For Team and Integration bypasses, the Team or Integration ID + """ + actorId: ID - """ - Cursor to paginate dependencies - """ - dependenciesAfter: String + """ + The bypass mode for this actor. + """ + bypassMode: RepositoryRulesetBypassActorBypassMode! - """ - Number of dependencies to fetch - """ - dependenciesFirst: Int + """ + For org admin bupasses, true + """ + organizationAdmin: Boolean - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + For role bypasses, the role database ID + """ + repositoryRoleDatabaseId: Int +} - """ - Returns the last _n_ elements from the list. - """ - last: Int +""" +The connection type for RepositoryRuleset. +""" +type RepositoryRulesetConnection { + """ + A list of edges. + """ + edges: [RepositoryRulesetEdge] - """ - Flag to scope to only manifests with dependencies - """ - withDependencies: Boolean - ): DependencyGraphManifestConnection @preview(toggledBy: "hawkgirl-preview") + """ + A list of nodes. + """ + nodes: [RepositoryRuleset] """ - A list of deploy keys that are on this repository. + Information to aid in pagination. """ - deployKeys( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + 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 RepositoryRulesetEdge { + """ + A cursor for use in pagination. + """ + cursor: String! - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): DeployKeyConnection! + """ + The item at the end of the edge. + """ + node: RepositoryRuleset +} +""" +The targets supported for rulesets +""" +enum RepositoryRulesetTarget { """ - Deployments associated with the repository + Branch """ - deployments( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + BRANCH - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Tag + """ + TAG +} - """ - Environments to list deployments for - """ - environments: [String!] +""" +A repository-topic connects a repository to a topic. +""" +type RepositoryTopic implements Node & UniformResourceLocatable { + id: ID! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The HTTP path for this repository-topic. + """ + resourcePath: URI! - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The topic. + """ + topic: Topic! - """ - Ordering options for deployments returned from the connection. - """ - orderBy: DeploymentOrder = {field: CREATED_AT, direction: ASC} - ): DeploymentConnection! + """ + The HTTP URL for this repository-topic. + """ + url: URI! +} +""" +The connection type for RepositoryTopic. +""" +type RepositoryTopicConnection { """ - The description of the repository. + A list of edges. """ - description: String + edges: [RepositoryTopicEdge] """ - The description of the repository rendered to HTML. + A list of nodes. """ - descriptionHTML: HTML! + nodes: [RepositoryTopic] """ - Returns a single discussion from the current repository by number. + Information to aid in pagination. """ - discussion( - """ - The number for the discussion to be returned. - """ - number: Int! - ): Discussion + pageInfo: PageInfo! """ - A list of discussion categories that are available in the repository. + Identifies the total count of items in the connection. """ - discussionCategories( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + totalCount: Int! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +An edge in a connection. +""" +type RepositoryTopicEdge { + """ + 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: RepositoryTopic +} - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): DiscussionCategoryConnection! +""" +The repository's visibility level. +""" +enum RepositoryVisibility { + """ + The repository is visible only to users in the same business. + """ + INTERNAL """ - A list of discussions that have been opened in the repository. + The repository is visible only to those with explicit access. """ - discussions( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + PRIVATE - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The repository is visible to everyone. + """ + PUBLIC +} - """ - Only include discussions that belong to the category with this ID. - """ - categoryId: ID = null +""" +Audit log entry for a repository_visibility_change.disable event. +""" +type RepositoryVisibilityChangeDisableAuditEntry implements AuditEntry & EnterpriseAuditEntryData & Node & 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 + """ + The IP address of the actor + """ + actorIp: String - """ - Ordering options for discussions returned from the connection. - """ - orderBy: DiscussionOrder = {field: UPDATED_AT, direction: DESC} - ): DiscussionConnection! + """ + 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 number of kilobytes this repository occupies on disk. + The HTTP URL for the organization """ - diskUsage: Int + organizationUrl: URI """ - Returns a single active environment from the current repository by name. + The user affected by the action """ - environment( - """ - The name of the environment to be returned. - """ - name: String! - ): Environment + user: User """ - A list of environments that are in this repository. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - 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! + userLogin: String """ - Returns how many forks there are of this repository in the whole network. + The HTTP path for the user. """ - forkCount: Int! + userResourcePath: URI """ - Whether this repository allows forks. + The HTTP URL for the user. """ - forkingAllowed: Boolean! + userUrl: URI +} +""" +Audit log entry for a repository_visibility_change.enable event. +""" +type RepositoryVisibilityChangeEnableAuditEntry implements AuditEntry & EnterpriseAuditEntryData & Node & OrganizationAuditEntryData { """ - A list of direct forked repositories. + The action name """ - forks( - """ - 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] - - """ - 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 + action: String! - """ - If non-null, filters repositories according to whether they have been locked - """ - isLocked: Boolean + """ + 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 repositories returned from the connection - """ - orderBy: RepositoryOrder + """ + A readable representation of the actor's location + """ + actorLocation: ActorLocation - """ - 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 username of the user who initiated the action + """ + actorLogin: String - """ - If non-null, filters repositories according to privacy - """ - privacy: RepositoryPrivacy - ): RepositoryConnection! + """ + The HTTP path for the actor. + """ + actorResourcePath: URI """ - The funding links for this repository + The HTTP URL for the actor. """ - fundingLinks: [FundingLink!]! + actorUrl: URI """ - Indicates if the repository has issues feature enabled. + The time the action was initiated """ - hasIssuesEnabled: Boolean! + createdAt: PreciseDateTime! """ - Indicates if the repository has the Projects feature enabled. + The HTTP path for this enterprise. """ - hasProjectsEnabled: Boolean! + enterpriseResourcePath: URI """ - Indicates if the repository has wiki feature enabled. + The slug of the enterprise. """ - hasWikiEnabled: Boolean! + enterpriseSlug: String """ - The repository's URL. + The HTTP URL for this enterprise. """ - homepageUrl: URI + enterpriseUrl: URI id: ID! """ - The interaction ability settings for this repository. + The corresponding operation type for the action """ - interactionAbility: RepositoryInteractionAbility + operationType: OperationType """ - Indicates if the repository is unmaintained. + The Organization associated with the Audit Entry. """ - isArchived: Boolean! + organization: Organization """ - Returns true if blank issue creation is allowed + The name of the Organization. """ - isBlankIssuesEnabled: Boolean! + organizationName: String """ - Returns whether or not this repository disabled. + The HTTP path for the organization """ - isDisabled: Boolean! + organizationResourcePath: URI """ - Returns whether or not this repository is empty. + The HTTP URL for the organization """ - isEmpty: Boolean! + organizationUrl: URI """ - Identifies if the repository is a fork. + The user affected by the action """ - isFork: Boolean! + user: User """ - Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. + For actions involving two users, the actor is the initiator and the user is the affected user. """ - isInOrganization: Boolean! + userLogin: String """ - Indicates if the repository has been locked or not. + The HTTP path for the user. """ - isLocked: Boolean! + userResourcePath: URI """ - Identifies if the repository is a mirror. + The HTTP URL for the user. """ - isMirror: Boolean! + userUrl: URI +} +""" +A Dependabot alert for a repository with a dependency affected by a security vulnerability. +""" +type RepositoryVulnerabilityAlert implements Node & RepositoryNode { """ - Identifies if the repository is private or internal. + When was the alert auto-dismissed? """ - isPrivate: Boolean! + autoDismissedAt: DateTime """ - Returns true if this repository has a security policy + When was the alert created? """ - isSecurityPolicyEnabled: Boolean + createdAt: DateTime! """ - Identifies if the repository is a template that can be used to generate new repositories. + The associated Dependabot update """ - isTemplate: Boolean! + dependabotUpdate: DependabotUpdate """ - Is this repository a user configuration repository? + The scope of an alert's dependency """ - isUserConfigurationRepository: Boolean! + dependencyScope: RepositoryVulnerabilityAlertDependencyScope """ - Returns a single issue from the current repository by number. + Comment explaining the reason the alert was dismissed """ - issue( - """ - The number for the issue to be returned. - """ - number: Int! - ): Issue + dismissComment: String """ - Returns a single issue-like object from the current repository by number. + The reason the alert was dismissed """ - issueOrPullRequest( - """ - The number for the issue to be returned. - """ - number: Int! - ): IssueOrPullRequest + dismissReason: String """ - Returns a list of issue templates associated to the repository + When was the alert dismissed? """ - issueTemplates: [IssueTemplate!] + dismissedAt: DateTime """ - A list of issues that have been opened in the repository. + The user who dismissed the alert """ - issues( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + dismisser: User - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + When was the alert fixed? + """ + fixedAt: DateTime + id: ID! - """ - Filtering options for issues returned from the connection. - """ - filterBy: IssueFilters + """ + Identifies the alert number. + """ + number: Int! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The associated repository + """ + repository: Repository! - """ - A list of label names to filter the pull requests by. - """ - labels: [String!] + """ + The associated security advisory + """ + securityAdvisory: SecurityAdvisory - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The associated security vulnerability + """ + securityVulnerability: SecurityVulnerability - """ - Ordering options for issues returned from the connection. - """ - orderBy: IssueOrder + """ + Identifies the state of the alert. + """ + state: RepositoryVulnerabilityAlertState! - """ - A list of states to filter the issues by. - """ - states: [IssueState!] - ): IssueConnection! + """ + The vulnerable manifest filename + """ + vulnerableManifestFilename: String! """ - Returns a single label by name + The vulnerable manifest path """ - label( - """ - Label name - """ - name: String! - ): Label + vulnerableManifestPath: String! """ - A list of labels associated with the repository. + The vulnerable requirements """ - labels( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + vulnerableRequirements: String +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +The connection type for RepositoryVulnerabilityAlert. +""" +type RepositoryVulnerabilityAlertConnection { + """ + A list of edges. + """ + edges: [RepositoryVulnerabilityAlertEdge] - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + A list of nodes. + """ + nodes: [RepositoryVulnerabilityAlert] - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! - """ - Ordering options for labels returned from the connection. - """ - orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} - """ - If provided, searches labels by name and description. - """ - query: String - ): LabelConnection +""" +The possible scopes of an alert's dependency. +""" +enum RepositoryVulnerabilityAlertDependencyScope { + """ + A dependency that is only used in development + """ + DEVELOPMENT """ - A list containing a breakdown of the language composition of the repository. + A dependency that is leveraged during application runtime """ - languages( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + RUNTIME +} - """ - 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 +""" +The possible states of an alert +""" +enum RepositoryVulnerabilityAlertState { + """ + An alert that has been automatically closed by Dependabot. + """ + AUTO_DISMISSED - """ - Order for connection - """ - orderBy: LanguageOrder - ): LanguageConnection + """ + An alert that has been manually closed by a user. + """ + DISMISSED """ - Get the latest release for the repository if one exists. + An alert that has been resolved by a code change. """ - latestRelease: Release + FIXED """ - The license associated with the repository + An alert that is still open. """ - licenseInfo: License + OPEN +} +""" +Autogenerated input type of RequestReviews +""" +input RequestReviewsInput { """ - The reason the repository has been locked. + A unique identifier for the client performing the mutation. """ - lockReason: RepositoryLockReason + clientMutationId: String """ - A list of Users that can be mentioned in the context of the repository. + The Node ID of the pull request to modify. """ - mentionableUsers( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The Node IDs of the team to request. + """ + teamIds: [ID!] @possibleTypes(concreteTypes: ["Team"]) - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Add users to the set rather than replace. + """ + union: Boolean = false - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The Node IDs of the user to request. + """ + userIds: [ID!] @possibleTypes(concreteTypes: ["User"]) +} - """ - Filters users with query on user name and login - """ - query: String - ): UserConnection! +""" +Autogenerated return type of RequestReviews +""" +type RequestReviewsPayload { + """ + Identifies the actor who performed the event. + """ + actor: Actor """ - Whether or not PRs are merged with a merge commit on this repository. + A unique identifier for the client performing the mutation. """ - mergeCommitAllowed: Boolean! + clientMutationId: String """ - Returns a single milestone from the current repository by number. + The pull request that is getting requests. """ - milestone( - """ - The number for the milestone to be returned. - """ - number: Int! - ): Milestone + pullRequest: PullRequest """ - A list of milestones associated with the repository. + The edge from the pull request to the requested reviewers. """ - milestones( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + requestedReviewersEdge: UserEdge +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +The possible states that can be requested when creating a check run. +""" +enum RequestableCheckStatusState { + """ + The check suite or run has been completed. + """ + COMPLETED - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The check suite or run is in progress. + """ + IN_PROGRESS - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The check suite or run is in pending state. + """ + PENDING - """ - Ordering options for milestones. - """ - orderBy: MilestoneOrder + """ + The check suite or run has been queued. + """ + QUEUED - """ - Filters milestones with a query on the title - """ - query: String + """ + The check suite or run is in waiting state. + """ + WAITING +} - """ - Filter by the state of the milestones. - """ - states: [MilestoneState!] - ): MilestoneConnection +""" +Types that can be requested reviewers. +""" +union RequestedReviewer = Bot | Mannequin | Team | User +""" +The connection type for RequestedReviewer. +""" +type RequestedReviewerConnection { """ - The repository's original mirror URL. + A list of edges. """ - mirrorUrl: URI + edges: [RequestedReviewerEdge] """ - The name of the repository. + A list of nodes. """ - name: String! + nodes: [RequestedReviewer] """ - The repository's name with owner. + Information to aid in pagination. """ - nameWithOwner: String! + pageInfo: PageInfo! """ - A Git object in the repository + Identifies the total count of items in the connection. """ - object( - """ - A Git revision expression suitable for rev-parse - """ - expression: String - - """ - The Git object ID - """ - oid: GitObjectID - ): GitObject + totalCount: Int! +} +""" +An edge in a connection. +""" +type RequestedReviewerEdge { """ - The image used to represent this repository in Open Graph data. + A cursor for use in pagination. """ - openGraphImageUrl: URI! + cursor: String! """ - The User owner of the repository. + The item at the end of the edge. """ - owner: RepositoryOwner! + node: RequestedReviewer +} +""" +Represents a type that can be required by a pull request for merging. +""" +interface RequirableByPullRequest { """ - A list of packages under the owner. + Whether this is required to pass before merging for a specific pull request. """ - 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] - - """ - Ordering of the returned packages. - """ - orderBy: PackageOrder = {field: CREATED_AT, direction: DESC} - + isRequired( """ - Filter registry package by type. + The id of the pull request this is required for """ - packageType: PackageType + pullRequestId: ID """ - Find packages in a repository by ID. + The number of the pull request this is required for """ - repositoryId: ID - ): PackageConnection! + pullRequestNumber: Int + ): Boolean! +} +""" +Choose which environments must be successfully deployed to before branches can +be merged into a branch that matches this rule. +""" +type RequiredDeploymentsParameters { """ - The repository parent, if this is a fork. + The environments that must be successfully deployed to before branches can be merged. """ - parent: Repository + requiredDeploymentEnvironments: [String!]! +} +""" +Choose which environments must be successfully deployed to before branches can +be merged into a branch that matches this rule. +""" +input RequiredDeploymentsParametersInput { """ - A list of discussions that have been pinned in this repository. + The environments that must be successfully deployed to before branches can be merged. """ - pinnedDiscussions( - """ - 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 - ): PinnedDiscussionConnection! + requiredDeploymentEnvironments: [String!]! +} +""" +Represents a required status check for a protected branch, but not any specific run of that check. +""" +type RequiredStatusCheckDescription { """ - A list of pinned issues for this repository. + The App that must provide this status in order for it to be accepted. """ - pinnedIssues( - """ - 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 - ): PinnedIssueConnection + app: App """ - The primary language of the repository's code. + The name of this status. """ - primaryLanguage: Language + context: String! +} +""" +Specifies the attributes for a new or updated required status check. +""" +input RequiredStatusCheckInput { """ - Find project by number. + 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. """ - project( - """ - The project number to find. - """ - number: Int! - ): Project + appId: ID """ - A list of projects under the owner. + Status check context that must pass for commits to be accepted to the matching branch. """ - projects( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + context: String! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +Choose which status checks must pass before branches can be merged into a branch +that matches this rule. When enabled, commits must first be pushed to another +branch, then merged or pushed directly to a branch that matches this rule after +status checks have passed. +""" +type RequiredStatusChecksParameters { + """ + Status checks that are required. + """ + requiredStatusChecks: [StatusCheckConfiguration!]! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Whether pull requests targeting a matching branch must be tested with the + latest code. This setting will not take effect unless at least one status + check is enabled. + """ + strictRequiredStatusChecksPolicy: Boolean! +} - """ - Returns the last _n_ elements from the list. - """ - last: Int +""" +Choose which status checks must pass before branches can be merged into a branch +that matches this rule. When enabled, commits must first be pushed to another +branch, then merged or pushed directly to a branch that matches this rule after +status checks have passed. +""" +input RequiredStatusChecksParametersInput { + """ + Status checks that are required. + """ + requiredStatusChecks: [StatusCheckConfigurationInput!]! - """ - Ordering options for projects returned from the connection - """ - orderBy: ProjectOrder + """ + Whether pull requests targeting a matching branch must be tested with the + latest code. This setting will not take effect unless at least one status + check is enabled. + """ + strictRequiredStatusChecksPolicy: Boolean! +} - """ - Query to search projects by, currently only searching by name. - """ - search: String +""" +Autogenerated input type of RerequestCheckSuite +""" +input RerequestCheckSuiteInput { + """ + The Node ID of the check suite. + """ + checkSuiteId: ID! @possibleTypes(concreteTypes: ["CheckSuite"]) - """ - A list of states to filter the projects by. - """ - states: [ProjectState!] - ): ProjectConnection! + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String """ - The HTTP path listing the repository's projects + The Node ID of the repository. """ - projectsResourcePath: URI! + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) +} +""" +Autogenerated return type of RerequestCheckSuite +""" +type RerequestCheckSuitePayload { """ - The HTTP URL listing the repository's projects + The requested check suite. """ - projectsUrl: URI! + checkSuite: CheckSuite """ - Returns a single pull request from the current repository by number. + A unique identifier for the client performing the mutation. """ - pullRequest( - """ - The number for the pull request to be returned. - """ - number: Int! - ): PullRequest + clientMutationId: String +} +""" +Autogenerated input type of ResolveReviewThread +""" +input ResolveReviewThreadInput { """ - Returns a list of pull request templates associated to the repository + A unique identifier for the client performing the mutation. """ - pullRequestTemplates: [PullRequestTemplate!] + clientMutationId: String """ - A list of pull requests that have been opened in the repository. + The ID of the thread to resolve """ - pullRequests( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + threadId: ID! @possibleTypes(concreteTypes: ["PullRequestReviewThread"]) +} - """ - The base ref name to filter the pull requests by. - """ - baseRefName: String +""" +Autogenerated return type of ResolveReviewThread +""" +type ResolveReviewThreadPayload { + """ + 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 + """ + The thread to resolve. + """ + thread: PullRequestReviewThread +} - """ - Returns the first _n_ elements from the list. - """ - first: Int +""" +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! - """ - The head ref name to filter the pull requests by. - """ - headRefName: String + """ + When this contribution was made. + """ + occurredAt: DateTime! - """ - A list of label names to filter the pull requests by. - """ - labels: [String!] + """ + The HTTP path for this contribution. + """ + resourcePath: URI! - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The HTTP URL for this contribution. + """ + url: URI! - """ - Ordering options for pull requests returned from the connection. - """ - orderBy: IssueOrder + """ + The user who made this contribution. + """ + user: User! +} - """ - A list of states to filter the pull requests by. - """ - states: [PullRequestState!] - ): PullRequestConnection! +""" +Autogenerated input type of RetireSponsorsTier +""" +input RetireSponsorsTierInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String """ - Identifies when the repository was last pushed to. + The ID of the published tier to retire. """ - pushedAt: DateTime + tierId: ID! @possibleTypes(concreteTypes: ["SponsorsTier"]) +} +""" +Autogenerated return type of RetireSponsorsTier +""" +type RetireSponsorsTierPayload { """ - Whether or not rebase-merging is enabled on this repository. + A unique identifier for the client performing the mutation. """ - rebaseMergeAllowed: Boolean! + clientMutationId: String """ - Fetch a given ref from the repository + The tier that was retired. """ - 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 + sponsorsTier: SponsorsTier +} +""" +Autogenerated input type of RevertPullRequest +""" +input RevertPullRequestInput { """ - Fetch a list of refs from the repository + The description of the revert pull request. """ - refs( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + body: String - """ - 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 - """ - DEPRECATED: use orderBy. The ordering direction. - """ - direction: OrderDirection + """ + Indicates whether the revert pull request should be a draft. + """ + draft: Boolean = false - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The ID of the pull request to revert. + """ + pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The title of the revert pull request. + """ + title: String +} - """ - Ordering options for refs returned from the connection. - """ - orderBy: RefOrder +""" +Autogenerated return type of RevertPullRequest +""" +type RevertPullRequestPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String - """ - Filters refs with query on name - """ - query: String + """ + The pull request that was reverted. + """ + pullRequest: PullRequest - """ - A ref name prefix like `refs/heads/`, `refs/tags/`, etc. - """ - refPrefix: String! - ): RefConnection + """ + The new pull request that reverts the input pull request. + """ + revertPullRequest: PullRequest +} +""" +A user, team, or app who has the ability to dismiss a review on a protected branch. +""" +type ReviewDismissalAllowance implements Node { """ - Lookup a single release given various criteria. + The actor that can dismiss. """ - release( - """ - The name of the Tag the Release was created from - """ - tagName: String! - ): Release + actor: ReviewDismissalAllowanceActor """ - List of releases which are dependent on this repository. + Identifies the branch protection rule associated with the allowed user, team, or app. """ - releases( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + branchProtectionRule: BranchProtectionRule + id: ID! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +Types that can be an actor. +""" +union ReviewDismissalAllowanceActor = App | Team | User - """ - Returns the first _n_ elements from the list. - """ - first: Int +""" +The connection type for ReviewDismissalAllowance. +""" +type ReviewDismissalAllowanceConnection { + """ + A list of edges. + """ + edges: [ReviewDismissalAllowanceEdge] - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + A list of nodes. + """ + nodes: [ReviewDismissalAllowance] - """ - Order for connection - """ - orderBy: ReleaseOrder - ): ReleaseConnection! + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! """ - A list of applied repository-topic associations for this repository. + Identifies the total count of items in the connection. """ - repositoryTopics( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + totalCount: Int! +} - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String +""" +An edge in a connection. +""" +type ReviewDismissalAllowanceEdge { + """ + 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: ReviewDismissalAllowance +} - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): RepositoryTopicConnection! +""" +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 """ - The HTTP path for this repository + Identifies the date and time when the object was created. """ - resourcePath: URI! + createdAt: DateTime! """ - The security policy URL. + Identifies the primary key from the database. """ - securityPolicyUrl: URI + databaseId: Int """ - A description of the repository, rendered to HTML without any links in it. + Identifies the optional message associated with the 'review_dismissed' event. """ - shortDescriptionHTML( - """ - How many characters to return. - """ - limit: Int = 200 - ): HTML! + dismissalMessage: String """ - Whether or not squash-merging is enabled on this repository. + Identifies the optional message associated with the event, rendered to HTML. """ - squashMergeAllowed: Boolean! + dismissalMessageHTML: String + id: ID! """ - The SSH URL to clone this repository + Identifies the previous state of the review with the 'review_dismissed' event. """ - sshUrl: GitSSHRemote! + previousReviewState: PullRequestReviewState! """ - Returns a count of how many stargazers there are on this object + PullRequest referenced by event. """ - stargazerCount: Int! + pullRequest: PullRequest! """ - A list of users who have starred this starrable. + Identifies the commit which caused the review to become stale. """ - stargazers( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + pullRequestCommit: PullRequestCommit - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The HTTP path for this review dismissed event. + """ + resourcePath: URI! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Identifies the review associated with the 'review_dismissed' event. + """ + review: PullRequestReview - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + The HTTP URL for this review dismissed event. + """ + url: URI! +} - """ - Order for connection - """ - orderBy: StarOrder - ): StargazerConnection! +""" +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! """ - Returns a list of all submodules in this repository parsed from the - .gitmodules file as of the default branch's HEAD commit. + Identifies the primary key from the database. """ - submodules( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + databaseId: Int + id: ID! - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Identifies the pull request associated with this review request. + """ + pullRequest: PullRequest! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The reviewer that is requested. + """ + requestedReviewer: RequestedReviewer +} - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): SubmoduleConnection! +""" +The connection type for ReviewRequest. +""" +type ReviewRequestConnection { + """ + A list of edges. + """ + edges: [ReviewRequestEdge] """ - Temporary authentication token for cloning this repository. + A list of nodes. """ - tempCloneToken: String + nodes: [ReviewRequest] """ - The repository from which this repository was generated, if any. + Information to aid in pagination. """ - templateRepository: Repository + pageInfo: PageInfo! """ - Identifies the date and time when the object was last updated. + Identifies the total count of items in the connection. """ - updatedAt: DateTime! + totalCount: Int! +} +""" +An edge in a connection. +""" +type ReviewRequestEdge { """ - The HTTP URL for this repository + A cursor for use in pagination. """ - url: URI! + cursor: String! """ - Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. + The item at the end of the edge. """ - usesCustomOpenGraphImage: Boolean! + node: ReviewRequest +} +""" +Represents an 'review_request_removed' event on a given pull request. +""" +type ReviewRequestRemovedEvent implements Node { """ - Indicates whether the viewer has admin permissions on this repository. + Identifies the actor who performed the event. """ - viewerCanAdminister: Boolean! + actor: Actor """ - Can the current viewer create new projects on this owner. + Identifies the date and time when the object was created. """ - viewerCanCreateProjects: Boolean! + createdAt: DateTime! + id: ID! """ - Check if the viewer is able to change their subscription status for the repository. + PullRequest referenced by event. """ - viewerCanSubscribe: Boolean! + pullRequest: PullRequest! """ - Indicates whether the viewer can update the topics of this repository. + Identifies the reviewer whose review request was removed. """ - viewerCanUpdateTopics: Boolean! + requestedReviewer: RequestedReviewer +} +""" +Represents an 'review_requested' event on a given pull request. +""" +type ReviewRequestedEvent implements Node { """ - The last commit email for the viewer. + Identifies the actor who performed the event. """ - viewerDefaultCommitEmail: String + actor: Actor """ - The last used merge method by the viewer or the default for the repository. + Identifies the date and time when the object was created. """ - viewerDefaultMergeMethod: PullRequestMergeMethod! + createdAt: DateTime! + id: ID! """ - Returns a boolean indicating whether the viewing user has starred this starrable. + PullRequest referenced by event. """ - viewerHasStarred: Boolean! + pullRequest: PullRequest! """ - The users permission level on the repository. Will return null if authenticated as an GitHub App. + Identifies the reviewer whose review was requested. """ - viewerPermission: RepositoryPermission + requestedReviewer: RequestedReviewer +} +""" +A hovercard context with a message describing the current code review state of the pull +request. +""" +type ReviewStatusHovercardContext implements HovercardContext { """ - A list of emails this viewer can commit with. + A string describing this context """ - viewerPossibleCommitEmails: [String!] + message: String! """ - Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. + An octicon to accompany this context """ - viewerSubscription: SubscriptionState + octicon: String! """ - Indicates the repository's visibility level. + The current status of the pull request with respect to code review. """ - visibility: RepositoryVisibility! + reviewDecision: PullRequestReviewDecision +} +""" +Autogenerated input type of RevokeEnterpriseOrganizationsMigratorRole +""" +input RevokeEnterpriseOrganizationsMigratorRoleInput { """ - A list of vulnerability alerts that are on this repository. + A unique identifier for the client performing the mutation. """ - vulnerabilityAlerts( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + clientMutationId: String - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + The ID of the enterprise to which all organizations managed by it will be granted the migrator role. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) - """ - 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 - ): RepositoryVulnerabilityAlertConnection +""" +Autogenerated return type of RevokeEnterpriseOrganizationsMigratorRole +""" +type RevokeEnterpriseOrganizationsMigratorRolePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String """ - A list of users watching the repository. + The organizations that had the migrator role revoked for the given user. """ - watchers( + organizations( """ Returns the elements in the list that come after the specified cursor. """ @@ -34829,271 +46289,269 @@ type Repository implements Node & PackageOwner & ProjectOwner & RepositoryInfo & Returns the last _n_ elements from the list. """ last: Int - ): UserConnection! + ): OrganizationConnection } """ -The affiliation of a user to a repository +Autogenerated input type of RevokeMigratorRole """ -enum RepositoryAffiliation { +input RevokeMigratorRoleInput { """ - Repositories that the user has been added to as a collaborator. + The user login or Team slug to revoke the migrator role from. """ - COLLABORATOR + actor: String! """ - 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. + Specifies the type of the actor, can be either USER or TEAM. """ - ORGANIZATION_MEMBER + actorType: ActorType! """ - Repositories that are owned by the authenticated user. + A unique identifier for the client performing the mutation. """ - OWNER + clientMutationId: String + + """ + The ID of the organization that the user/team belongs to. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) } """ -Metadata for an audit entry with action repo.* +Autogenerated return type of RevokeMigratorRole """ -interface RepositoryAuditEntryData { +type RevokeMigratorRolePayload { """ - The repository associated with the action + A unique identifier for the client performing the mutation. """ - repository: Repository + clientMutationId: String """ - The name of the repository + Did the operation succeed? """ - repositoryName: String + success: Boolean +} +""" +Possible roles a user may have in relation to an organization. +""" +enum RoleInOrganization { """ - The HTTP path for the repository + A user who is a direct member of the organization. """ - repositoryResourcePath: URI + DIRECT_MEMBER """ - The HTTP URL for the repository + A user with full administrative access to the organization. """ - repositoryUrl: URI -} + OWNER -""" -The connection type for User. -""" -type RepositoryCollaboratorConnection { """ - A list of edges. + A user who is unaffiliated with the organization. """ - edges: [RepositoryCollaboratorEdge] + UNAFFILIATED +} +""" +The level of enforcement for a rule or ruleset. +""" +enum RuleEnforcement { """ - A list of nodes. + Rules will be enforced """ - nodes: [User] + ACTIVE """ - Information to aid in pagination. + Do not evaluate or enforce rules """ - pageInfo: PageInfo! + DISABLED """ - Identifies the total count of items in the connection. + Allow admins to test rules before enforcing them. Admins can view insights on + the Rule Insights page (`evaluate` is only available with GitHub Enterprise). """ - totalCount: Int! + EVALUATE } """ -Represents a user who is a collaborator of a repository. +Types which can be parameters for `RepositoryRule` objects. """ -type RepositoryCollaboratorEdge { +union RuleParameters = + BranchNamePatternParameters + | CommitAuthorEmailPatternParameters + | CommitMessagePatternParameters + | CommitterEmailPatternParameters + | PullRequestParameters + | RequiredDeploymentsParameters + | RequiredStatusChecksParameters + | TagNamePatternParameters + | UpdateParameters + +""" +Specifies the parameters for a `RepositoryRule` object. Only one of the fields should be specified. +""" +input RuleParametersInput { """ - A cursor for use in pagination. + Parameters used for the `branch_name_pattern` rule type """ - cursor: String! - node: User! + branchNamePattern: BranchNamePatternParametersInput """ - The permission the user has on the repository. + Parameters used for the `commit_author_email_pattern` rule type """ - permission: RepositoryPermission! + commitAuthorEmailPattern: CommitAuthorEmailPatternParametersInput """ - A list of sources for the user's access to the repository. + Parameters used for the `commit_message_pattern` rule type """ - permissionSources: [PermissionSource!] -} + commitMessagePattern: CommitMessagePatternParametersInput -""" -A list of repositories owned by the subject. -""" -type RepositoryConnection { """ - A list of edges. + Parameters used for the `committer_email_pattern` rule type """ - edges: [RepositoryEdge] + committerEmailPattern: CommitterEmailPatternParametersInput """ - A list of nodes. + Parameters used for the `pull_request` rule type """ - nodes: [Repository] + pullRequest: PullRequestParametersInput """ - Information to aid in pagination. + Parameters used for the `required_deployments` rule type """ - pageInfo: PageInfo! + requiredDeployments: RequiredDeploymentsParametersInput """ - Identifies the total count of items in the connection. + Parameters used for the `required_status_checks` rule type """ - totalCount: Int! + requiredStatusChecks: RequiredStatusChecksParametersInput """ - The total size in kilobytes of all repositories in the connection. + Parameters used for the `tag_name_pattern` rule type """ - totalDiskUsage: Int! + tagNamePattern: TagNamePatternParametersInput + + """ + Parameters used for the `update` rule type + """ + update: UpdateParametersInput } """ -A repository contact link. +Types which can have `RepositoryRule` objects. """ -type RepositoryContactLink { +union RuleSource = Organization | Repository + +""" +The possible digest algorithms used to sign SAML requests for an identity provider. +""" +enum SamlDigestAlgorithm { """ - The contact link purpose. + SHA1 """ - about: String! + SHA1 """ - The contact link name. + SHA256 """ - name: String! + SHA256 """ - The contact link URL. + SHA384 """ - url: URI! -} + SHA384 -""" -The reason a repository is listed as 'contributed'. -""" -enum RepositoryContributionType { """ - Created a commit + SHA512 """ - COMMIT + SHA512 +} +""" +The possible signature algorithms used to sign SAML requests for a Identity Provider. +""" +enum SamlSignatureAlgorithm { """ - Created an issue + RSA-SHA1 """ - ISSUE + RSA_SHA1 """ - Created a pull request + RSA-SHA256 """ - PULL_REQUEST + RSA_SHA256 """ - Reviewed a pull request + RSA-SHA384 """ - PULL_REQUEST_REVIEW + RSA_SHA384 """ - Created the repository + RSA-SHA512 """ - REPOSITORY + RSA_SHA512 } """ -Represents an author of discussions in repositories. +A Saved Reply is text a user can use to reply quickly. """ -interface RepositoryDiscussionAuthor { +type SavedReply implements Node { """ - Discussions this user has started. + The body of the saved reply. """ - repositoryDiscussions( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String - - """ - Filter discussions to only those that have been answered or not. Defaults to - including both answered and unanswered discussions. - """ - answered: Boolean = null - - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + body: String! - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + The saved reply body rendered to HTML. + """ + bodyHTML: HTML! - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Identifies the primary key from the database. + """ + databaseId: Int + id: ID! - """ - Ordering options for discussions returned from the connection. - """ - orderBy: DiscussionOrder = {field: CREATED_AT, direction: DESC} + """ + The title of the saved reply. + """ + title: String! - """ - Filter discussions to only those in a specific repository. - """ - repositoryId: ID - ): DiscussionConnection! + """ + The user that saved this reply. + """ + user: Actor } """ -Represents an author of discussion comments in repositories. +The connection type for SavedReply. """ -interface RepositoryDiscussionCommentAuthor { +type SavedReplyConnection { """ - Discussion comments this user has authored. + A list of edges. """ - 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 + edges: [SavedReplyEdge] - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + A list of nodes. + """ + nodes: [SavedReply] - """ - Filter discussion comments to only those that were marked as the answer - """ - onlyAnswers: Boolean = false + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! - """ - Filter discussion comments to only those in a specific repository. - """ - repositoryId: ID - ): DiscussionCommentConnection! + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! } """ An edge in a connection. """ -type RepositoryEdge { +type SavedReplyEdge { """ A cursor for use in pagination. """ @@ -35102,324 +46560,411 @@ type RepositoryEdge { """ The item at the end of the edge. """ - node: Repository + node: SavedReply +} + +""" +Ordering options for saved reply connections. +""" +input SavedReplyOrder { + """ + The ordering direction. + """ + direction: OrderDirection! + + """ + The field to order saved replies by. + """ + field: SavedReplyOrderField! +} + +""" +Properties by which saved reply connections can be ordered. +""" +enum SavedReplyOrderField { + """ + Order saved reply by when they were updated. + """ + UPDATED_AT } """ -A subset of repository info. +The results of a search. +""" +union SearchResultItem = App | Discussion | Issue | MarketplaceListing | Organization | PullRequest | Repository | User + +""" +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. """ -interface RepositoryInfo { +type SearchResultItemConnection { """ - Identifies the date and time when the object was created. + 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. """ - createdAt: DateTime! + codeCount: Int! """ - The description of the repository. + 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. """ - description: String + discussionCount: Int! """ - The description of the repository rendered to HTML. + A list of edges. """ - descriptionHTML: HTML! + edges: [SearchResultItemEdge] """ - Returns how many forks there are of this repository in the whole network. + 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. """ - forkCount: Int! + issueCount: Int! """ - Indicates if the repository has issues feature enabled. + A list of nodes. """ - hasIssuesEnabled: Boolean! + nodes: [SearchResultItem] """ - Indicates if the repository has the Projects feature enabled. + Information to aid in pagination. """ - hasProjectsEnabled: Boolean! + pageInfo: PageInfo! """ - Indicates if the repository has wiki feature enabled. + 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. """ - hasWikiEnabled: Boolean! + repositoryCount: Int! """ - The repository's URL. + 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. """ - homepageUrl: URI + userCount: Int! """ - Indicates if the repository is unmaintained. + 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. """ - isArchived: Boolean! + wikiCount: Int! +} +""" +An edge in a connection. +""" +type SearchResultItemEdge { """ - Identifies if the repository is a fork. + A cursor for use in pagination. """ - isFork: Boolean! + cursor: String! """ - Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. + The item at the end of the edge. """ - isInOrganization: Boolean! + node: SearchResultItem """ - Indicates if the repository has been locked or not. + Text matches on the result found. """ - isLocked: Boolean! + textMatches: [TextMatch] +} +""" +Represents the individual results of a search. +""" +enum SearchType { """ - Identifies if the repository is a mirror. + Returns matching discussions in repositories. """ - isMirror: Boolean! + DISCUSSION """ - Identifies if the repository is private or internal. + Returns results matching issues in repositories. """ - isPrivate: Boolean! + ISSUE """ - Identifies if the repository is a template that can be used to generate new repositories. + Returns results matching repositories. """ - isTemplate: Boolean! + REPOSITORY """ - The license associated with the repository + Returns results matching users and organizations on GitHub. """ - licenseInfo: License + USER +} +""" +A GitHub Security Advisory +""" +type SecurityAdvisory implements Node { """ - The reason the repository has been locked. + The classification of the advisory """ - lockReason: RepositoryLockReason + classification: SecurityAdvisoryClassification! """ - The repository's original mirror URL. + The CVSS associated with this advisory """ - mirrorUrl: URI + cvss: CVSS! """ - The name of the repository. + CWEs associated with this Advisory """ - name: String! + cwes( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The repository's name with owner. - """ - nameWithOwner: 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 + ): CWEConnection! """ - The image used to represent this repository in Open Graph data. + Identifies the primary key from the database. """ - openGraphImageUrl: URI! + databaseId: Int """ - The User owner of the repository. + This is a long plaintext description of the advisory """ - owner: RepositoryOwner! + description: String! """ - Identifies when the repository was last pushed to. + The GitHub Security Advisory ID """ - pushedAt: DateTime + ghsaId: String! + id: ID! """ - The HTTP path for this repository + A list of identifiers for this advisory """ - resourcePath: URI! + identifiers: [SecurityAdvisoryIdentifier!]! """ - A description of the repository, rendered to HTML without any links in it. + The permalink for the advisory's dependabot alerts page """ - shortDescriptionHTML( - """ - How many characters to return. - """ - limit: Int = 200 - ): HTML! + notificationsPermalink: URI """ - Identifies the date and time when the object was last updated. + The organization that originated the advisory """ - updatedAt: DateTime! + origin: String! """ - The HTTP URL for this repository + The permalink for the advisory """ - url: URI! + permalink: URI """ - Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. + When the advisory was published """ - usesCustomOpenGraphImage: Boolean! + publishedAt: DateTime! """ - Indicates the repository's visibility level. + A list of references for this advisory """ - visibility: RepositoryVisibility! -} + references: [SecurityAdvisoryReference!]! -""" -Repository interaction limit that applies to this object. -""" -type RepositoryInteractionAbility { """ - The time the currently active limit expires. + The severity of the advisory """ - expiresAt: DateTime + severity: SecurityAdvisorySeverity! """ - The current limit that is enabled on this object. + A short plaintext summary of the advisory """ - limit: RepositoryInteractionLimit! + summary: String! """ - The origin of the currently active interaction limit. + When the advisory was last updated """ - origin: RepositoryInteractionLimitOrigin! -} + updatedAt: DateTime! -""" -A repository interaction limit. -""" -enum RepositoryInteractionLimit { """ - Users that are not collaborators will not be able to interact with the repository. + Vulnerabilities associated with this Advisory """ - COLLABORATORS_ONLY + vulnerabilities( + """ + 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 list of advisory classifications to filter vulnerabilities by. + """ + classifications: [SecurityAdvisoryClassification!] + + """ + An ecosystem to filter vulnerabilities by. + """ + ecosystem: SecurityAdvisoryEcosystem + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for the returned topics. + """ + orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} + + """ + A package name to filter vulnerabilities by. + """ + package: String + + """ + A list of severities to filter vulnerabilities by. + """ + severities: [SecurityAdvisorySeverity!] + ): SecurityVulnerabilityConnection! """ - Users that have not previously committed to a repository’s default branch will be unable to interact with the repository. + When the advisory was withdrawn, if it has been withdrawn """ - CONTRIBUTORS_ONLY + withdrawnAt: DateTime +} +""" +Classification of the advisory. +""" +enum SecurityAdvisoryClassification { """ - Users that have recently created their account will be unable to interact with the repository. + Classification of general advisories. """ - EXISTING_USERS + GENERAL """ - No interaction limits are enabled. + Classification of malware advisories. """ - NO_LIMIT + MALWARE } """ -The length for a repository interaction limit to be enabled for. +The connection type for SecurityAdvisory. """ -enum RepositoryInteractionLimitExpiry { - """ - The interaction limit will expire after 1 day. - """ - ONE_DAY - +type SecurityAdvisoryConnection { """ - The interaction limit will expire after 1 month. + A list of edges. """ - ONE_MONTH + edges: [SecurityAdvisoryEdge] """ - The interaction limit will expire after 1 week. + A list of nodes. """ - ONE_WEEK + nodes: [SecurityAdvisory] """ - The interaction limit will expire after 6 months. + Information to aid in pagination. """ - SIX_MONTHS + pageInfo: PageInfo! """ - The interaction limit will expire after 3 days. + Identifies the total count of items in the connection. """ - THREE_DAYS + totalCount: Int! } """ -Indicates where an interaction limit is configured. +The possible ecosystems of a security vulnerability's package. """ -enum RepositoryInteractionLimitOrigin { - """ - A limit that is configured at the organization level. - """ - ORGANIZATION - +enum SecurityAdvisoryEcosystem { """ - A limit that is configured at the repository level. + GitHub Actions """ - REPOSITORY + ACTIONS """ - A limit that is configured at the user-wide level. + PHP packages hosted at packagist.org """ - USER -} + COMPOSER -""" -An invitation for a user to be added to a repository. -""" -type RepositoryInvitation implements Node { """ - The email address that received the invitation. + Erlang/Elixir packages hosted at hex.pm """ - email: String - id: ID! + ERLANG """ - The user who received the invitation. + Go modules """ - invitee: User + GO """ - The user who created the invitation. + Java artifacts hosted at the Maven central repository """ - inviter: User! + MAVEN """ - The permalink for this repository invitation. + JavaScript packages hosted at npmjs.com """ - permalink: URI! + NPM """ - The permission granted on this repository by this invitation. + .NET packages hosted at the NuGet Gallery """ - permission: RepositoryPermission! + NUGET """ - The Repository the user is invited to. + Python packages hosted at PyPI.org """ - repository: RepositoryInfo -} + PIP -""" -The connection type for RepositoryInvitation. -""" -type RepositoryInvitationConnection { """ - A list of edges. + Dart packages hosted at pub.dev """ - edges: [RepositoryInvitationEdge] + PUB """ - A list of nodes. + Ruby gems hosted at RubyGems.org """ - nodes: [RepositoryInvitation] + RUBYGEMS """ - Information to aid in pagination. + Rust crates """ - pageInfo: PageInfo! + RUST """ - Identifies the total count of items in the connection. + Swift packages """ - totalCount: Int! + SWIFT } """ An edge in a connection. """ -type RepositoryInvitationEdge { +type SecurityAdvisoryEdge { """ A cursor for use in pagination. """ @@ -35428,303 +46973,198 @@ type RepositoryInvitationEdge { """ The item at the end of the edge. """ - node: RepositoryInvitation + node: SecurityAdvisory } """ -Ordering options for repository invitation connections. +A GitHub Security Advisory Identifier """ -input RepositoryInvitationOrder { +type SecurityAdvisoryIdentifier { """ - The ordering direction. + The identifier type, e.g. GHSA, CVE """ - direction: OrderDirection! + type: String! """ - The field to order repository invitations by. + The identifier """ - field: RepositoryInvitationOrderField! + value: String! } """ -Properties by which repository invitation connections can be ordered. +An advisory identifier to filter results on. """ -enum RepositoryInvitationOrderField { +input SecurityAdvisoryIdentifierFilter { """ - Order repository invitations by creation time + The identifier type. """ - CREATED_AT + type: SecurityAdvisoryIdentifierType! """ - Order repository invitations by invitee login + The identifier string. Supports exact or partial matching. """ - INVITEE_LOGIN - @deprecated( - reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations can now be associated with an email, not only an invitee. Removal on 2020-10-01 UTC." - ) + value: String! } """ -The possible reasons a given repository could be in a locked state. +Identifier formats available for advisories. """ -enum RepositoryLockReason { - """ - The repository is locked due to a billing related reason. - """ - BILLING - - """ - The repository is locked due to a migration. - """ - MIGRATING - - """ - The repository is locked due to a move. - """ - MOVING - +enum SecurityAdvisoryIdentifierType { """ - The repository is locked due to a rename. + Common Vulnerabilities and Exposures Identifier. """ - RENAME -} + CVE -""" -Represents a object that belongs to a repository. -""" -interface RepositoryNode { """ - The repository associated with this node. + GitHub Security Advisory ID. """ - repository: Repository! + GHSA } """ -Ordering options for repository connections +Ordering options for security advisory connections """ -input RepositoryOrder { +input SecurityAdvisoryOrder { """ The ordering direction. """ direction: OrderDirection! """ - The field to order repositories by. + The field to order security advisories by. """ - field: RepositoryOrderField! + field: SecurityAdvisoryOrderField! } """ -Properties by which repository connections can be ordered. +Properties by which security advisory connections can be ordered. """ -enum RepositoryOrderField { - """ - Order repositories by creation time - """ - CREATED_AT - - """ - Order repositories by name - """ - NAME - - """ - Order repositories by push time - """ - PUSHED_AT - +enum SecurityAdvisoryOrderField { """ - Order repositories by number of stargazers + Order advisories by publication time """ - STARGAZERS + PUBLISHED_AT """ - Order repositories by update time + Order advisories by update time """ UPDATED_AT } """ -Represents an owner of a Repository. +An individual package """ -interface RepositoryOwner { - """ - A URL pointing to the owner's public avatar. - """ - avatarUrl( - """ - The size of the resulting square image. - """ - size: Int - ): URI! - id: ID! - - """ - The username used to login. - """ - login: String! - +type SecurityAdvisoryPackage { """ - A list of repositories that the user owns. + The ecosystem the package belongs to, e.g. RUBYGEMS, NPM """ - repositories( - """ - 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] - - """ - 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 - - """ - If non-null, filters repositories according to whether they are forks of another repository - """ - isFork: Boolean - - """ - If non-null, filters repositories according to whether they have been locked - """ - isLocked: Boolean - - """ - Returns the last _n_ elements from the list. - """ - last: Int - - """ - Ordering options for repositories returned from the connection - """ - orderBy: RepositoryOrder - - """ - 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 privacy - """ - privacy: RepositoryPrivacy - ): RepositoryConnection! + ecosystem: SecurityAdvisoryEcosystem! """ - Find Repository. + The package name """ - repository( - """ - Name of Repository to find. - """ - name: String! - ): Repository + name: String! +} +""" +An individual package version +""" +type SecurityAdvisoryPackageVersion { """ - The HTTP URL for the owner. + The package name or version """ - resourcePath: URI! + identifier: String! +} +""" +A GitHub Security Advisory Reference +""" +type SecurityAdvisoryReference { """ - The HTTP URL for the owner. + A publicly accessible reference """ url: URI! } """ -The access level to a repository +Severity of the vulnerability. """ -enum RepositoryPermission { - """ - Can read, clone, and push to this repository. Can also manage issues, pull - requests, and repository settings, including adding collaborators - """ - ADMIN - +enum SecurityAdvisorySeverity { """ - Can read, clone, and push to this repository. They can also manage issues, pull requests, and some repository settings + Critical. """ - MAINTAIN + CRITICAL """ - Can read and clone this repository. Can also open and comment on issues and pull requests + High. """ - READ + HIGH """ - Can read and clone this repository. Can also manage issues and pull requests + Low. """ - TRIAGE + LOW """ - Can read, clone, and push to this repository. Can also manage issues and pull requests + Moderate. """ - WRITE + MODERATE } """ -The privacy of a repository +An individual vulnerability within an Advisory """ -enum RepositoryPrivacy { +type SecurityVulnerability { """ - Private + The Advisory associated with this Vulnerability """ - PRIVATE + advisory: SecurityAdvisory! """ - Public + The first version containing a fix for the vulnerability """ - PUBLIC -} + firstPatchedVersion: SecurityAdvisoryPackageVersion -""" -A repository-topic connects a repository to a topic. -""" -type RepositoryTopic implements Node & UniformResourceLocatable { - id: ID! + """ + A description of the vulnerable package + """ + package: SecurityAdvisoryPackage! """ - The HTTP path for this repository-topic. + The severity of the vulnerability within this package """ - resourcePath: URI! + severity: SecurityAdvisorySeverity! """ - The topic. + When the vulnerability was last updated """ - topic: Topic! + updatedAt: DateTime! """ - The HTTP URL for this repository-topic. + 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 """ - url: URI! + vulnerableVersionRange: String! } """ -The connection type for RepositoryTopic. +The connection type for SecurityVulnerability. """ -type RepositoryTopicConnection { +type SecurityVulnerabilityConnection { """ A list of edges. """ - edges: [RepositoryTopicEdge] + edges: [SecurityVulnerabilityEdge] """ A list of nodes. """ - nodes: [RepositoryTopic] + nodes: [SecurityVulnerability] """ Information to aid in pagination. @@ -35740,7 +47180,7 @@ type RepositoryTopicConnection { """ An edge in a connection. """ -type RepositoryTopicEdge { +type SecurityVulnerabilityEdge { """ A cursor for use in pagination. """ @@ -35749,578 +47189,797 @@ type RepositoryTopicEdge { """ The item at the end of the edge. """ - node: RepositoryTopic + node: SecurityVulnerability } """ -The repository's visibility level. +Ordering options for security vulnerability connections """ -enum RepositoryVisibility { +input SecurityVulnerabilityOrder { """ - The repository is visible only to users in the same business. + The ordering direction. """ - INTERNAL + direction: OrderDirection! """ - The repository is visible only to those with explicit access. + The field to order security vulnerabilities by. """ - PRIVATE + field: SecurityVulnerabilityOrderField! +} +""" +Properties by which security vulnerability connections can be ordered. +""" +enum SecurityVulnerabilityOrderField { """ - The repository is visible to everyone. + Order vulnerability by update time """ - PUBLIC + UPDATED_AT } """ -Audit log entry for a repository_visibility_change.disable event. +Autogenerated input type of SetEnterpriseIdentityProvider """ -type RepositoryVisibilityChangeDisableAuditEntry implements AuditEntry & EnterpriseAuditEntryData & Node & OrganizationAuditEntryData { +input SetEnterpriseIdentityProviderInput { """ - The action name + A unique identifier for the client performing the mutation. """ - action: String! + clientMutationId: String """ - The user who initiated the action + The digest algorithm used to sign SAML requests for the identity provider. """ - actor: AuditEntryActor + digestMethod: SamlDigestAlgorithm! """ - The IP address of the actor + The ID of the enterprise on which to set an identity provider. """ - actorIp: String + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) """ - A readable representation of the actor's location + The x509 certificate used by the identity provider to sign assertions and responses. """ - actorLocation: ActorLocation + idpCertificate: String! """ - The username of the user who initiated the action + The Issuer Entity ID for the SAML identity provider """ - actorLogin: String + issuer: String """ - The HTTP path for the actor. + The signature algorithm used to sign SAML requests for the identity provider. """ - actorResourcePath: URI + signatureMethod: SamlSignatureAlgorithm! """ - The HTTP URL for the actor. + The URL endpoint for the identity provider's SAML SSO. """ - actorUrl: URI + ssoUrl: URI! +} +""" +Autogenerated return type of SetEnterpriseIdentityProvider +""" +type SetEnterpriseIdentityProviderPayload { """ - The time the action was initiated + A unique identifier for the client performing the mutation. """ - createdAt: PreciseDateTime! + clientMutationId: String """ - The HTTP path for this enterprise. + The identity provider for the enterprise. """ - enterpriseResourcePath: URI + identityProvider: EnterpriseIdentityProvider +} +""" +Autogenerated input type of SetOrganizationInteractionLimit +""" +input SetOrganizationInteractionLimitInput { """ - The slug of the enterprise. + A unique identifier for the client performing the mutation. """ - enterpriseSlug: String + clientMutationId: String """ - The HTTP URL for this enterprise. + When this limit should expire. """ - enterpriseUrl: URI - id: ID! + expiry: RepositoryInteractionLimitExpiry """ - The corresponding operation type for the action + The limit to set. """ - operationType: OperationType + limit: RepositoryInteractionLimit! """ - The Organization associated with the Audit Entry. + The ID of the organization to set a limit for. """ - organization: Organization + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} +""" +Autogenerated return type of SetOrganizationInteractionLimit +""" +type SetOrganizationInteractionLimitPayload { """ - The name of the Organization. + A unique identifier for the client performing the mutation. """ - organizationName: String + clientMutationId: String """ - The HTTP path for the organization + The organization that the interaction limit was set for. """ - organizationResourcePath: URI + organization: Organization +} +""" +Autogenerated input type of SetRepositoryInteractionLimit +""" +input SetRepositoryInteractionLimitInput { """ - The HTTP URL for the organization + A unique identifier for the client performing the mutation. """ - organizationUrl: URI + clientMutationId: String """ - The user affected by the action + When this limit should expire. """ - user: User + expiry: RepositoryInteractionLimitExpiry """ - For actions involving two users, the actor is the initiator and the user is the affected user. + The limit to set. """ - userLogin: String + limit: RepositoryInteractionLimit! """ - The HTTP path for the user. + The ID of the repository to set a limit for. """ - userResourcePath: URI + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) +} +""" +Autogenerated return type of SetRepositoryInteractionLimit +""" +type SetRepositoryInteractionLimitPayload { """ - The HTTP URL for the user. + A unique identifier for the client performing the mutation. """ - userUrl: URI + clientMutationId: String + + """ + The repository that the interaction limit was set for. + """ + repository: Repository } """ -Audit log entry for a repository_visibility_change.enable event. +Autogenerated input type of SetUserInteractionLimit """ -type RepositoryVisibilityChangeEnableAuditEntry implements AuditEntry & EnterpriseAuditEntryData & Node & OrganizationAuditEntryData { +input SetUserInteractionLimitInput { """ - The action name + A unique identifier for the client performing the mutation. """ - action: String! + clientMutationId: String """ - The user who initiated the action + When this limit should expire. """ - actor: AuditEntryActor + expiry: RepositoryInteractionLimitExpiry """ - The IP address of the actor + The limit to set. """ - actorIp: String + limit: RepositoryInteractionLimit! """ - A readable representation of the actor's location + The ID of the user to set a limit for. """ - actorLocation: ActorLocation + userId: ID! @possibleTypes(concreteTypes: ["User"]) +} +""" +Autogenerated return type of SetUserInteractionLimit +""" +type SetUserInteractionLimitPayload { """ - The username of the user who initiated the action + A unique identifier for the client performing the mutation. """ - actorLogin: String + clientMutationId: String """ - The HTTP path for the actor. + The user that the interaction limit was set for. """ - actorResourcePath: URI + user: User +} +""" +Represents an S/MIME signature on a Commit or Tag. +""" +type SmimeSignature implements GitSignature { """ - The HTTP URL for the actor. + Email used to sign this object. """ - actorUrl: URI + email: String! """ - The time the action was initiated + True if the signature is valid and verified by GitHub. """ - createdAt: PreciseDateTime! + isValid: Boolean! """ - The HTTP path for this enterprise. + Payload for GPG signing object. Raw ODB object without the signature header. """ - enterpriseResourcePath: URI + payload: String! """ - The slug of the enterprise. + ASCII-armored signature header from object. """ - enterpriseSlug: String + signature: String! """ - The HTTP URL for this enterprise. + GitHub user corresponding to the email signing this commit. """ - enterpriseUrl: URI - id: ID! + signer: User """ - The corresponding operation type for the action + The state of this signature. `VALID` if signature is valid and verified by + GitHub, otherwise represents reason why signature is considered invalid. """ - operationType: OperationType + state: GitSignatureState! """ - The Organization associated with the Audit Entry. + True if the signature was made with GitHub's signing key. """ - organization: Organization + wasSignedByGitHub: Boolean! +} +""" +Social media profile associated with a user. +""" +type SocialAccount { """ - The name of the Organization. + Name of the social media account as it appears on the profile. """ - organizationName: String + displayName: String! """ - The HTTP path for the organization + Software or company that hosts the social media account. """ - organizationResourcePath: URI + provider: SocialAccountProvider! """ - The HTTP URL for the organization + URL of the social media account. """ - organizationUrl: URI + url: URI! +} +""" +The connection type for SocialAccount. +""" +type SocialAccountConnection { """ - The user affected by the action + A list of edges. """ - user: User + edges: [SocialAccountEdge] """ - For actions involving two users, the actor is the initiator and the user is the affected user. + A list of nodes. """ - userLogin: String + nodes: [SocialAccount] """ - The HTTP path for the user. + Information to aid in pagination. """ - userResourcePath: URI + pageInfo: PageInfo! """ - The HTTP URL for the user. + Identifies the total count of items in the connection. """ - userUrl: URI + totalCount: Int! } """ -A Dependabot alert for a repository with a dependency affected by a security vulnerability. +An edge in a connection. """ -type RepositoryVulnerabilityAlert implements Node & RepositoryNode { +type SocialAccountEdge { """ - When was the alert created? + A cursor for use in pagination. """ - createdAt: DateTime! + cursor: String! """ - The reason the alert was dismissed + The item at the end of the edge. """ - dismissReason: String + node: SocialAccount +} +""" +Software or company that hosts social media accounts. +""" +enum SocialAccountProvider { """ - When was the alert dismissed? + Social media and networking website. """ - dismissedAt: DateTime + FACEBOOK """ - The user who dismissed the alert + Catch-all for social media providers that do not yet have specific handling. """ - dismisser: User - id: ID! + GENERIC """ - The associated repository + Fork of Mastodon with a greater focus on local posting. """ - repository: Repository! + HOMETOWN """ - The associated security advisory + Social media website with a focus on photo and video sharing. """ - securityAdvisory: SecurityAdvisory + INSTAGRAM """ - The associated security vulnerability + Professional networking website. """ - securityVulnerability: SecurityVulnerability + LINKEDIN """ - The vulnerable manifest filename + Open-source federated microblogging service. """ - vulnerableManifestFilename: String! + MASTODON """ - The vulnerable manifest path + Social news aggregation and discussion website. """ - vulnerableManifestPath: String! + REDDIT """ - The vulnerable requirements + Live-streaming service. """ - vulnerableRequirements: String + TWITCH + + """ + Microblogging website. + """ + TWITTER + + """ + Online video platform. + """ + YOUTUBE } """ -The connection type for RepositoryVulnerabilityAlert. +Entities that can sponsor others via GitHub Sponsors """ -type RepositoryVulnerabilityAlertConnection { +union Sponsor = Organization | User + +""" +The connection type for Sponsor. +""" +type SponsorConnection { """ A list of edges. """ - edges: [RepositoryVulnerabilityAlertEdge] + edges: [SponsorEdge] """ A list of nodes. """ - nodes: [RepositoryVulnerabilityAlert] + nodes: [Sponsor] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +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: Sponsor +} + +""" +Ordering options for connections to get sponsor entities for GitHub Sponsors. +""" +input SponsorOrder { + """ + The ordering direction. + """ + direction: OrderDirection! + + """ + The field to order sponsor entities by. + """ + field: SponsorOrderField! +} + +""" +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 +} + +""" +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! + + """ + True if this user/organization has a GitHub Sponsors listing. + """ + hasSponsorsListing: 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! + + """ + The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). + """ + monthlyEstimatedSponsorsIncomeInCents: Int! + + """ + 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 + + """ + Ordering options for sponsors returned from the connection. + """ + orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + + """ + If given, will filter for sponsors at the given tier. Will only return + sponsors whose tier the viewer is permitted to see. + """ + tierId: ID + ): SponsorConnection! """ - Information to aid in pagination. + Events involving this sponsorable, such as new sponsorships. """ - pageInfo: PageInfo! + sponsorsActivities( + """ + Filter activities to only the specified actions. + """ + actions: [SponsorsActivityAction!] = [] - """ - Identifies the total count of items in the connection. - """ - totalCount: Int! -} + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String -""" -An edge in a connection. -""" -type RepositoryVulnerabilityAlertEdge { - """ - 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: RepositoryVulnerabilityAlert -} + """ + Returns the first _n_ elements from the list. + """ + first: Int -""" -Autogenerated input type of RequestReviews -""" -input RequestReviewsInput { - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String + """ + 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 - """ - The Node ID of the pull request to modify. - """ - pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) + """ + Whether or not to include private activities in the result set. Defaults to including public and private activities. + """ + includePrivate: Boolean = true - """ - The Node IDs of the team to request. - """ - teamIds: [ID!] @possibleTypes(concreteTypes: ["Team"]) + """ + Returns the last _n_ elements from the list. + """ + last: Int - """ - Add users to the set rather than replace. - """ - union: Boolean + """ + Ordering options for activity returned from the connection. + """ + orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} - """ - The Node IDs of the user to request. - """ - userIds: [ID!] @possibleTypes(concreteTypes: ["User"]) -} + """ + 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 -""" -Autogenerated return type of RequestReviews -""" -type RequestReviewsPayload { - """ - Identifies the actor who performed the event. - """ - actor: Actor + """ + Filter activities to those that occurred on or after this time. + """ + since: DateTime - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String + """ + Filter activities to those that occurred before this time. + """ + until: DateTime + ): SponsorsActivityConnection! """ - The pull request that is getting requests. + The GitHub Sponsors listing for this user or organization. """ - pullRequest: PullRequest + sponsorsListing: SponsorsListing """ - The edge from the pull request to the requested reviewers. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - requestedReviewersEdge: UserEdge -} + 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 possible states that can be requested when creating a check run. -""" -enum RequestableCheckStatusState { """ - The check suite or run has been completed. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - COMPLETED + 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 """ - The check suite or run is in progress. + List of sponsorship updates sent from this sponsorable to sponsors. """ - IN_PROGRESS + sponsorshipNewsletters( + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String - """ - The check suite or run is in pending state. - """ - PENDING + """ + Returns the elements in the list that come before the specified cursor. + """ + before: String - """ - The check suite or run has been queued. - """ - QUEUED + """ + Returns the first _n_ elements from the list. + """ + first: Int - """ - The check suite or run is in waiting state. - """ - WAITING -} + """ + Returns the last _n_ elements from the list. + """ + last: Int -""" -Types that can be requested reviewers. -""" -union RequestedReviewer = Mannequin | Team | User + """ + Ordering options for sponsorship updates returned from the connection. + """ + orderBy: SponsorshipNewsletterOrder = {field: CREATED_AT, direction: DESC} + ): SponsorshipNewsletterConnection! -""" -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. + The sponsorships where this user or organization is the maintainer receiving the funds. """ - isRequired( + sponsorshipsAsMaintainer( """ - The id of the pull request this is required for + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. """ - pullRequestId: ID + activeOnly: Boolean = true """ - The number of the pull request this is required for + Returns the elements in the list that come after the specified cursor. """ - pullRequestNumber: Int - ): Boolean! -} + after: String -""" -Autogenerated input type of RerequestCheckSuite -""" -input RerequestCheckSuiteInput { - """ - The Node ID of the check suite. - """ - checkSuiteId: ID! @possibleTypes(concreteTypes: ["CheckSuite"]) + """ + 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 - """ - The Node ID of the repository. - """ - repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) -} + """ + Whether or not to include private sponsorships in the result set + """ + includePrivate: Boolean = false -""" -Autogenerated return type of RerequestCheckSuite -""" -type RerequestCheckSuitePayload { - """ - The requested check suite. - """ - checkSuite: CheckSuite + """ + Returns the last _n_ elements from the list. + """ + last: Int - """ - A unique identifier for the client performing the mutation. - """ - clientMutationId: String -} + """ + 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! -""" -Autogenerated input type of ResolveReviewThread -""" -input ResolveReviewThreadInput { """ - A unique identifier for the client performing the mutation. + The sponsorships where this user or organization is the funder. """ - clientMutationId: String + sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true - """ - The ID of the thread to resolve - """ - threadId: ID! @possibleTypes(concreteTypes: ["PullRequestReviewThread"]) -} + """ + Returns the elements in the list that come after the specified cursor. + """ + after: String -""" -Autogenerated return type of ResolveReviewThread -""" -type ResolveReviewThreadPayload { - """ - 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 - """ - The thread to resolve. - """ - thread: PullRequestReviewThread -} + """ + Returns the first _n_ elements from the list. + """ + first: Int -""" -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! + """ + Returns the last _n_ elements from the list. + """ + last: Int - """ - When this contribution was made. - """ - occurredAt: DateTime! + """ + 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 path for this contribution. - """ - resourcePath: URI! + """ + 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 HTTP URL for this contribution. + 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. """ - url: URI! + totalSponsorshipAmountAsSponsorInCents( + """ + Filter payments to those that occurred on or after this time. + """ + since: DateTime - """ - The user who made this contribution. - """ - user: User! -} + """ + Filter payments to those made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int -""" -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. + Whether or not the viewer is able to sponsor this user/organization. """ - actor: ReviewDismissalAllowanceActor + viewerCanSponsor: Boolean! """ - Identifies the branch protection rule associated with the allowed user or team. + True if the viewer is sponsoring this user/organization. """ - branchProtectionRule: BranchProtectionRule - id: ID! + viewerIsSponsoring: Boolean! } """ -Types that can be an actor. +Entities that can be sponsored via GitHub Sponsors """ -union ReviewDismissalAllowanceActor = Team | User +union SponsorableItem = Organization | User """ -The connection type for ReviewDismissalAllowance. +The connection type for SponsorableItem. """ -type ReviewDismissalAllowanceConnection { +type SponsorableItemConnection { """ A list of edges. """ - edges: [ReviewDismissalAllowanceEdge] + edges: [SponsorableItemEdge] """ A list of nodes. """ - nodes: [ReviewDismissalAllowance] + nodes: [SponsorableItem] """ Information to aid in pagination. @@ -36336,7 +47995,7 @@ type ReviewDismissalAllowanceConnection { """ An edge in a connection. """ -type ReviewDismissalAllowanceEdge { +type SponsorableItemEdge { """ A cursor for use in pagination. """ @@ -36345,109 +48004,128 @@ type ReviewDismissalAllowanceEdge { """ The item at the end of the edge. """ - node: ReviewDismissalAllowance + node: SponsorableItem } """ -Represents a 'review_dismissed' event on a given issue or pull request. +Ordering options for connections to get sponsorable entities for GitHub Sponsors. """ -type ReviewDismissedEvent implements Node & UniformResourceLocatable { +input SponsorableOrder { """ - Identifies the actor who performed the event. + The ordering direction. """ - actor: Actor + direction: OrderDirection! """ - Identifies the date and time when the object was created. + The field to order sponsorable entities by. """ - createdAt: DateTime! + field: SponsorableOrderField! +} +""" +Properties by which sponsorable connections can be ordered. +""" +enum SponsorableOrderField { """ - Identifies the primary key from the database. + Order sponsorable entities by login (username). """ - databaseId: Int + LOGIN +} +""" +An event related to sponsorship activity. +""" +type SponsorsActivity implements Node { """ - Identifies the optional message associated with the 'review_dismissed' event. + What action this activity indicates took place. """ - dismissalMessage: String + action: SponsorsActivityAction! """ - Identifies the optional message associated with the event, rendered to HTML. + The sponsor's current privacy level. """ - dismissalMessageHTML: String + currentPrivacyLevel: SponsorshipPrivacy id: ID! """ - Identifies the previous state of the review with the 'review_dismissed' event. + The tier that the sponsorship used to use, for tier change events. """ - previousReviewState: PullRequestReviewState! + previousSponsorsTier: SponsorsTier """ - PullRequest referenced by event. + The user or organization who triggered this activity and was/is sponsoring the sponsorable. """ - pullRequest: PullRequest! + sponsor: Sponsor """ - Identifies the commit which caused the review to become stale. + The user or organization that is being sponsored, the maintainer. """ - pullRequestCommit: PullRequestCommit + sponsorable: Sponsorable! """ - The HTTP path for this review dismissed event. + The associated sponsorship tier. """ - resourcePath: URI! + sponsorsTier: SponsorsTier """ - Identifies the review associated with the 'review_dismissed' event. + The timestamp of this event. """ - review: PullRequestReview + timestamp: DateTime """ - The HTTP URL for this review dismissed event. + Was this sponsorship made alongside other sponsorships at the same time from the same sponsor? """ - url: URI! + viaBulkSponsorship: Boolean! } """ -A request for a user to review a pull request. +The possible actions that GitHub Sponsors activities can represent. """ -type ReviewRequest implements Node { +enum SponsorsActivityAction { """ - Whether this request was created for a code owner + The activity was cancelling a sponsorship. """ - asCodeOwner: Boolean! + CANCELLED_SPONSORSHIP """ - Identifies the primary key from the database. + The activity was starting a sponsorship. """ - databaseId: Int - id: ID! + NEW_SPONSORSHIP """ - Identifies the pull request associated with this review request. + The activity was scheduling a downgrade or cancellation. """ - pullRequest: PullRequest! + PENDING_CHANGE """ - The reviewer that is requested. + The activity was funds being refunded to the sponsor or GitHub. """ - requestedReviewer: RequestedReviewer + REFUND + + """ + The activity was disabling matching for a previously matched sponsorship. + """ + SPONSOR_MATCH_DISABLED + + """ + The activity was changing the sponsorship tier, either directly by the sponsor or by a scheduled/pending change. + """ + TIER_CHANGE } """ -The connection type for ReviewRequest. +The connection type for SponsorsActivity. """ -type ReviewRequestConnection { +type SponsorsActivityConnection { """ A list of edges. """ - edges: [ReviewRequestEdge] + edges: [SponsorsActivityEdge] """ A list of nodes. """ - nodes: [ReviewRequest] + nodes: [SponsorsActivity] """ Information to aid in pagination. @@ -36463,7 +48141,7 @@ type ReviewRequestConnection { """ An edge in a connection. """ -type ReviewRequestEdge { +type SponsorsActivityEdge { """ A cursor for use in pagination. """ @@ -36472,1575 +48150,1292 @@ type ReviewRequestEdge { """ The item at the end of the edge. """ - node: ReviewRequest + node: SponsorsActivity } """ -Represents an 'review_request_removed' event on a given pull request. +Ordering options for GitHub Sponsors activity connections. """ -type ReviewRequestRemovedEvent implements Node { - """ - Identifies the actor who performed the event. - """ - actor: Actor - +input SponsorsActivityOrder { """ - Identifies the date and time when the object was created. + The ordering direction. """ - createdAt: DateTime! - id: ID! + direction: OrderDirection! """ - PullRequest referenced by event. + The field to order activity by. """ - pullRequest: PullRequest! + field: SponsorsActivityOrderField! +} +""" +Properties by which GitHub Sponsors activity connections can be ordered. +""" +enum SponsorsActivityOrderField { """ - Identifies the reviewer whose review request was removed. + Order activities by when they happened. """ - requestedReviewer: RequestedReviewer + TIMESTAMP } """ -Represents an 'review_requested' event on a given pull request. +The possible time periods for which Sponsors activities can be requested. """ -type ReviewRequestedEvent implements Node { +enum SponsorsActivityPeriod { """ - Identifies the actor who performed the event. + Don't restrict the activity to any date range, include all activity. """ - actor: Actor + ALL """ - Identifies the date and time when the object was created. + The previous calendar day. """ - createdAt: DateTime! - id: ID! + DAY """ - PullRequest referenced by event. + The previous thirty days. """ - pullRequest: PullRequest! + MONTH """ - Identifies the reviewer whose review was requested. + The previous seven days. """ - requestedReviewer: RequestedReviewer + WEEK } """ -A hovercard context with a message describing the current code review state of the pull -request. +Represents countries or regions for billing and residence for a GitHub Sponsors profile. """ -type ReviewStatusHovercardContext implements HovercardContext { +enum SponsorsCountryOrRegionCode { """ - A string describing this context + Andorra """ - message: String! + AD """ - An octicon to accompany this context + United Arab Emirates """ - octicon: String! + AE """ - The current status of the pull request with respect to code review. + Afghanistan """ - reviewDecision: PullRequestReviewDecision -} + AF -""" -The possible digest algorithms used to sign SAML requests for an identity provider. -""" -enum SamlDigestAlgorithm { """ - SHA1 + Antigua and Barbuda + """ + AG + + """ + Anguilla + """ + AI + + """ + Albania + """ + AL + + """ + Armenia + """ + AM + + """ + Angola + """ + AO + + """ + Antarctica + """ + AQ + + """ + Argentina + """ + AR + + """ + American Samoa + """ + AS + + """ + Austria """ - SHA1 + AT """ - SHA256 + Australia """ - SHA256 + AU """ - SHA384 + Aruba """ - SHA384 + AW """ - SHA512 + Åland """ - SHA512 -} + AX -""" -The possible signature algorithms used to sign SAML requests for a Identity Provider. -""" -enum SamlSignatureAlgorithm { """ - RSA-SHA1 + Azerbaijan """ - RSA_SHA1 + AZ """ - RSA-SHA256 + Bosnia and Herzegovina """ - RSA_SHA256 + BA """ - RSA-SHA384 + Barbados """ - RSA_SHA384 + BB """ - RSA-SHA512 + Bangladesh """ - RSA_SHA512 -} + BD -""" -A Saved Reply is text a user can use to reply quickly. -""" -type SavedReply implements Node { """ - The body of the saved reply. + Belgium """ - body: String! + BE """ - The saved reply body rendered to HTML. + Burkina Faso """ - bodyHTML: HTML! + BF """ - Identifies the primary key from the database. + Bulgaria """ - databaseId: Int - id: ID! + BG """ - The title of the saved reply. + Bahrain """ - title: String! + BH """ - The user that saved this reply. + Burundi """ - user: Actor -} + BI -""" -The connection type for SavedReply. -""" -type SavedReplyConnection { """ - A list of edges. + Benin """ - edges: [SavedReplyEdge] + BJ """ - A list of nodes. + Saint Barthélemy """ - nodes: [SavedReply] + BL """ - Information to aid in pagination. + Bermuda """ - pageInfo: PageInfo! + BM """ - Identifies the total count of items in the connection. + Brunei Darussalam """ - totalCount: Int! -} + BN -""" -An edge in a connection. -""" -type SavedReplyEdge { """ - A cursor for use in pagination. + Bolivia """ - cursor: String! + BO """ - The item at the end of the edge. + Bonaire, Sint Eustatius and Saba """ - node: SavedReply -} + BQ -""" -Ordering options for saved reply connections. -""" -input SavedReplyOrder { """ - The ordering direction. + Brazil """ - direction: OrderDirection! + BR """ - The field to order saved replies by. + Bahamas """ - field: SavedReplyOrderField! -} + BS -""" -Properties by which saved reply connections can be ordered. -""" -enum SavedReplyOrderField { """ - Order saved reply by when they were updated. + Bhutan """ - UPDATED_AT -} + BT -""" -The results of a search. -""" -union SearchResultItem = App | Discussion | Issue | MarketplaceListing | Organization | PullRequest | Repository | User + """ + Bouvet Island + """ + BV -""" -A list of results that matched against a search query. -""" -type SearchResultItemConnection { """ - The number of pieces of code that matched the search query. + Botswana """ - codeCount: Int! + BW """ - The number of discussions that matched the search query. + Belarus """ - discussionCount: Int! + BY """ - A list of edges. + Belize """ - edges: [SearchResultItemEdge] + BZ """ - The number of issues that matched the search query. + Canada """ - issueCount: Int! + CA """ - A list of nodes. + Cocos (Keeling) Islands """ - nodes: [SearchResultItem] + CC """ - Information to aid in pagination. + Congo (Kinshasa) """ - pageInfo: PageInfo! + CD """ - The number of repositories that matched the search query. + Central African Republic """ - repositoryCount: Int! + CF """ - The number of users that matched the search query. + Congo (Brazzaville) """ - userCount: Int! + CG """ - The number of wiki pages that matched the search query. + Switzerland """ - wikiCount: Int! -} + CH -""" -An edge in a connection. -""" -type SearchResultItemEdge { """ - A cursor for use in pagination. + Côte d'Ivoire """ - cursor: String! + CI """ - The item at the end of the edge. + Cook Islands """ - node: SearchResultItem + CK """ - Text matches on the result found. + Chile """ - textMatches: [TextMatch] -} + CL -""" -Represents the individual results of a search. -""" -enum SearchType { """ - Returns matching discussions in repositories. + Cameroon """ - DISCUSSION + CM """ - Returns results matching issues in repositories. + China """ - ISSUE + CN """ - Returns results matching repositories. + Colombia """ - REPOSITORY + CO """ - Returns results matching users and organizations on GitHub. + Costa Rica """ - USER -} + CR -""" -A GitHub Security Advisory -""" -type SecurityAdvisory implements Node { """ - The CVSS associated with this advisory + Cape Verde """ - cvss: CVSS! + CV """ - CWEs associated with this Advisory + Curaçao """ - cwes( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + CW - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Christmas Island + """ + CX - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Cyprus + """ + CY - """ - Returns the last _n_ elements from the list. - """ - last: Int - ): CWEConnection! + """ + Czech Republic + """ + CZ """ - Identifies the primary key from the database. + Germany """ - databaseId: Int + DE """ - This is a long plaintext description of the advisory + Djibouti """ - description: String! + DJ """ - The GitHub Security Advisory ID + Denmark """ - ghsaId: String! - id: ID! + DK """ - A list of identifiers for this advisory + Dominica """ - identifiers: [SecurityAdvisoryIdentifier!]! + DM """ - The permalink for the advisory's dependabot alerts page + Dominican Republic """ - notificationsPermalink: URI + DO """ - The organization that originated the advisory + Algeria """ - origin: String! + DZ """ - The permalink for the advisory + Ecuador """ - permalink: URI + EC """ - When the advisory was published + Estonia """ - publishedAt: DateTime! + EE """ - A list of references for this advisory + Egypt """ - references: [SecurityAdvisoryReference!]! + EG """ - The severity of the advisory + Western Sahara """ - severity: SecurityAdvisorySeverity! + EH """ - A short plaintext summary of the advisory + Eritrea """ - summary: String! + ER """ - When the advisory was last updated + Spain """ - updatedAt: DateTime! + ES """ - Vulnerabilities associated with this Advisory + Ethiopia """ - vulnerabilities( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + ET - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Finland + """ + FI - """ - An ecosystem to filter vulnerabilities by. - """ - ecosystem: SecurityAdvisoryEcosystem + """ + Fiji + """ + FJ - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Falkland Islands + """ + FK - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Micronesia + """ + FM - """ - Ordering options for the returned topics. - """ - orderBy: SecurityVulnerabilityOrder = {field: UPDATED_AT, direction: DESC} + """ + Faroe Islands + """ + FO - """ - A package name to filter vulnerabilities by. - """ - package: String + """ + France + """ + FR - """ - A list of severities to filter vulnerabilities by. - """ - severities: [SecurityAdvisorySeverity!] - ): SecurityVulnerabilityConnection! + """ + Gabon + """ + GA """ - When the advisory was withdrawn, if it has been withdrawn + United Kingdom """ - withdrawnAt: DateTime -} + GB -""" -The connection type for SecurityAdvisory. -""" -type SecurityAdvisoryConnection { """ - A list of edges. + Grenada """ - edges: [SecurityAdvisoryEdge] + GD """ - A list of nodes. + Georgia """ - nodes: [SecurityAdvisory] + GE """ - Information to aid in pagination. + French Guiana """ - pageInfo: PageInfo! + GF """ - Identifies the total count of items in the connection. + Guernsey """ - totalCount: Int! -} + GG -""" -The possible ecosystems of a security vulnerability's package. -""" -enum SecurityAdvisoryEcosystem { """ - PHP packages hosted at packagist.org + Ghana """ - COMPOSER + GH """ - Go modules + Gibraltar """ - GO + GI """ - Java artifacts hosted at the Maven central repository + Greenland """ - MAVEN + GL """ - JavaScript packages hosted at npmjs.com + Gambia """ - NPM + GM """ - .NET packages hosted at the NuGet Gallery + Guinea """ - NUGET + GN """ - Python packages hosted at PyPI.org + Guadeloupe """ - PIP + GP """ - Ruby gems hosted at RubyGems.org + Equatorial Guinea """ - RUBYGEMS -} + GQ -""" -An edge in a connection. -""" -type SecurityAdvisoryEdge { """ - A cursor for use in pagination. + Greece """ - cursor: String! + GR """ - The item at the end of the edge. + South Georgia and South Sandwich Islands """ - node: SecurityAdvisory -} + GS -""" -A GitHub Security Advisory Identifier -""" -type SecurityAdvisoryIdentifier { """ - The identifier type, e.g. GHSA, CVE + Guatemala """ - type: String! + GT """ - The identifier + Guam """ - value: String! -} + GU -""" -An advisory identifier to filter results on. -""" -input SecurityAdvisoryIdentifierFilter { """ - The identifier type. + Guinea-Bissau """ - type: SecurityAdvisoryIdentifierType! + GW """ - The identifier string. Supports exact or partial matching. + Guyana """ - value: String! -} + GY -""" -Identifier formats available for advisories. -""" -enum SecurityAdvisoryIdentifierType { """ - Common Vulnerabilities and Exposures Identifier. + Hong Kong """ - CVE + HK """ - GitHub Security Advisory ID. + Heard and McDonald Islands """ - GHSA -} + HM -""" -Ordering options for security advisory connections -""" -input SecurityAdvisoryOrder { """ - The ordering direction. + Honduras """ - direction: OrderDirection! + HN """ - The field to order security advisories by. + Croatia """ - field: SecurityAdvisoryOrderField! -} + HR -""" -Properties by which security advisory connections can be ordered. -""" -enum SecurityAdvisoryOrderField { """ - Order advisories by publication time + Haiti """ - PUBLISHED_AT + HT """ - Order advisories by update time + Hungary """ - UPDATED_AT -} + HU -""" -An individual package -""" -type SecurityAdvisoryPackage { """ - The ecosystem the package belongs to, e.g. RUBYGEMS, NPM + Indonesia """ - ecosystem: SecurityAdvisoryEcosystem! + ID """ - The package name + Ireland """ - name: String! -} + IE -""" -An individual package version -""" -type SecurityAdvisoryPackageVersion { """ - The package name or version + Israel """ - identifier: String! -} + IL -""" -A GitHub Security Advisory Reference -""" -type SecurityAdvisoryReference { """ - A publicly accessible reference + Isle of Man """ - url: URI! -} + IM -""" -Severity of the vulnerability. -""" -enum SecurityAdvisorySeverity { """ - Critical. + India """ - CRITICAL + IN """ - High. + British Indian Ocean Territory """ - HIGH + IO """ - Low. + Iraq """ - LOW + IQ """ - Moderate. + Iran """ - MODERATE -} + IR -""" -An individual vulnerability within an Advisory -""" -type SecurityVulnerability { """ - The Advisory associated with this Vulnerability + Iceland """ - advisory: SecurityAdvisory! + IS """ - The first version containing a fix for the vulnerability + Italy """ - firstPatchedVersion: SecurityAdvisoryPackageVersion + IT """ - A description of the vulnerable package + Jersey """ - package: SecurityAdvisoryPackage! + JE """ - The severity of the vulnerability within this package + Jamaica """ - severity: SecurityAdvisorySeverity! + JM """ - When the vulnerability was last updated + Jordan """ - updatedAt: DateTime! + JO """ - 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 + Japan """ - vulnerableVersionRange: String! -} + JP -""" -The connection type for SecurityVulnerability. -""" -type SecurityVulnerabilityConnection { """ - A list of edges. + Kenya """ - edges: [SecurityVulnerabilityEdge] + KE """ - A list of nodes. + Kyrgyzstan """ - nodes: [SecurityVulnerability] + KG """ - Information to aid in pagination. + Cambodia """ - pageInfo: PageInfo! + KH """ - Identifies the total count of items in the connection. + Kiribati """ - totalCount: Int! -} + KI -""" -An edge in a connection. -""" -type SecurityVulnerabilityEdge { """ - A cursor for use in pagination. + Comoros """ - cursor: String! + KM """ - The item at the end of the edge. + Saint Kitts and Nevis """ - node: SecurityVulnerability -} + KN -""" -Ordering options for security vulnerability connections -""" -input SecurityVulnerabilityOrder { """ - The ordering direction. + Korea, South """ - direction: OrderDirection! + KR """ - The field to order security vulnerabilities by. + Kuwait """ - field: SecurityVulnerabilityOrderField! -} + KW -""" -Properties by which security vulnerability connections can be ordered. -""" -enum SecurityVulnerabilityOrderField { """ - Order vulnerability by update time + Cayman Islands """ - UPDATED_AT -} + KY -""" -Autogenerated input type of SetEnterpriseIdentityProvider -""" -input SetEnterpriseIdentityProviderInput { """ - A unique identifier for the client performing the mutation. + Kazakhstan """ - clientMutationId: String + KZ """ - The digest algorithm used to sign SAML requests for the identity provider. + Laos """ - digestMethod: SamlDigestAlgorithm! + LA """ - The ID of the enterprise on which to set an identity provider. + Lebanon """ - enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + LB """ - The x509 certificate used by the identity provider to sign assertions and responses. + Saint Lucia """ - idpCertificate: String! + LC """ - The Issuer Entity ID for the SAML identity provider + Liechtenstein """ - issuer: String + LI """ - The signature algorithm used to sign SAML requests for the identity provider. + Sri Lanka """ - signatureMethod: SamlSignatureAlgorithm! + LK """ - The URL endpoint for the identity provider's SAML SSO. + Liberia """ - ssoUrl: URI! -} + LR -""" -Autogenerated return type of SetEnterpriseIdentityProvider -""" -type SetEnterpriseIdentityProviderPayload { """ - A unique identifier for the client performing the mutation. + Lesotho """ - clientMutationId: String + LS """ - The identity provider for the enterprise. + Lithuania """ - identityProvider: EnterpriseIdentityProvider -} + LT -""" -Autogenerated input type of SetOrganizationInteractionLimit -""" -input SetOrganizationInteractionLimitInput { """ - A unique identifier for the client performing the mutation. + Luxembourg """ - clientMutationId: String + LU """ - When this limit should expire. + Latvia """ - expiry: RepositoryInteractionLimitExpiry + LV """ - The limit to set. + Libya """ - limit: RepositoryInteractionLimit! + LY """ - The ID of the organization to set a limit for. + Morocco """ - organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) -} + MA -""" -Autogenerated return type of SetOrganizationInteractionLimit -""" -type SetOrganizationInteractionLimitPayload { """ - A unique identifier for the client performing the mutation. + Monaco """ - clientMutationId: String + MC """ - The organization that the interaction limit was set for. + Moldova """ - organization: Organization -} + MD -""" -Autogenerated input type of SetRepositoryInteractionLimit -""" -input SetRepositoryInteractionLimitInput { """ - A unique identifier for the client performing the mutation. + Montenegro """ - clientMutationId: String + ME """ - When this limit should expire. + Saint Martin (French part) """ - expiry: RepositoryInteractionLimitExpiry + MF """ - The limit to set. + Madagascar """ - limit: RepositoryInteractionLimit! + MG """ - The ID of the repository to set a limit for. + Marshall Islands """ - repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) -} + MH -""" -Autogenerated return type of SetRepositoryInteractionLimit -""" -type SetRepositoryInteractionLimitPayload { """ - A unique identifier for the client performing the mutation. + Macedonia """ - clientMutationId: String + MK """ - The repository that the interaction limit was set for. + Mali """ - repository: Repository -} + ML -""" -Autogenerated input type of SetUserInteractionLimit -""" -input SetUserInteractionLimitInput { """ - A unique identifier for the client performing the mutation. + Myanmar """ - clientMutationId: String + MM """ - When this limit should expire. + Mongolia """ - expiry: RepositoryInteractionLimitExpiry + MN """ - The limit to set. + Macau """ - limit: RepositoryInteractionLimit! + MO """ - The ID of the user to set a limit for. + Northern Mariana Islands """ - userId: ID! @possibleTypes(concreteTypes: ["User"]) -} + MP -""" -Autogenerated return type of SetUserInteractionLimit -""" -type SetUserInteractionLimitPayload { """ - A unique identifier for the client performing the mutation. + Martinique """ - clientMutationId: String + MQ """ - The user that the interaction limit was set for. + Mauritania """ - user: User -} + MR + + """ + Montserrat + """ + MS -""" -Represents an S/MIME signature on a Commit or Tag. -""" -type SmimeSignature implements GitSignature { """ - Email used to sign this object. + Malta """ - email: String! + MT """ - True if the signature is valid and verified by GitHub. + Mauritius """ - isValid: Boolean! + MU """ - Payload for GPG signing object. Raw ODB object without the signature header. + Maldives """ - payload: String! + MV """ - ASCII-armored signature header from object. + Malawi """ - signature: String! + MW """ - GitHub user corresponding to the email signing this commit. + Mexico """ - signer: User + MX """ - The state of this signature. `VALID` if signature is valid and verified by - GitHub, otherwise represents reason why signature is considered invalid. + Malaysia """ - state: GitSignatureState! + MY """ - True if the signature was made with GitHub's signing key. + Mozambique """ - wasSignedByGitHub: Boolean! -} + MZ -""" -Entities that can sponsor others via GitHub Sponsors -""" -union Sponsor = Organization | User + """ + Namibia + """ + NA -""" -The connection type for Sponsor. -""" -type SponsorConnection { """ - A list of edges. + New Caledonia """ - edges: [SponsorEdge] + NC """ - A list of nodes. + Niger """ - nodes: [Sponsor] + NE """ - Information to aid in pagination. + Norfolk Island """ - pageInfo: PageInfo! + NF """ - Identifies the total count of items in the connection. + Nigeria """ - totalCount: Int! -} + NG -""" -Represents a user or organization who is sponsoring someone in GitHub Sponsors. -""" -type SponsorEdge { """ - A cursor for use in pagination. + Nicaragua """ - cursor: String! + NI """ - The item at the end of the edge. + Netherlands """ - node: Sponsor -} + NL -""" -Ordering options for connections to get sponsor entities for GitHub Sponsors. -""" -input SponsorOrder { """ - The ordering direction. + Norway """ - direction: OrderDirection! + NO """ - The field to order sponsor entities by. + Nepal """ - field: SponsorOrderField! -} + NP -""" -Properties by which sponsor connections can be ordered. -""" -enum SponsorOrderField { """ - Order sponsorable entities by login (username). + Nauru """ - LOGIN + NR """ - Order sponsors by their relevance to the viewer. + Niue """ - RELEVANCE -} + NU -""" -Entities that can be sponsored through GitHub Sponsors -""" -interface Sponsorable { """ - The estimated next GitHub Sponsors payout for this user/organization in cents (USD). + New Zealand """ - estimatedNextSponsorsPayoutInCents: Int! + NZ """ - True if this user/organization has a GitHub Sponsors listing. + Oman """ - hasSponsorsListing: Boolean! + OM """ - Check if the given account is sponsoring this user/organization. + Panama """ - isSponsoredBy( - """ - The target account's login. - """ - accountLogin: String! - ): Boolean! + PA """ - True if the viewer is sponsored by this user/organization. + Peru """ - isSponsoringViewer: Boolean! + PE """ - The estimated monthly GitHub Sponsors income for this user/organization in cents (USD). + French Polynesia """ - monthlyEstimatedSponsorsIncomeInCents: Int! + PF """ - List of users and organizations this entity is sponsoring. + Papua New Guinea """ - sponsoring( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + PG - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Philippines + """ + PH - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Pakistan + """ + PK - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Poland + """ + PL - """ - Ordering options for the users and organizations returned from the connection. - """ - orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} - ): SponsorConnection! + """ + Saint Pierre and Miquelon + """ + PM """ - List of sponsors for this user or organization. + Pitcairn """ - sponsors( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + PN - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Puerto Rico + """ + PR - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Palestine + """ + PS - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Portugal + """ + PT - """ - Ordering options for sponsors returned from the connection. - """ - orderBy: SponsorOrder = {field: RELEVANCE, direction: DESC} + """ + Palau + """ + PW - """ - If given, will filter for sponsors at the given tier. Will only return - sponsors whose tier the viewer is permitted to see. - """ - tierId: ID - ): SponsorConnection! + """ + Paraguay + """ + PY """ - Events involving this sponsorable, such as new sponsorships. + Qatar """ - sponsorsActivities( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + QA - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Reunion + """ + RE - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Romania + """ + RO - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Serbia + """ + RS - """ - Ordering options for activity returned from the connection. - """ - orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} + """ + Russian Federation + """ + RU - """ - Filter activities returned to only those that occurred in a given time range. - """ - period: SponsorsActivityPeriod = MONTH - ): SponsorsActivityConnection! + """ + Rwanda + """ + RW """ - The GitHub Sponsors listing for this user or organization. + Saudi Arabia """ - sponsorsListing: SponsorsListing + SA """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + Solomon Islands """ - sponsorshipForViewerAsSponsor: Sponsorship + SB """ - The sponsorship from this user/organization to the viewer; that is, the - sponsorship you're receiving. Only returns a sponsorship if it is active. + Seychelles """ - sponsorshipForViewerAsSponsorable: Sponsorship + SC """ - List of sponsorship updates sent from this sponsorable to sponsors. + Sudan """ - sponsorshipNewsletters( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + SD - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Sweden + """ + SE - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Singapore + """ + SG - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Saint Helena + """ + SH - """ - Ordering options for sponsorship updates returned from the connection. - """ - orderBy: SponsorshipNewsletterOrder = {field: CREATED_AT, direction: DESC} - ): SponsorshipNewsletterConnection! + """ + Slovenia + """ + SI """ - This object's sponsorships as the maintainer. + Svalbard and Jan Mayen Islands """ - sponsorshipsAsMaintainer( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + SJ - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + Slovakia + """ + SK - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Sierra Leone + """ + SL - """ - Whether or not to include private sponsorships in the result set - """ - includePrivate: Boolean = false + """ + San Marino + """ + SM - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + Senegal + """ + SN - """ - 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! + """ + Somalia + """ + SO """ - This object's sponsorships as the sponsor. + Suriname """ - sponsorshipsAsSponsor( - """ - Returns the elements in the list that come after the specified cursor. - """ - after: String + SR - """ - Returns the elements in the list that come before the specified cursor. - """ - before: String + """ + South Sudan + """ + SS - """ - Returns the first _n_ elements from the list. - """ - first: Int + """ + Sao Tome and Principe + """ + ST - """ - Returns the last _n_ elements from the list. - """ - last: Int + """ + El Salvador + """ + SV - """ - 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! + """ + Sint Maarten (Dutch part) + """ + SX """ - Whether or not the viewer is able to sponsor this user/organization. + Swaziland """ - viewerCanSponsor: Boolean! + SZ """ - True if the viewer is sponsoring this user/organization. + Turks and Caicos Islands """ - viewerIsSponsoring: Boolean! -} + TC -""" -Entities that can be sponsored via GitHub Sponsors -""" -union SponsorableItem = Organization | User + """ + Chad + """ + TD -""" -The connection type for SponsorableItem. -""" -type SponsorableItemConnection { """ - A list of edges. + French Southern Lands """ - edges: [SponsorableItemEdge] + TF """ - A list of nodes. + Togo """ - nodes: [SponsorableItem] + TG """ - Information to aid in pagination. + Thailand """ - pageInfo: PageInfo! + TH """ - Identifies the total count of items in the connection. + Tajikistan """ - totalCount: Int! -} + TJ -""" -An edge in a connection. -""" -type SponsorableItemEdge { """ - A cursor for use in pagination. + Tokelau """ - cursor: String! + TK """ - The item at the end of the edge. + Timor-Leste """ - node: SponsorableItem -} + TL -""" -Ordering options for connections to get sponsorable entities for GitHub Sponsors. -""" -input SponsorableOrder { """ - The ordering direction. + Turkmenistan """ - direction: OrderDirection! + TM """ - The field to order sponsorable entities by. + Tunisia """ - field: SponsorableOrderField! -} + TN -""" -Properties by which sponsorable connections can be ordered. -""" -enum SponsorableOrderField { """ - Order sponsorable entities by login (username). + Tonga """ - LOGIN -} + TO -""" -An event related to sponsorship activity. -""" -type SponsorsActivity implements Node { """ - What action this activity indicates took place. + Turkey """ - action: SponsorsActivityAction! - id: ID! + TR """ - The tier that the sponsorship used to use, for tier change events. + Trinidad and Tobago """ - previousSponsorsTier: SponsorsTier + TT """ - The user or organization who triggered this activity and was/is sponsoring the sponsorable. + Tuvalu """ - sponsor: Sponsor + TV """ - The user or organization that is being sponsored, the maintainer. + Taiwan """ - sponsorable: Sponsorable! + TW """ - The associated sponsorship tier. + Tanzania """ - sponsorsTier: SponsorsTier + TZ """ - The timestamp of this event. + Ukraine """ - timestamp: DateTime -} + UA -""" -The possible actions that GitHub Sponsors activities can represent. -""" -enum SponsorsActivityAction { """ - The activity was cancelling a sponsorship. + Uganda """ - CANCELLED_SPONSORSHIP + UG """ - The activity was starting a sponsorship. + United States Minor Outlying Islands """ - NEW_SPONSORSHIP + UM """ - The activity was scheduling a downgrade or cancellation. + United States of America """ - PENDING_CHANGE + US """ - The activity was funds being refunded to the sponsor or GitHub. + Uruguay """ - REFUND + UY """ - The activity was disabling matching for a previously matched sponsorship. + Uzbekistan """ - SPONSOR_MATCH_DISABLED + UZ """ - The activity was changing the sponsorship tier, either directly by the sponsor or by a scheduled/pending change. + Vatican City """ - TIER_CHANGE -} + VA -""" -The connection type for SponsorsActivity. -""" -type SponsorsActivityConnection { """ - A list of edges. + Saint Vincent and the Grenadines """ - edges: [SponsorsActivityEdge] + VC """ - A list of nodes. + Venezuela """ - nodes: [SponsorsActivity] + VE """ - Information to aid in pagination. + Virgin Islands, British """ - pageInfo: PageInfo! + VG """ - Identifies the total count of items in the connection. + Virgin Islands, U.S. """ - totalCount: Int! -} + VI -""" -An edge in a connection. -""" -type SponsorsActivityEdge { """ - A cursor for use in pagination. + Vietnam """ - cursor: String! + VN """ - The item at the end of the edge. + Vanuatu """ - node: SponsorsActivity -} + VU -""" -Ordering options for GitHub Sponsors activity connections. -""" -input SponsorsActivityOrder { """ - The ordering direction. + Wallis and Futuna Islands """ - direction: OrderDirection! + WF """ - The field to order activity by. + Samoa """ - field: SponsorsActivityOrderField! -} + WS -""" -Properties by which GitHub Sponsors activity connections can be ordered. -""" -enum SponsorsActivityOrderField { """ - Order activities by when they happened. + Yemen """ - TIMESTAMP -} + YE -""" -The possible time periods for which Sponsors activities can be requested. -""" -enum SponsorsActivityPeriod { """ - Don't restrict the activity to any date range, include all activity. + Mayotte """ - ALL + YT """ - The previous calendar day. + South Africa """ - DAY + ZA """ - The previous thirty days. + Zambia """ - MONTH + ZM """ - The previous seven days. + Zimbabwe """ - WEEK + ZW } """ @@ -38098,11 +49493,58 @@ type SponsorsListing implements Node { """ 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. """ @@ -38129,6 +49571,18 @@ type SponsorsListing implements Node { """ 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. """ @@ -38145,7 +49599,7 @@ type SponsorsListing implements Node { sponsorable: Sponsorable! """ - The published tiers for this GitHub Sponsors listing. + The tiers for this GitHub Sponsors profile. """ tiers( """ @@ -38163,6 +49617,15 @@ type SponsorsListing implements Node { """ first: Int + """ + 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 + """ Returns the last _n_ elements from the list. """ @@ -38173,6 +49636,70 @@ type SponsorsListing implements Node { """ orderBy: SponsorsTierOrder = {field: MONTHLY_PRICE_IN_CENTS, direction: ASC} ): 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 } """ @@ -38249,7 +49776,32 @@ SponsorsTier information only visible to users that can administer the associate """ 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( """ @@ -38268,7 +49820,8 @@ type SponsorsTierAdminInfo { first: 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 @@ -38365,13 +49918,19 @@ type Sponsorship implements Node { createdAt: DateTime! id: ID! + """ + 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! + """ Whether this sponsorship represents a one-time payment versus a recurring sponsorship. """ isOneTimePayment: Boolean! """ - Check if the sponsor has chosen to receive sponsorship update emails sent from + 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 @@ -38474,6 +50033,11 @@ type SponsorshipEdge { 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. """ @@ -38611,6 +50175,87 @@ enum SponsorshipPrivacy { PUBLIC } +""" +The possible default commit messages for squash merges. +""" +enum SquashMergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the branch's commit messages. + """ + COMMIT_MESSAGES + + """ + Default to the pull request's body. + """ + PR_BODY +} + +""" +The possible default commit titles for squash merges. +""" +enum SquashMergeCommitTitle { + """ + 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 + + """ + Default to the pull request's title. + """ + 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! +} + """ Ways in which star connections can be ordered. """ @@ -38770,6 +50415,138 @@ type StarredRepositoryEdge { starredAt: DateTime! } +""" +Autogenerated input type of StartOrganizationMigration +""" +input StartOrganizationMigrationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The migration source access token. + """ + sourceAccessToken: String! + + """ + The URL of the organization to migrate. + """ + sourceOrgUrl: URI! + + """ + The ID of the enterprise the target organization belongs to. + """ + targetEnterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The name of the target organization. + """ + targetOrgName: 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 migration source access token. + """ + accessToken: String + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Whether to continue the migration on error. Defaults to `false`. We strongly + recommend setting this to `true` for the smoothest migration experience. *This + default will change to `true` on September 4, 2023.* + """ + continueOnError: Boolean + + """ + The signed URL to access the user-uploaded git archive. + """ + gitArchiveUrl: String + + """ + The GitHub personal access token of the user importing to the target repository. + """ + githubPat: String + + """ + Whether to lock the source repository. + """ + lockSource: Boolean + + """ + The signed URL to access the user-uploaded metadata archive. + """ + metadataArchiveUrl: String + + """ + The ID of the organization that will own the imported repository. + """ + ownerId: ID! @possibleTypes(concreteTypes: ["Organization"]) + + """ + The name of the imported repository. + """ + repositoryName: String! + + """ + Whether to skip migrating releases for the repository. + """ + skipReleases: Boolean + + """ + The ID of the migration source. + """ + sourceId: ID! @possibleTypes(concreteTypes: ["MigrationSource"]) + + """ + The URL of the source repository. + """ + sourceRepositoryUrl: URI + + """ + The visibility of the imported repository. + """ + targetRepoVisibility: 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. """ @@ -38826,6 +50603,36 @@ type Status implements Node { state: StatusState! } +""" +Required status check +""" +type StatusCheckConfiguration { + """ + The status check context name that must be present on the commit. + """ + context: String! + + """ + The optional integration ID that this status check must originate from. + """ + integrationId: Int +} + +""" +Required status check +""" +input StatusCheckConfigurationInput { + """ + The status check context name that must be present on the commit. + """ + context: String! + + """ + The optional integration ID that this status check must originate from. + """ + integrationId: Int +} + """ Represents the rollup for both the check runs and status for a commit. """ @@ -38876,6 +50683,16 @@ 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. """ @@ -38891,6 +50708,16 @@ type StatusCheckRollupContextConnection { """ 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. """ @@ -38978,6 +50805,21 @@ type StatusContext implements Node & RequirableByPullRequest { 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. """ @@ -39008,6 +50850,46 @@ 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 """ @@ -39072,11 +50954,21 @@ type Submodule { """ 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 """ @@ -39140,6 +51032,23 @@ interface Subscribable { viewerSubscription: SubscriptionState } +""" +Entities that can be subscribed to for web and email notifications. +""" +interface SubscribableThread { + id: ID! + + """ + Identifies the viewer's thread subscription form action. + """ + viewerThreadSubscriptionFormAction: ThreadSubscriptionFormAction + + """ + Identifies the viewer's thread subscription status. + """ + viewerThreadSubscriptionStatus: ThreadSubscriptionState +} + """ Represents a 'subscribed' event on a given `Subscribable`. """ @@ -39252,17 +51161,276 @@ type Tag implements GitObject & Node { target: GitObject! } +""" +Parameters to be used for the tag_name_pattern rule +""" +type TagNamePatternParameters { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean! + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + +""" +Parameters to be used for the tag_name_pattern rule +""" +input TagNamePatternParametersInput { + """ + How this rule will appear to users. + """ + name: String + + """ + If true, the rule will fail if the pattern matches. + """ + negate: Boolean + + """ + The operator to use for matching. + """ + operator: String! + + """ + The pattern to match with. + """ + pattern: String! +} + """ A team of users in an organization. """ -type Team implements Node { +type Team implements MemberStatusable & Node & Subscribable { + """ + A list of teams that are ancestors of this team. + """ + ancestors( + """ + 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 + ): TeamConnection! + + """ + A URL pointing to the team's avatar. + """ + avatarUrl( + """ + The size in pixels of the resulting square image. + """ + size: Int = 400 + ): URI + + """ + List of child teams belonging to this team + """ + childTeams( + """ + Returns the elements in the list that come after the specified 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 + + """ + Whether to list immediate child teams or all descendant child teams. + """ + immediateOnly: Boolean = true + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Order for connection + """ + orderBy: TeamOrder + + """ + User logins to filter by + """ + userLogins: [String!] + ): TeamConnection! + + """ + The slug corresponding to the organization and team. + """ + combinedSlug: String! + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + Identifies the primary key from the database. + """ + databaseId: Int + """ The description of the team. """ description: String + """ + Find a team discussion by its number. + """ + discussion( + """ + The sequence number of the discussion to find. + """ + number: Int! + ): TeamDiscussion + + """ + A list of team discussions. + """ + discussions( + """ + 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 + + """ + If provided, filters discussions according to whether or not they are pinned. + """ + isPinned: Boolean + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Order for connection + """ + orderBy: TeamDiscussionOrder + ): TeamDiscussionConnection! + + """ + The HTTP path for team discussions + """ + discussionsResourcePath: URI! + + """ + The HTTP URL for team discussions + """ + discussionsUrl: URI! + + """ + The HTTP path for editing this team + """ + editTeamResourcePath: URI! + + """ + The HTTP URL for editing this team + """ + editTeamUrl: URI! id: ID! + """ + A list of pending invitations for users to this team + """ + invitations( + """ + Returns the elements in the list that come after the specified 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 + ): OrganizationInvitationConnection + + """ + 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! + """ A list of users who are members of this team. """ @@ -39306,17 +51474,212 @@ type Team implements Node { Filter by team member role """ role: TeamMemberRole - ): TeamMemberConnection + ): TeamMemberConnection! + + """ + The HTTP path for the team' members + """ + membersResourcePath: URI! + + """ + The HTTP URL for the team' members + """ + membersUrl: URI! """ The name of the team. """ name: String! + """ + The HTTP path creating a new team + """ + newTeamResourcePath: URI! + + """ + The HTTP URL creating a new team + """ + newTeamUrl: URI! + + """ + The 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 + + """ + Filtering options for projects returned from this connection + """ + filterBy: ProjectV2Filters = {} + + """ + Returns the first _n_ elements from the list. + """ + first: Int + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """ + The query to search projects by. + """ + query: String = "" + ): ProjectV2Connection! + + """ + A list of repositories this team has access to. + """ + repositories( + """ + 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 the connection. + """ + orderBy: TeamRepositoryOrder + + """ + The search string to look for. Repositories will be returned where the name contains your search string. + """ + query: String + ): TeamRepositoryConnection! + + """ + The HTTP path for this team's repositories + """ + repositoriesResourcePath: URI! + + """ + The HTTP URL for this team's repositories + """ + repositoriesUrl: URI! + + """ + The HTTP path for this team + """ + resourcePath: URI! + + """ + What algorithm is used for review assignment for this team + """ + reviewRequestDelegationAlgorithm: TeamReviewAssignmentAlgorithm @preview(toggledBy: "stone-crop-preview") + + """ + True if review assignment is enabled for this team + """ + reviewRequestDelegationEnabled: Boolean! @preview(toggledBy: "stone-crop-preview") + + """ + How many team members are required for review assignment for this team + """ + reviewRequestDelegationMemberCount: Int @preview(toggledBy: "stone-crop-preview") + + """ + When assigning team members via delegation, whether the entire team should be notified as well. + """ + reviewRequestDelegationNotifyTeam: Boolean! @preview(toggledBy: "stone-crop-preview") + + """ + The slug corresponding to the team. + """ + slug: String! + + """ + The HTTP path for this team's teams + """ + teamsResourcePath: URI! + + """ + The HTTP URL for this team's teams + """ + teamsUrl: URI! + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! + + """ + The HTTP URL for this team + """ + url: URI! + + """ + Team is adminable by the viewer. + """ + viewerCanAdminister: Boolean! + + """ + Check if the viewer is able to change their subscription status for the repository. + """ + viewerCanSubscribe: Boolean! + + """ + Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. + """ + viewerSubscription: SubscriptionState } """ @@ -39790,6 +52153,9 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib Author's association with the discussion's team. """ authorAssociation: CommentAuthorAssociation! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The body as Markdown. @@ -39810,6 +52176,9 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib Identifies the discussion body hash. """ bodyVersion: String! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ A list of comments on this discussion. @@ -39845,16 +52214,25 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib """ orderBy: TeamDiscussionCommentOrder ): TeamDiscussionCommentConnection! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The HTTP path for discussion comments """ commentsResourcePath: URI! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The HTTP URL for discussion comments """ commentsUrl: URI! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Identifies the date and time when the object was created. @@ -39886,11 +52264,17 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib Whether or not the discussion is pinned. """ isPinned: Boolean! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Whether or not the discussion is only visible to team members and org admins. """ isPrivate: Boolean! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The moment the editor made the last edit @@ -39901,6 +52285,9 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib Identifies the discussion within its team. """ number: Int! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Identifies when the comment was published at. @@ -39951,16 +52338,25 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib The HTTP path for this discussion """ resourcePath: URI! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The team that defines the context of this discussion. """ team: Team! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The title of the discussion """ title: String! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Identifies the date and time when the object was last updated. @@ -39971,6 +52367,9 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib The HTTP URL for this discussion """ url: URI! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ A list of edits to this content. @@ -40006,6 +52405,9 @@ type TeamDiscussion implements Comment & Deletable & Node & Reactable & Subscrib Whether or not the current viewer can pin this discussion. """ viewerCanPin: Boolean! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Can user react to this subject @@ -40051,6 +52453,9 @@ type TeamDiscussionComment implements Comment & Deletable & Node & Reactable & U Author's association with the comment's team. """ authorAssociation: CommentAuthorAssociation! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The body as Markdown. @@ -40071,6 +52476,9 @@ type TeamDiscussionComment implements Comment & Deletable & Node & Reactable & U The current version of the body content. """ bodyVersion: String! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Identifies the date and time when the object was created. @@ -40091,6 +52499,9 @@ type TeamDiscussionComment implements Comment & Deletable & Node & Reactable & U The discussion this comment is about. """ discussion: TeamDiscussion! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ The actor who edited the comment. @@ -40112,6 +52523,9 @@ type TeamDiscussionComment implements Comment & Deletable & Node & Reactable & U Identifies the comment number. """ number: Int! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Identifies when the comment was published at. @@ -40162,6 +52576,9 @@ type TeamDiscussionComment implements Comment & Deletable & Node & Reactable & U The HTTP path for this comment """ resourcePath: URI! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ Identifies the date and time when the object was last updated. @@ -40172,6 +52589,9 @@ type TeamDiscussionComment implements Comment & Deletable & Node & Reactable & U The HTTP URL for this comment """ url: URI! + @deprecated( + reason: "The Team Discussions feature is deprecated in favor of Organization Discussions. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. Removal on 2024-07-01 UTC." + ) """ A list of edits to this content. @@ -40485,6 +52905,21 @@ enum TeamMembershipType { IMMEDIATE } +""" +The possible team notification values. +""" +enum TeamNotificationSetting { + """ + No one will receive notifications. + """ + NOTIFICATIONS_DISABLED + + """ + Everyone will receive notifications when the team is @mentioned. + """ + NOTIFICATIONS_ENABLED +} + """ Ways in which team connections can be ordered. """ @@ -40938,6 +53373,76 @@ type TextMatchHighlight { text: String! } +""" +The possible states of a thread subscription form action +""" +enum ThreadSubscriptionFormAction { + """ + The User cannot subscribe or unsubscribe to the thread + """ + NONE + + """ + The User can subscribe to the thread + """ + SUBSCRIBE + + """ + The User can unsubscribe to the thread + """ + UNSUBSCRIBE +} + +""" +The possible states of a subscription. +""" +enum ThreadSubscriptionState { + """ + The subscription status is currently disabled. + """ + DISABLED + + """ + The User is never notified because they are ignoring the list + """ + IGNORING_LIST + + """ + The User is never notified because they are ignoring the thread + """ + IGNORING_THREAD + + """ + The User is not recieving notifications from this thread + """ + NONE + + """ + The User is notified becuase they are watching the list + """ + SUBSCRIBED_TO_LIST + + """ + The User is notified because they are subscribed to the thread + """ + SUBSCRIBED_TO_THREAD + + """ + The User is notified because they chose custom settings for this thread. + """ + SUBSCRIBED_TO_THREAD_EVENTS + + """ + The User is notified because they chose custom settings for this thread. + """ + SUBSCRIBED_TO_THREAD_TYPE + + """ + The subscription status is currently unavailable. + """ + UNAVAILABLE +} + """ A topic aggregates entities that are related to a subject. """ @@ -40960,6 +53465,70 @@ type Topic implements Node & Starrable { first: Int = 3 ): [Topic!]! + """ + A list of repositories. + """ + repositories( + """ + 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] + + """ + 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 + + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssuesEnabled: Boolean + + """ + If non-null, filters repositories according to whether they have been locked + """ + isLocked: Boolean + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Ordering options for repositories returned from the connection + """ + orderBy: RepositoryOrder + + """ + 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 privacy + """ + privacy: RepositoryPrivacy + + """ + 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 """ @@ -41041,6 +53610,56 @@ enum TopicSuggestionDeclineReason { TOO_SPECIFIC } +""" +The possible states of a tracked issue. +""" +enum TrackedIssueStates { + """ + The tracked issue is closed + """ + CLOSED + + """ + The tracked issue is open + """ + OPEN +} + +""" +Autogenerated input type of TransferEnterpriseOrganization +""" +input TransferEnterpriseOrganizationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the enterprise where the organization should be transferred. + """ + destinationEnterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The ID of the organization to transfer. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +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 """ @@ -41050,6 +53669,11 @@ input TransferIssueInput { """ clientMutationId: String + """ + Whether to create labels if they don't exist in the target repository (matched by name) + """ + createLabelsIfMissing: Boolean = false + """ The Node ID of the issue to be transferred """ @@ -41152,6 +53776,16 @@ type TreeEntry { """ isGenerated: Boolean! + """ + The programming language this file is written in. + """ + language: Language + + """ + Number of lines in the file. + """ + lineCount: Int + """ Entry file mode. """ @@ -41162,6 +53796,11 @@ type TreeEntry { """ name: String! + """ + Entry file name. (Base64-encoded) + """ + nameRaw: Base64String! + """ Entry file object. """ @@ -41177,11 +53816,21 @@ type TreeEntry { """ 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 """ @@ -41198,6 +53847,41 @@ An RFC 3986, RFC 3987, and RFC 6570 (level 4) compliant URI string. """ scalar URI +""" +Autogenerated input type of UnarchiveProjectV2Item +""" +input UnarchiveProjectV2ItemInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the ProjectV2Item to unarchive. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the Project to archive the item from. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +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 """ @@ -41260,6 +53944,36 @@ type UnassignedEvent implements Node { @deprecated(reason: "Assignees can now be mannequins. Use the `assignee` field instead. Removal on 2020-01-01 UTC.") } +""" +Autogenerated input type of UnfollowOrganization +""" +input UnfollowOrganizationInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + ID of the organization to unfollow. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +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 """ @@ -41372,6 +54086,76 @@ type UnlabeledEvent implements Node { labelable: Labelable! } +""" +Autogenerated input type of UnlinkProjectV2FromRepository +""" +input UnlinkProjectV2FromRepositoryInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the project to unlink from the repository. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The ID of the repository to unlink from the project. + """ + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the project to unlink from the team. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The ID of the team to unlink from the project. + """ + teamId: ID! @possibleTypes(concreteTypes: ["Team"]) +} + +""" +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 """ @@ -41568,6 +54352,36 @@ type UnmarkIssueAsDuplicatePayload { duplicate: IssueOrPullRequest } +""" +Autogenerated input type of UnmarkProjectV2AsTemplate +""" +input UnmarkProjectV2AsTemplateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Project to unmark as a template. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +Autogenerated return type of UnmarkProjectV2AsTemplate +""" +type UnmarkProjectV2AsTemplatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The project. + """ + projectV2: ProjectV2 +} + """ Represents an 'unmarked_as_duplicate' event on a given issue or pull request. """ @@ -41769,11 +54583,26 @@ input UpdateBranchProtectionRuleInput { """ allowsForcePushes: Boolean + """ + Is branch creation a protected operation. + """ + blocksCreations: Boolean + """ The global relay id of the branch protection rule to be updated. """ branchProtectionRuleId: ID! @possibleTypes(concreteTypes: ["BranchProtectionRule"]) + """ + A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. + """ + bypassForcePushActorIds: [ID!] + + """ + A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. + """ + bypassPullRequestActorIds: [ID!] + """ A unique identifier for the client performing the mutation. """ @@ -41789,26 +54618,52 @@ input UpdateBranchProtectionRuleInput { """ 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 + """ The glob-like pattern used to determine matching branches. """ pattern: String """ - 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!] + """ + 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 + """ + The list of required deployment environments + """ + requiredDeploymentEnvironments: [String!] + """ List of required status check contexts that must pass for commits to be accepted to matching branches. """ requiredStatusCheckContexts: [String!] + """ + The list of required status checks + """ + requiredStatusChecks: [RequiredStatusCheckInput!] + """ Are approving reviews required to update matching branches. """ @@ -41829,6 +54684,11 @@ input UpdateBranchProtectionRuleInput { """ requiresConversationResolution: Boolean + """ + Are successful deployments required before merging. + """ + requiresDeployments: Boolean + """ Are merge commits prohibited from being pushed to this branch. """ @@ -41855,7 +54715,7 @@ 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!] } @@ -42124,6 +54984,11 @@ input UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput { """ enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + """ + The value for the allow private repository forking policy on the enterprise. + """ + policyValue: EnterpriseAllowPrivateRepositoryForkingPolicyValue + """ The value for the allow private repository forking setting on the enterprise. """ @@ -42571,6 +55436,46 @@ type UpdateEnterpriseOrganizationProjectsSettingPayload { message: String } +""" +Autogenerated input type of UpdateEnterpriseOwnerOrganizationRole +""" +input UpdateEnterpriseOwnerOrganizationRoleInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Enterprise which the owner belongs to. + """ + enterpriseId: ID! @possibleTypes(concreteTypes: ["Enterprise"]) + + """ + The ID of the organization for membership change. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) + + """ + The role to assume in the organization. + """ + organizationRole: RoleInOrganization! +} + +""" +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 """ @@ -43081,6 +55986,106 @@ type UpdateNotificationRestrictionSettingPayload { owner: VerifiableDomainOwner } +""" +Autogenerated input type of UpdateOrganizationAllowPrivateRepositoryForkingSetting +""" +input UpdateOrganizationAllowPrivateRepositoryForkingSettingInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Enable forking of private repositories in the organization? + """ + forkingEnabled: Boolean! + + """ + The ID of the organization on which to set the allow private repository forking setting. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the organization on which to set the web commit signoff setting. + """ + organizationId: ID! @possibleTypes(concreteTypes: ["Organization"]) + + """ + Enable signoff on web-based commits for repositories in the organization? + """ + webCommitSignoffRequired: Boolean! +} + +""" +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 +} + +""" +Only allow users with bypass permission to update matching refs. +""" +type UpdateParameters { + """ + Branch can pull changes from its upstream repository + """ + updateAllowsFetchAndMerge: Boolean! +} + +""" +Only allow users with bypass permission to update matching refs. +""" +input UpdateParametersInput { + """ + Branch can pull changes from its upstream repository + """ + updateAllowsFetchAndMerge: Boolean! +} + """ Autogenerated input type of UpdateProjectCard """ @@ -43206,6 +56211,310 @@ type UpdateProjectPayload { project: Project } +""" +Autogenerated input type of UpdateProjectV2Collaborators +""" +input UpdateProjectV2CollaboratorsInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The collaborators to update. + """ + collaborators: [ProjectV2Collaborator!]! + + """ + The ID of the project to update the collaborators for. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +Autogenerated return type of UpdateProjectV2Collaborators +""" +type UpdateProjectV2CollaboratorsPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The collaborators granted a role + """ + collaborators( + """ + 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 + ): ProjectV2ActorConnection +} + +""" +Autogenerated input type of UpdateProjectV2DraftIssue +""" +input UpdateProjectV2DraftIssueInput { + """ + The IDs of the assignees of the draft issue. + """ + assigneeIds: [ID!] @possibleTypes(concreteTypes: ["User"]) + + """ + The body of the draft issue. + """ + body: String + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the draft issue to update. + """ + draftIssueId: ID! @possibleTypes(concreteTypes: ["DraftIssue"]) + + """ + The title of the draft issue. + """ + title: 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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Set the project to closed or open. + """ + closed: Boolean + + """ + The ID of the Project to update. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + Set the project to public or private. + """ + public: Boolean + + """ + Set the readme description of the project. + """ + readme: String + + """ + Set the short description of the project. + """ + shortDescription: String + + """ + Set the title of the project. + """ + title: String +} + +""" +Autogenerated input type of UpdateProjectV2ItemFieldValue +""" +input UpdateProjectV2ItemFieldValueInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the field to be updated. + """ + fieldId: ID! + @possibleTypes( + concreteTypes: ["ProjectV2Field", "ProjectV2IterationField", "ProjectV2SingleSelectField"] + abstractType: "ProjectV2FieldConfiguration" + ) + + """ + The ID of the item to be updated. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the Project. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The value which will be set on the field. + """ + value: ProjectV2FieldValue! +} + +""" +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 item to position this item after. If omitted or set to null the item will be moved to top. + """ + afterId: ID @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the item to be moved. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the Project. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) +} + +""" +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 { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The head ref oid for the upstream branch. + """ + expectedHeadOid: GitObjectID + + """ + The Node ID of the pull request. + """ + pullRequestId: ID! @possibleTypes(concreteTypes: ["PullRequest"]) + + """ + The update branch method to use. If omitted, defaults to 'MERGE' + """ + updateMethod: PullRequestBranchUpdateMethod +} + +""" +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 """ @@ -43441,6 +56750,11 @@ input UpdateRepositoryInput { """ description: String + """ + Indicates if the repository should have the discussions feature enabled. + """ + hasDiscussionsEnabled: Boolean + """ Indicates if the repository should have the issues feature enabled. """ @@ -43493,6 +56807,106 @@ type UpdateRepositoryPayload { repository: Repository } +""" +Autogenerated input type of UpdateRepositoryRuleset +""" +input UpdateRepositoryRulesetInput { + """ + A list of actors that are allowed to bypass rules in this ruleset. + """ + bypassActors: [RepositoryRulesetBypassActorInput!] + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The list of conditions for this ruleset + """ + conditions: RepositoryRuleConditionsInput + + """ + The enforcement level for this ruleset + """ + enforcement: RuleEnforcement + + """ + The name of the ruleset. + """ + name: String + + """ + The global relay id of the repository ruleset to be updated. + """ + repositoryRulesetId: ID! @possibleTypes(concreteTypes: ["RepositoryRuleset"]) + + """ + The list of rules for this ruleset + """ + rules: [RepositoryRuleInput!] + + """ + The target of the ruleset. + """ + target: RepositoryRulesetTarget +} + +""" +Autogenerated return type of UpdateRepositoryRuleset +""" +type UpdateRepositoryRulesetPayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The newly created Ruleset. + """ + ruleset: RepositoryRuleset +} + +""" +Autogenerated input type of UpdateRepositoryWebCommitSignoffSetting +""" +input UpdateRepositoryWebCommitSignoffSettingInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the repository to update. + """ + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) + + """ + Indicates if the repository should require signoff on web-based commits. + """ + webCommitSignoffRequired: Boolean! +} + +""" +Autogenerated return type of UpdateRepositoryWebCommitSignoffSetting +""" +type UpdateRepositoryWebCommitSignoffSettingPayload { + """ + 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 updated repository. + """ + repository: Repository +} + """ Autogenerated input type of UpdateSponsorshipPreferences """ @@ -43736,6 +57150,51 @@ type UpdateTeamReviewAssignmentPayload { team: Team } +""" +Autogenerated input type of UpdateTeamsRepository +""" +input UpdateTeamsRepositoryInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Permission that should be granted to the teams. + """ + permission: RepositoryPermission! + + """ + Repository ID being granted access to. + """ + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) + + """ + A list of teams being granted access. Limit: 10 + """ + teamIds: [ID!]! @possibleTypes(concreteTypes: ["Team"]) +} + +""" +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 """ @@ -43779,7 +57238,7 @@ type UpdateTopicsPayload { """ A user is an individual's account on GitHub that owns repositories and can make new content. """ -type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & RepositoryDiscussionAuthor & RepositoryDiscussionCommentAuthor & RepositoryOwner & Sponsorable & UniformResourceLocatable { +type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & ProjectV2Owner & ProjectV2Recent & RepositoryDiscussionAuthor & RepositoryDiscussionCommentAuthor & RepositoryOwner & Sponsorable & UniformResourceLocatable { """ Determine if this repository owner has any items that can be pinned to their profile. """ @@ -44059,7 +57518,7 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & isEmployee: Boolean! """ - Whether or not this user is following the viewer. Inverse of viewer_is_following + Whether or not this user is following the viewer. Inverse of viewerIsFollowing """ isFollowingViewer: Boolean! @@ -44079,7 +57538,7 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & isSiteAdmin: Boolean! """ - Check if the given account is sponsoring this user/organization. + Whether the given account is sponsoring this user/organization. """ isSponsoredBy( """ @@ -44242,6 +57701,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & Returns the last _n_ elements from the list. """ last: Int + + """ + Ordering options for the User's organizations. + """ + orderBy: OrganizationOrder = null ): OrganizationConnection! """ @@ -44364,6 +57828,16 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & number: Int! ): Project + """ + Find a project by number. + """ + projectV2( + """ + The project number. + """ + number: Int! + ): ProjectV2 + """ A list of projects under the owner. """ @@ -44414,6 +57888,46 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ projectsUrl: URI! + """ + A list of projects under the owner. + """ + 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 + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """ + A project to search for under the the owner. + """ + query: String + ): ProjectV2Connection! + + """ + The user's profile pronouns + """ + pronouns: String + """ A list of public keys associated with this user. """ @@ -44489,6 +58003,31 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & states: [PullRequestState!] ): 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. """ @@ -44515,6 +58054,16 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ first: Int + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssuesEnabled: Boolean + + """ + If non-null, filters repositories according to whether they are archived and not maintained + """ + isArchived: Boolean + """ If non-null, filters repositories according to whether they are forks of another repository """ @@ -44550,7 +58099,7 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ A list of repositories that the user recently contributed to. -""" + """ repositoriesContributedTo( """ Returns the elements in the list that come after the specified cursor. @@ -44573,6 +58122,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ first: Int + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssues: Boolean + """ If true, include user repositories """ @@ -44603,6 +58157,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & Find Repository. """ repository( + """ + Follow repository renames. If disabled, a repository referenced by its old name will return an error. + """ + followRenames: Boolean = true + """ Name of Repository to find. """ @@ -44683,6 +58242,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & Filter discussions to only those in a specific repository. """ repositoryId: ID + + """ + A list of states to filter the discussions by. + """ + states: [DiscussionState!] = [] ): DiscussionConnection! """ @@ -44720,6 +58284,31 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & 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. """ @@ -44790,6 +58379,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & Events involving this sponsorable, such as new sponsorships. """ sponsorsActivities( + """ + Filter activities to only the specified actions. + """ + actions: [SponsorsActivityAction!] = [] + """ Returns the elements in the list that come after the specified cursor. """ @@ -44805,6 +58399,18 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ first: Int + """ + 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 + + """ + Whether or not to include private activities in the result set. Defaults to including public and private activities. + """ + includePrivate: Boolean = true + """ Returns the last _n_ elements from the list. """ @@ -44816,9 +58422,21 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & orderBy: SponsorsActivityOrder = {field: TIMESTAMP, direction: DESC} """ - Filter activities returned to only those that occurred in a given time range. + 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 + + """ + Filter activities to those that occurred on or after this time. + """ + since: DateTime + + """ + Filter activities to those that occurred before this time. + """ + until: DateTime ): SponsorsActivityConnection! """ @@ -44827,16 +58445,26 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & sponsorsListing: SponsorsListing """ - The sponsorship from the viewer to this user/organization; that is, the - sponsorship where you're the sponsor. Only returns a sponsorship if it is active. + The sponsorship from the viewer to this user/organization; that is, the sponsorship where you're the sponsor. """ - sponsorshipForViewerAsSponsor: Sponsorship + 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. Only returns a sponsorship if it is active. + The sponsorship from this user/organization to the viewer; that is, the sponsorship you're receiving. """ - sponsorshipForViewerAsSponsorable: Sponsorship + 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. @@ -44869,9 +58497,15 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & ): SponsorshipNewsletterConnection! """ - This object's sponsorships as the maintainer. + The sponsorships where this user or organization is the maintainer receiving the funds. """ sponsorshipsAsMaintainer( + """ + Whether to include only sponsorships that are active right now, versus all + sponsorships this maintainer has ever received. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -44905,9 +58539,14 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & ): SponsorshipConnection! """ - This object's sponsorships as the sponsor. + The sponsorships where this user or organization is the funder. """ sponsorshipsAsSponsor( + """ + Whether to include only sponsorships that are active right now, versus all sponsorships this sponsor has ever made. + """ + activeOnly: Boolean = true + """ Returns the elements in the list that come after the specified cursor. """ @@ -44928,6 +58567,13 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ last: Int + """ + 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!] + """ Ordering options for sponsorships returned from this connection. If left blank, the sponsorships will be ordered based on relevancy to the viewer. @@ -45010,6 +58656,28 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & 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 made to the users or organizations with the specified usernames. + """ + sponsorableLogins: [String!] = [] + + """ + Filter payments to those that occurred before this time. + """ + until: DateTime + ): Int + """ The user's Twitter username. """ @@ -45046,7 +58714,7 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & viewerCanSponsor: Boolean! """ - Whether or not this user is followed by the viewer. Inverse of is_following_viewer. + Whether or not this user is followed by the viewer. Inverse of isFollowingViewer. """ viewerIsFollowing: Boolean! @@ -45081,6 +58749,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ first: Int + """ + If non-null, filters repositories according to whether they have issues enabled + """ + hasIssuesEnabled: Boolean + """ If non-null, filters repositories according to whether they have been locked """ @@ -45652,7 +59325,7 @@ interface Votable { """ A workflow contains meta information about an Actions workflow file. """ -type Workflow implements Node { +type Workflow implements Node & UniformResourceLocatable { """ Identifies the date and time when the object was created. """ @@ -45669,16 +59342,61 @@ type Workflow implements Node { """ name: String! + """ + The HTTP path for this workflow + """ + resourcePath: URI! + + """ + 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! + + """ + The HTTP URL for this workflow + """ + url: URI! } """ A workflow run. """ -type WorkflowRun implements Node { +type WorkflowRun implements Node & UniformResourceLocatable { """ The check suite this workflow run belongs to. """ @@ -45718,6 +59436,16 @@ type WorkflowRun implements Node { """ last: Int ): DeploymentReviewConnection! + + """ + The event that triggered the workflow run + """ + event: String! + + """ + The workflow file + """ + file: WorkflowRunFile id: ID! """ @@ -45771,6 +59499,148 @@ type WorkflowRun implements Node { 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 +} + +""" +An executed workflow file for a workflow run. +""" +type WorkflowRunFile implements Node & UniformResourceLocatable { + id: ID! + + """ + The path of the workflow file relative to its repository. + """ + path: String! + + """ + The direct link to the file in the repository which stores the workflow file. + """ + repositoryFileUrl: URI! + + """ + The repository name and owner which stores the workflow file. + """ + repositoryName: URI! + + """ + The HTTP path for this workflow run file + """ + resourcePath: URI! + + """ + The parent workflow run execution for this file. + """ + run: WorkflowRun! + + """ + The HTTP URL for this workflow run file + """ + url: URI! + + """ + If the viewer has permissions to push to the repository which stores the workflow. + """ + viewerCanPushRepository: Boolean! + + """ + If the viewer has permissions to read the repository which stores the workflow. + """ + viewerCanReadRepository: Boolean! +} + +""" +Ways in which lists of workflow runs can be ordered upon return. +""" +input WorkflowRunOrder { + """ + The direction in which to order workflow runs by the specified field. + """ + direction: OrderDirection! + + """ + The field by which to order workflows. + """ + field: WorkflowRunOrderField! +} + +""" +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 """ From ad16367a4520ca8bd398810aaac6fdb5186f711a Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 08:33:30 -0500 Subject: [PATCH 2/8] update world with repositoryOwner interface --- packages/github-api/src/types/graphql.ts | 24 +++++++++--------- packages/github-api/src/types/world.ts | 15 ++++++++++-- packages/github-api/world.graphql | 31 ++++++++++++------------ 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/packages/github-api/src/types/graphql.ts b/packages/github-api/src/types/graphql.ts index 250fa468..3a16ca0d 100644 --- a/packages/github-api/src/types/graphql.ts +++ b/packages/github-api/src/types/graphql.ts @@ -13,9 +13,8 @@ export interface Scalars { Float: number; } -export interface GithubAccount { +export interface GithubAccount extends RepositoryOwner { __typename?: 'GithubAccount'; - avatarUrl: Scalars['String']; bio: Scalars['String']; collaboratorOn: Array; createdAt: Scalars['String']; @@ -23,12 +22,9 @@ export interface GithubAccount { firstName: Scalars['String']; lastActive: Scalars['String']; lastName: Scalars['String']; - login: Scalars['String']; name: Scalars['String']; organizations: Array; - repositories: Array; teamMemberships: Array; - url: Scalars['String']; user: User; } @@ -39,18 +35,14 @@ export interface GithubCommit { sha: Scalars['String']; } -export interface GithubOrganization { +export interface GithubOrganization extends RepositoryOwner { __typename?: 'GithubOrganization'; - avatarUrl: Scalars['String']; createdAt: Scalars['String']; description: Scalars['String']; email: Scalars['String']; entityName: Scalars['String']; - login: Scalars['String']; name: Scalars['String']; - repositories: Array; teams: Array; - url: Scalars['String']; } export interface GithubRef { @@ -71,12 +63,14 @@ export interface GithubRepository { login: Scalars['String']; name: Scalars['String']; nameWithOwner: Scalars['String']; - owner: RepositoryOwner; + owner: GithubRepositoryOwner; repositoryTopics: Array; url: Scalars['String']; visibility: Scalars['String']; } +export type GithubRepositoryOwner = GithubAccount | GithubOrganization; + export interface GithubTeam { __typename?: 'GithubTeam'; entityName: Scalars['String']; @@ -94,7 +88,13 @@ export interface GithubTeamMembership { team: GithubTeam; } -export type RepositoryOwner = GithubAccount | GithubOrganization; +export interface RepositoryOwner { + avatarUrl: Scalars['String']; + login: Scalars['String']; + repositories: Array; + resourcePath: Scalars['String']; + url: Scalars['String']; +} export interface User { __typename?: 'User'; diff --git a/packages/github-api/src/types/world.ts b/packages/github-api/src/types/world.ts index a7492b67..00128c94 100644 --- a/packages/github-api/src/types/world.ts +++ b/packages/github-api/src/types/world.ts @@ -1,5 +1,15 @@ -import type { GithubAccount, GithubCommit, GithubOrganization, GithubRef, GithubRepository, GithubTeam, GithubTeamMembership, User } from './graphql'; -import type { GraphGen } from '@frontside/graphgen'; +import type { + GithubAccount, + GithubCommit, + GithubOrganization, + GithubRef, + GithubRepository, + GithubTeam, + GithubTeamMembership, + User, + GithubRepositoryOwner, +} from "./graphql"; +import type { GraphGen } from "@frontside/graphgen"; export interface World { User: User; @@ -10,6 +20,7 @@ export interface World { GithubRepository: GithubRepository; GithubTeam: GithubTeam; GithubTeamMembership: GithubTeamMembership; + GithubRepositoryOwner: GithubRepositoryOwner; } export type Factory = GraphGen; diff --git a/packages/github-api/world.graphql b/packages/github-api/world.graphql index 999c7f98..a56ea7af 100644 --- a/packages/github-api/world.graphql +++ b/packages/github-api/world.graphql @@ -1,4 +1,11 @@ -union RepositoryOwner = GithubAccount | GithubOrganization +union GithubRepositoryOwner = GithubOrganization | GithubAccount +interface RepositoryOwner { + avatarUrl: String! + login: String! + repositories: [GithubRepository!]! + url: String! + resourcePath: String! +} type GithubCommit { sha: String! @@ -19,7 +26,7 @@ type GithubRepository { url: String! createdAt: String! collaborators: [GithubAccount!]! - owner: RepositoryOwner! + owner: GithubRepositoryOwner! defaultBranchRef: GithubRef! languages: [String!]! repositoryTopics: [String!]! @@ -40,38 +47,30 @@ type GithubTeam { type GithubTeamMembership { name: String! githubAccount: GithubAccount! - team: GithubTeam! + team: GithubTeam! } -type GithubOrganization { +type GithubOrganization implements RepositoryOwner { entityName: String! name: String! - url: String! - login: String! - avatarUrl: String! description: String! email: String! createdAt: String! - teams: [GithubTeam!]! - repositories: [GithubRepository!]! + teams: [GithubTeam!]! } -type GithubAccount { +type GithubAccount implements RepositoryOwner { firstName: String! lastName: String! name: String! - url: String! - login: String! - user: User! + user: User! entityName: String! bio: String! - avatarUrl: String! lastActive: String! createdAt: String! organizations: [GithubOrganization!]! teamMemberships: [GithubTeamMembership!]! - collaboratorOn: [GithubRepository!]! - repositories: [GithubRepository!]! + collaboratorOn: [GithubRepository!]! } type User { From c375098c23c438d35d836d5508d2d22528ee9118 Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 08:34:47 -0500 Subject: [PATCH 3/8] default number of edges to return --- packages/github-api/src/relay/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/github-api/src/relay/index.ts b/packages/github-api/src/relay/index.ts index 55cab8cc..f919ed21 100644 --- a/packages/github-api/src/relay/index.ts +++ b/packages/github-api/src/relay/index.ts @@ -91,6 +91,9 @@ function applyCursorsToEdges(nodes: T[], before?: string, after?: string) { function edgesToReturn(edges: T[], first?: number, last?: number) { let newEdges: T[] = []; + if (first == null && last == null) { + first = 100; + } if (first != null) { if (first < 0) { throw new Error(`value of first must be greater than 0, was ${first}`); From 5fc64c85586fcc6ad3ef9ee8b5000aae1d00ed89 Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 08:40:40 -0500 Subject: [PATCH 4/8] add repositoryOwner query, add toGraphql method --- packages/github-api/src/index.ts | 4 +- .../src/service/graphgen-to-graphql.ts | 130 ++++++++++++++++++ .../github-api/src/service/repositories.ts | 41 ------ packages/github-api/src/service/resolvers.ts | 93 +++---------- 4 files changed, 154 insertions(+), 114 deletions(-) create mode 100644 packages/github-api/src/service/graphgen-to-graphql.ts delete mode 100644 packages/github-api/src/service/repositories.ts diff --git a/packages/github-api/src/index.ts b/packages/github-api/src/index.ts index 877b060d..f1844fef 100644 --- a/packages/github-api/src/index.ts +++ b/packages/github-api/src/index.ts @@ -7,8 +7,8 @@ export type { GithubTeam, GithubTeamMembership, User, - RepositoryOwner - } from './types/graphql'; + GithubRepositoryOwner, +} from './types/graphql'; export type { World, Factory } from './types/world'; diff --git a/packages/github-api/src/service/graphgen-to-graphql.ts b/packages/github-api/src/service/graphgen-to-graphql.ts new file mode 100644 index 00000000..00798195 --- /dev/null +++ b/packages/github-api/src/service/graphgen-to-graphql.ts @@ -0,0 +1,130 @@ +import type { + GithubRepository, + GithubOrganization, + User, + GithubAccount, +} from "../types/graphql"; +import type { PageArgs } from "../relay"; +import { applyRelayPagination } from "../relay"; +import assert from "assert-ts"; + +export function toGraphql( + factory: GithubRepository | GithubOrganization | GithubAccount | User, + as?: "GithubRepositoryOwner" +) { + if (as) { + switch (as) { + case "GithubRepositoryOwner": + assert( + factory.__typename === "GithubOrganization" || + factory.__typename === "GithubAccount", + `GithubRepositoryOwner requires type GithubOrganization or GithubAccount, received ${factory.__typename}` + ); + return toGithubRepositoryOwner(factory); + } + } else { + switch (factory.__typename) { + case "GithubRepository": + return { + name: factory.name, + description: factory.description, + nameWithOwner: factory.nameWithOwner, + login: factory.login, + url: factory.url, + createdAt: factory.createdAt, + collaborators(pageArgs: PageArgs) { + return applyRelayPagination(factory.collaborators, pageArgs); + }, + owner: toGithubRepositoryOwner(factory.owner), + defaultBranchRef: { + name: factory.defaultBranchRef.name, + target: factory.defaultBranchRef.target, + }, + languages: { + nodes: factory.languages.map((l) => ({ + name: l, + })), + }, + repositoryTopics: { + nodes: factory.repositoryTopics.map((t) => ({ + topic: { name: t }, + })), + }, + visibility: factory.visibility, + isArchived: factory.isArchived, + entityName: factory.entityName, + }; + case "GithubOrganization": + return { + __typename: "Organization", + avatarUrl: factory.avatarUrl, + login: factory.login, + url: factory.url, + resourcePath: factory.resourcePath, + repositories(pageArgs: PageArgs) { + return applyRelayPagination(factory.repositories, pageArgs, (r) => + toGraphql(r) + ); + }, + entityName: factory.entityName, + name: factory.name, + description: factory.description, + email: factory.email, + createdAt: factory.createdAt, + teams(pageArgs: PageArgs) { + return applyRelayPagination(factory.teams, pageArgs, (t) => ({ + ...t, + })); + }, + }; + case "GithubAccount": + return { + __typename: "User", + avatarUrl: factory.avatarUrl, + login: factory.login, + url: factory.url, + resourcePath: factory.resourcePath, + repositories(pageArgs: PageArgs) { + return applyRelayPagination(factory.repositories, pageArgs, (r) => + toGraphql(r) + ); + }, + firstName: factory.firstName, + lastName: factory.lastName, + name: factory.name, + bio: factory.bio, + lastActive: factory.lastActive, + createdAt: factory.createdAt, + organizations(pageArgs: PageArgs) { + return applyRelayPagination(factory.organizations, pageArgs, (r) => + toGraphql(r) + ); + }, + teamMemberships: factory.teamMemberships, + collaboratorOn(pageArgs: PageArgs) { + return applyRelayPagination(factory.collaboratorOn, pageArgs, (r) => + toGraphql(r) + ); + }, + }; + default: + return { ...factory }; + } + } +} + +function toGithubRepositoryOwner(factory: GithubOrganization | GithubAccount) { + return { + __typename: + factory.__typename === "GithubOrganization" ? "Organization" : "User", + avatarUrl: factory.avatarUrl, + login: factory.login, + repositories(pageArgs: PageArgs) { + return applyRelayPagination(factory.repositories, pageArgs, (r) => + toGraphql(r) + ); + }, + resourcePath: factory.resourcePath, + url: factory.url, + }; +} diff --git a/packages/github-api/src/service/repositories.ts b/packages/github-api/src/service/repositories.ts deleted file mode 100644 index 628cff86..00000000 --- a/packages/github-api/src/service/repositories.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { GithubRepository } from '../types/graphql'; -import type { PageArgs } from '../relay'; -import { applyRelayPagination } from '../relay'; - -export function requestRepositories( - githubRepositories: GithubRepository[], - pageArgs: PageArgs, -) { - let repos = githubRepositories.map(r => requestRepository(r)); - return applyRelayPagination(repos, pageArgs); -} - -export function requestRepository(repository: GithubRepository) { - return { - name: repository.name, - description: repository.description, - isArchived: repository.isArchived, - nameWithOwner: repository.nameWithOwner, - repositoryTopics: { - nodes: repository.repositoryTopics.map(t => ({ - topic: { name: t }, - })), - }, - languages: { - nodes: repository.languages.map(l => ({ - name: l, - })), - }, - url: repository.url, - visibility: repository.visibility, - owner: { - __typename: - repository.owner.__typename === 'GithubOrganization' - ? 'Organization' - : 'User', - login: repository.owner.login, - name: repository.owner.name, - url: repository.owner.url, - }, - }; -} diff --git a/packages/github-api/src/service/resolvers.ts b/packages/github-api/src/service/resolvers.ts index 8758c440..d8f047a3 100644 --- a/packages/github-api/src/service/resolvers.ts +++ b/packages/github-api/src/service/resolvers.ts @@ -1,7 +1,7 @@ import type { PageArgs } from '../relay'; import { applyRelayPagination } from '../relay'; import type { Resolvers, SimulatedData } from './types'; -import { requestRepositories } from './repositories'; +import { toGraphql } from './graphgen-to-graphql'; import { assert } from 'assert-ts'; export function createResolvers({ @@ -13,57 +13,25 @@ export function createResolvers({ Query: { viewer(_: unknown, { size, cursor }: { size: number; cursor?: string }) { let orgs = [...users] - .flatMap(e => e.githubAccount?.organizations) - .flatMap(org => (!!org ? [org] : [])); + .flatMap((e) => e.githubAccount?.organizations) + .flatMap((org) => (!!org ? [org] : [])); return { organizations: applyRelayPagination( orgs, { first: size, after: cursor }, - node => { - return { - ...node, - teams: applyRelayPagination(node.teams, { first: 10 }, team => { - return { - ...team, - }; - }), - }; - }, + (org) => toGraphql(org) ), }; }, organization(_: unknown, { login }: { login: string }) { - let [org] = [...githubOrganizations].filter(o => o.login === login); - - assert(!!org, `no orginization found for ${login}`); - - // TODO: why do we have commits with the repos? - let organizationRepositories = org.repositories.filter( - repo => !!repo.owner, - ); - - return { - ...org, - repositories(pageArgs: PageArgs) { - return requestRepositories(organizationRepositories, pageArgs); - }, - }; + let [org] = [...githubOrganizations].filter((o) => o.login === login); + assert(!!org, `no organization found for ${login}`); + return toGraphql(org); }, organizations(pageArgs: PageArgs) { let orgs = [...githubOrganizations]; - - return applyRelayPagination(orgs, pageArgs, org => { - return { - ...org, - repositories(repositoryiesPageArgs: PageArgs) { - return requestRepositories( - org.repositories, - repositoryiesPageArgs, - ); - }, - }; - }); + return applyRelayPagination(orgs, pageArgs, (org) => toGraphql(org)); }, repository(_, { owner, name }: { owner: string; name: string }) { let repo = [...githubRepositories].find( @@ -71,39 +39,22 @@ export function createResolvers({ r.name.toLowerCase() === name && r.nameWithOwner.toLowerCase() === `${owner}/${name}`.toLowerCase() ); - assert(!!repo, `no repository found for ${name}`); + return toGraphql(repo); + }, + repositoryOwner(_, { login }: { login: string }) { + let [org] = [...githubOrganizations].filter((o) => o.login === login); + if (org) return toGraphql(org, "GithubRepositoryOwner"); - return { - // id: repo.id, - name: repo.name, - nameWithOwner: repo.nameWithOwner, - url: repo.url, - description: repo.description, - visibility: repo.visibility, - isArchived: repo.isArchived, - defaultBranchRef: { - name: repo.defaultBranchRef.name - }, - languages: { - nodes: repo.languages.map(l => ({ - name: l, - })), - }, - repositoryTopics: { - nodes: repo.repositoryTopics.map(t => ({ - topic: { name: t }, - })), - }, - owner: { - __typename: 'teams' in repo.owner ? 'Organization' : 'User', - name: repo.owner.name, - login: repo.owner.login, - }, - // collaborators(pageArgs: PageArgs) { - // return applyRelayPagination(repo.collaborators, pageArgs); - // }, - }; + let [userAccount] = [...users].filter( + (u) => u.githubAccount.login === login + ); + assert( + !!userAccount, + `no github organization or account found for ${login}` + ); + if (userAccount) + return toGraphql(userAccount.githubAccount, "GithubRepositoryOwner"); }, }, }; From 7683a6a9ba5ea285de17db6a71c67a1a0b6f0d2f Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 08:54:47 -0500 Subject: [PATCH 5/8] interfaces aren't returned, return actual passed type --- .../src/service/graphgen-to-graphql.ts | 175 ++++++++---------- packages/github-api/src/service/resolvers.ts | 5 +- 2 files changed, 76 insertions(+), 104 deletions(-) diff --git a/packages/github-api/src/service/graphgen-to-graphql.ts b/packages/github-api/src/service/graphgen-to-graphql.ts index 00798195..52c6f416 100644 --- a/packages/github-api/src/service/graphgen-to-graphql.ts +++ b/packages/github-api/src/service/graphgen-to-graphql.ts @@ -6,113 +6,86 @@ import type { } from "../types/graphql"; import type { PageArgs } from "../relay"; import { applyRelayPagination } from "../relay"; -import assert from "assert-ts"; export function toGraphql( - factory: GithubRepository | GithubOrganization | GithubAccount | User, - as?: "GithubRepositoryOwner" + factory: GithubRepository | GithubOrganization | GithubAccount | User ) { - if (as) { - switch (as) { - case "GithubRepositoryOwner": - assert( - factory.__typename === "GithubOrganization" || - factory.__typename === "GithubAccount", - `GithubRepositoryOwner requires type GithubOrganization or GithubAccount, received ${factory.__typename}` - ); - return toGithubRepositoryOwner(factory); - } - } else { - switch (factory.__typename) { - case "GithubRepository": - return { - name: factory.name, - description: factory.description, - nameWithOwner: factory.nameWithOwner, - login: factory.login, - url: factory.url, - createdAt: factory.createdAt, - collaborators(pageArgs: PageArgs) { - return applyRelayPagination(factory.collaborators, pageArgs); - }, - owner: toGithubRepositoryOwner(factory.owner), - defaultBranchRef: { - name: factory.defaultBranchRef.name, - target: factory.defaultBranchRef.target, - }, - languages: { - nodes: factory.languages.map((l) => ({ - name: l, - })), - }, - repositoryTopics: { - nodes: factory.repositoryTopics.map((t) => ({ - topic: { name: t }, - })), - }, - visibility: factory.visibility, - isArchived: factory.isArchived, - entityName: factory.entityName, - }; - case "GithubOrganization": - return { - __typename: "Organization", - avatarUrl: factory.avatarUrl, - login: factory.login, - url: factory.url, - resourcePath: factory.resourcePath, - repositories(pageArgs: PageArgs) { - return applyRelayPagination(factory.repositories, pageArgs, (r) => - toGraphql(r) - ); - }, - entityName: factory.entityName, - name: factory.name, - description: factory.description, - email: factory.email, - createdAt: factory.createdAt, - teams(pageArgs: PageArgs) { - return applyRelayPagination(factory.teams, pageArgs, (t) => ({ - ...t, - })); - }, - }; - case "GithubAccount": - return { - __typename: "User", - avatarUrl: factory.avatarUrl, - login: factory.login, - url: factory.url, - resourcePath: factory.resourcePath, - repositories(pageArgs: PageArgs) { - return applyRelayPagination(factory.repositories, pageArgs, (r) => - toGraphql(r) - ); - }, - firstName: factory.firstName, - lastName: factory.lastName, - name: factory.name, - bio: factory.bio, - lastActive: factory.lastActive, - createdAt: factory.createdAt, - organizations(pageArgs: PageArgs) { - return applyRelayPagination(factory.organizations, pageArgs, (r) => - toGraphql(r) - ); - }, - teamMemberships: factory.teamMemberships, - collaboratorOn(pageArgs: PageArgs) { - return applyRelayPagination(factory.collaboratorOn, pageArgs, (r) => - toGraphql(r) - ); - }, - }; - default: - return { ...factory }; - } + switch (factory.__typename) { + case "GithubRepository": + return { + name: factory.name, + description: factory.description, + nameWithOwner: factory.nameWithOwner, + login: factory.login, + url: factory.url, + createdAt: factory.createdAt, + collaborators(pageArgs: PageArgs) { + return applyRelayPagination(factory.collaborators, pageArgs); + }, + owner() { + return toGraphql(factory.owner); + }, + defaultBranchRef: { + name: factory.defaultBranchRef.name, + target: factory.defaultBranchRef.target, + }, + languages: { + nodes: factory.languages.map((l) => ({ + name: l, + })), + }, + repositoryTopics: { + nodes: factory.repositoryTopics.map((t) => ({ + topic: { name: t }, + })), + }, + visibility: factory.visibility, + isArchived: factory.isArchived, + entityName: factory.entityName, + }; + case "GithubOrganization": + return { + ...toGithubRepositoryOwner(factory), + entityName: factory.entityName, + name: factory.name, + description: factory.description, + email: factory.email, + createdAt: factory.createdAt, + teams(pageArgs: PageArgs) { + return applyRelayPagination(factory.teams, pageArgs, (t) => ({ + ...t, + })); + }, + }; + case "GithubAccount": + return { + ...toGithubRepositoryOwner(factory), + firstName: factory.firstName, + lastName: factory.lastName, + name: factory.name, + bio: factory.bio, + lastActive: factory.lastActive, + createdAt: factory.createdAt, + organizations(pageArgs: PageArgs) { + return applyRelayPagination(factory.organizations, pageArgs, (r) => + toGraphql(r) + ); + }, + teamMemberships: factory.teamMemberships, + collaboratorOn(pageArgs: PageArgs) { + return applyRelayPagination(factory.collaboratorOn, pageArgs, (r) => + toGraphql(r) + ); + }, + }; + default: + return { ...factory }; } } +/* + Represents the RepositoryOwner interface +*/ function toGithubRepositoryOwner(factory: GithubOrganization | GithubAccount) { return { __typename: diff --git a/packages/github-api/src/service/resolvers.ts b/packages/github-api/src/service/resolvers.ts index d8f047a3..e78877bb 100644 --- a/packages/github-api/src/service/resolvers.ts +++ b/packages/github-api/src/service/resolvers.ts @@ -44,7 +44,7 @@ export function createResolvers({ }, repositoryOwner(_, { login }: { login: string }) { let [org] = [...githubOrganizations].filter((o) => o.login === login); - if (org) return toGraphql(org, "GithubRepositoryOwner"); + if (org) return toGraphql(org); let [userAccount] = [...users].filter( (u) => u.githubAccount.login === login @@ -53,8 +53,7 @@ export function createResolvers({ !!userAccount, `no github organization or account found for ${login}` ); - if (userAccount) - return toGraphql(userAccount.githubAccount, "GithubRepositoryOwner"); + if (userAccount) return toGraphql(userAccount.githubAccount); }, }, }; From 4aa624dcbd5851a15b34c044fa54f6c0467039fe Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 09:00:29 -0500 Subject: [PATCH 6/8] paginate languages and repositoryTopics --- .../src/service/graphgen-to-graphql.ts | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/packages/github-api/src/service/graphgen-to-graphql.ts b/packages/github-api/src/service/graphgen-to-graphql.ts index 52c6f416..25247bd5 100644 --- a/packages/github-api/src/service/graphgen-to-graphql.ts +++ b/packages/github-api/src/service/graphgen-to-graphql.ts @@ -3,15 +3,15 @@ import type { GithubOrganization, User, GithubAccount, -} from "../types/graphql"; -import type { PageArgs } from "../relay"; -import { applyRelayPagination } from "../relay"; +} from '../types/graphql'; +import type { PageArgs } from '../relay'; +import { applyRelayPagination } from '../relay'; export function toGraphql( factory: GithubRepository | GithubOrganization | GithubAccount | User ) { switch (factory.__typename) { - case "GithubRepository": + case 'GithubRepository': return { name: factory.name, description: factory.description, @@ -29,21 +29,23 @@ export function toGraphql( name: factory.defaultBranchRef.name, target: factory.defaultBranchRef.target, }, - languages: { - nodes: factory.languages.map((l) => ({ + languages(pageArgs: PageArgs) { + return applyRelayPagination(factory.languages, pageArgs, (l) => ({ name: l, - })), + })); }, - repositoryTopics: { - nodes: factory.repositoryTopics.map((t) => ({ - topic: { name: t }, - })), + repositoryTopics(pageArgs: PageArgs) { + return applyRelayPagination( + factory.repositoryTopics, + pageArgs, + (t) => ({ topic: { name: t } }) + ); }, visibility: factory.visibility, isArchived: factory.isArchived, entityName: factory.entityName, }; - case "GithubOrganization": + case 'GithubOrganization': return { ...toGithubRepositoryOwner(factory), entityName: factory.entityName, @@ -57,7 +59,7 @@ export function toGraphql( })); }, }; - case "GithubAccount": + case 'GithubAccount': return { ...toGithubRepositoryOwner(factory), firstName: factory.firstName, From d1fd00916509cad72260fa09a444370975e3223d Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 09:10:31 -0500 Subject: [PATCH 7/8] bump version of node@18 and npm@latest --- .circleci/config.yml | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f4033656..afb631a9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ jobs: command: mkcert -install && mkcert localhost working_directory: ~/.simulacrum/certs - node/install: - node-version: 18.12.0 + node-version: 18.17.1 - run: npm -v # build root first - node/install-packages diff --git a/package.json b/package.json index 1cd6a5b1..06c59ea4 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,8 @@ "npm": ">=9" }, "volta": { - "node": "18.16.0", - "npm": "9.6.7" + "node": "18.17.1", + "npm": "10.0.0" }, "devDependencies": { "@effection/fetch": "^2.0.1", From fc4441f33c2595469aa73122c3a414f30441c0c5 Mon Sep 17 00:00:00 2001 From: Jacob Bolda Date: Wed, 6 Sep 2023 09:17:44 -0500 Subject: [PATCH 8/8] change file --- .changes/github-api-repositoryOwner-resolver.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changes/github-api-repositoryOwner-resolver.md diff --git a/.changes/github-api-repositoryOwner-resolver.md b/.changes/github-api-repositoryOwner-resolver.md new file mode 100644 index 00000000..654bbfbc --- /dev/null +++ b/.changes/github-api-repositoryOwner-resolver.md @@ -0,0 +1,5 @@ +--- +"@simulacrum/github-api-simulator": minor +--- + +Adds the `repositoryOwner` resolver.