From 76d622ddf0f3496afd1a87468ea7d0c2c3a23e2d Mon Sep 17 00:00:00 2001 From: Ashish Keshan Date: Wed, 13 Nov 2024 11:30:36 -0500 Subject: [PATCH 1/7] `orphaned-files-check.yml` test fix (#53087) --- .github/workflows/orphaned-files-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/orphaned-files-check.yml b/.github/workflows/orphaned-files-check.yml index 0aa347f33ec7..c914a5d39cb0 100644 --- a/.github/workflows/orphaned-files-check.yml +++ b/.github/workflows/orphaned-files-check.yml @@ -56,7 +56,7 @@ jobs: # The `-s` is to make npm run silent and not print verbose # information about the npm script alias. assetFilesToRemove=$(npm run -s find-orphaned-assets) - reusableFilesToRemove=$(npm run -s reusables -- find unused | grep '^data/reusables') + reusableFilesToRemove=$(npm run -s reusables -- find unused | grep '^data/reusables' || true) [ -z "$assetFilesToRemove" ] && [ -z "$reusableFilesToRemove" ] && exit 0 if [ -n "$assetFilesToRemove" ]; then From 1e0a973ef181b5d71b90a243c4b10e44a8cbcb91 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 13 Nov 2024 11:35:03 -0500 Subject: [PATCH 2/7] Update audit log event data (#53088) --- src/audit-logs/lib/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index 3f6272bdc2cf..8a2589c4287d 100644 --- a/src/audit-logs/lib/config.json +++ b/src/audit-logs/lib/config.json @@ -3,5 +3,5 @@ "apiOnlyEvents": "This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", "apiRequestEvent": "This event is only available via audit log streaming." }, - "sha": "799eb5c9bf3a5c8963dd18327718f21e302f1c41" + "sha": "0f178a562a0c8017d95657f31865a541f44c3a03" } \ No newline at end of file From 918a00e5bc30568febfa17044662c52af1fe438e Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 13 Nov 2024 11:36:11 -0500 Subject: [PATCH 3/7] GraphQL schema update (#53089) Co-authored-by: rachmari <9831992+rachmari@users.noreply.github.com> --- ...hql_upcoming_changes.public-enterprise.yml | 18 + .../ghes-3.15/schema.docs-enterprise.graphql | 1516 +++++++++++++---- src/graphql/data/ghes-3.15/schema.json | 1509 +++++++++++++++- .../data/ghes-3.15/upcoming-changes.json | 20 + 4 files changed, 2753 insertions(+), 310 deletions(-) diff --git a/src/graphql/data/ghes-3.15/graphql_upcoming_changes.public-enterprise.yml b/src/graphql/data/ghes-3.15/graphql_upcoming_changes.public-enterprise.yml index 9b77dce856c4..58a7dabb311a 100644 --- a/src/graphql/data/ghes-3.15/graphql_upcoming_changes.public-enterprise.yml +++ b/src/graphql/data/ghes-3.15/graphql_upcoming_changes.public-enterprise.yml @@ -526,3 +526,21 @@ upcoming_changes: date: '2024-07-01T00:00:00+00:00' criticality: breaking owner: deborah-digges + - location: Workflow.hasWorkflowDispatchTrigger + description: + '`hasWorkflowDispatchTrigger` will be removed. Use `has_workflow_dispatch_trigger_for_branch(branch_ref)` + instead.' + reason: + "`has_workflow_dispatch_trigger` is being removed because it can be misleading + and only checks a repository's default branch" + date: '2024-10-01T00:00:00+00:00' + criticality: breaking + owner: stevepopovich + - location: AddMobileDevicePublicKeyPayload.expiresAt + description: + '`expiresAt` will be removed. Do not rely on this field, it is currently + set to a date far in the future if a device key is expirationless' + reason: We are deprecating expirations for mobile device keys used in mobile 2FA + date: '2025-01-01T00:00:00+00:00' + criticality: breaking + owner: chriskirkland diff --git a/src/graphql/data/ghes-3.15/schema.docs-enterprise.graphql b/src/graphql/data/ghes-3.15/schema.docs-enterprise.graphql index 0092e3c5bbd7..d927725b0d0d 100644 --- a/src/graphql/data/ghes-3.15/schema.docs-enterprise.graphql +++ b/src/graphql/data/ghes-3.15/schema.docs-enterprise.graphql @@ -43,7 +43,7 @@ input AbortQueuedMigrationsInput { } """ -Autogenerated return type of AbortQueuedMigrations +Autogenerated return type of AbortQueuedMigrations. """ type AbortQueuedMigrationsPayload { """ @@ -73,7 +73,7 @@ input AbortRepositoryMigrationInput { } """ -Autogenerated return type of AbortRepositoryMigration +Autogenerated return type of AbortRepositoryMigration. """ type AbortRepositoryMigrationPayload { """ @@ -183,7 +183,7 @@ input AddAssigneesToAssignableInput { } """ -Autogenerated return type of AddAssigneesToAssignable +Autogenerated return type of AddAssigneesToAssignable. """ type AddAssigneesToAssignablePayload { """ @@ -218,7 +218,7 @@ input AddCommentInput { } """ -Autogenerated return type of AddComment +Autogenerated return type of AddComment. """ type AddCommentPayload { """ @@ -268,7 +268,7 @@ input AddDiscussionCommentInput { } """ -Autogenerated return type of AddDiscussionComment +Autogenerated return type of AddDiscussionComment. """ type AddDiscussionCommentPayload { """ @@ -298,7 +298,7 @@ input AddDiscussionPollVoteInput { } """ -Autogenerated return type of AddDiscussionPollVote +Autogenerated return type of AddDiscussionPollVote. """ type AddDiscussionPollVotePayload { """ @@ -333,7 +333,7 @@ input AddEnterpriseAdminInput { } """ -Autogenerated return type of AddEnterpriseAdmin +Autogenerated return type of AddEnterpriseAdmin. """ type AddEnterpriseAdminPayload { """ @@ -393,7 +393,7 @@ input AddEnterpriseOrganizationMemberInput { } """ -Autogenerated return type of AddEnterpriseOrganizationMember +Autogenerated return type of AddEnterpriseOrganizationMember. """ type AddEnterpriseOrganizationMemberPayload { """ @@ -428,7 +428,7 @@ input AddLabelsToLabelableInput { } """ -Autogenerated return type of AddLabelsToLabelable +Autogenerated return type of AddLabelsToLabelable. """ type AddLabelsToLabelablePayload { """ @@ -468,7 +468,7 @@ input AddProjectCardInput { } """ -Autogenerated return type of AddProjectCard +Autogenerated return type of AddProjectCard. """ type AddProjectCardPayload { """ @@ -508,7 +508,7 @@ input AddProjectColumnInput { } """ -Autogenerated return type of AddProjectColumn +Autogenerated return type of AddProjectColumn. """ type AddProjectColumnPayload { """ @@ -559,7 +559,7 @@ input AddProjectV2DraftIssueInput { } """ -Autogenerated return type of AddProjectV2DraftIssue +Autogenerated return type of AddProjectV2DraftIssue. """ type AddProjectV2DraftIssuePayload { """ @@ -595,7 +595,7 @@ input AddProjectV2ItemByIdInput { } """ -Autogenerated return type of AddProjectV2ItemById +Autogenerated return type of AddProjectV2ItemById. """ type AddProjectV2ItemByIdPayload { """ @@ -685,7 +685,7 @@ input AddPullRequestReviewCommentInput { } """ -Autogenerated return type of AddPullRequestReviewComment +Autogenerated return type of AddPullRequestReviewComment. """ type AddPullRequestReviewCommentPayload { """ @@ -749,7 +749,7 @@ input AddPullRequestReviewInput { } """ -Autogenerated return type of AddPullRequestReview +Autogenerated return type of AddPullRequestReview. """ type AddPullRequestReviewPayload { """ @@ -825,7 +825,7 @@ input AddPullRequestReviewThreadInput { } """ -Autogenerated return type of AddPullRequestReviewThread +Autogenerated return type of AddPullRequestReviewThread. """ type AddPullRequestReviewThreadPayload { """ @@ -865,7 +865,7 @@ input AddPullRequestReviewThreadReplyInput { } """ -Autogenerated return type of AddPullRequestReviewThreadReply +Autogenerated return type of AddPullRequestReviewThreadReply. """ type AddPullRequestReviewThreadReplyPayload { """ @@ -916,7 +916,7 @@ input AddReactionInput { } """ -Autogenerated return type of AddReaction +Autogenerated return type of AddReaction. """ type AddReactionPayload { """ @@ -956,7 +956,7 @@ input AddStarInput { } """ -Autogenerated return type of AddStar +Autogenerated return type of AddStar. """ type AddStarPayload { """ @@ -986,7 +986,7 @@ input AddUpvoteInput { } """ -Autogenerated return type of AddUpvote +Autogenerated return type of AddUpvote. """ type AddUpvotePayload { """ @@ -1021,7 +1021,7 @@ input AddVerifiableDomainInput { } """ -Autogenerated return type of AddVerifiableDomain +Autogenerated return type of AddVerifiableDomain. """ type AddVerifiableDomainPayload { """ @@ -1139,6 +1139,11 @@ interface AnnouncementBanner { A GitHub App. """ type App implements Node { + """ + The client ID of the app. + """ + clientId: String + """ Identifies the date and time when the object was created. """ @@ -1251,7 +1256,7 @@ input ApproveDeploymentsInput { } """ -Autogenerated return type of ApproveDeployments +Autogenerated return type of ApproveDeployments. """ type ApproveDeploymentsPayload { """ @@ -1281,7 +1286,7 @@ input ApproveVerifiableDomainInput { } """ -Autogenerated return type of ApproveVerifiableDomain +Autogenerated return type of ApproveVerifiableDomain. """ type ApproveVerifiableDomainPayload { """ @@ -1316,7 +1321,7 @@ input ArchiveProjectV2ItemInput { } """ -Autogenerated return type of ArchiveProjectV2Item +Autogenerated return type of ArchiveProjectV2Item. """ type ArchiveProjectV2ItemPayload { """ @@ -1346,7 +1351,7 @@ input ArchiveRepositoryInput { } """ -Autogenerated return type of ArchiveRepository +Autogenerated return type of ArchiveRepository. """ type ArchiveRepositoryPayload { """ @@ -2731,7 +2736,7 @@ input ChangeUserStatusInput { } """ -Autogenerated return type of ChangeUserStatus +Autogenerated return type of ChangeUserStatus. """ type ChangeUserStatusPayload { """ @@ -3781,7 +3786,7 @@ input ClearLabelsFromLabelableInput { } """ -Autogenerated return type of ClearLabelsFromLabelable +Autogenerated return type of ClearLabelsFromLabelable. """ type ClearLabelsFromLabelablePayload { """ @@ -3825,7 +3830,7 @@ input ClearProjectV2ItemFieldValueInput { } """ -Autogenerated return type of ClearProjectV2ItemFieldValue +Autogenerated return type of ClearProjectV2ItemFieldValue. """ type ClearProjectV2ItemFieldValuePayload { """ @@ -3880,7 +3885,7 @@ input CloneProjectInput { } """ -Autogenerated return type of CloneProject +Autogenerated return type of CloneProject. """ type CloneProjectPayload { """ @@ -3941,7 +3946,7 @@ input CloneTemplateRepositoryInput { } """ -Autogenerated return type of CloneTemplateRepository +Autogenerated return type of CloneTemplateRepository. """ type CloneTemplateRepositoryPayload { """ @@ -4001,7 +4006,7 @@ input CloseDiscussionInput { } """ -Autogenerated return type of CloseDiscussion +Autogenerated return type of CloseDiscussion. """ type CloseDiscussionPayload { """ @@ -4036,7 +4041,7 @@ input CloseIssueInput { } """ -Autogenerated return type of CloseIssue +Autogenerated return type of CloseIssue. """ type CloseIssuePayload { """ @@ -4066,7 +4071,7 @@ input ClosePullRequestInput { } """ -Autogenerated return type of ClosePullRequest +Autogenerated return type of ClosePullRequest. """ type ClosePullRequestPayload { """ @@ -4749,12 +4754,14 @@ type Commit implements GitObject & Node & Subscribable & UniformResourceLocatabl path: String """ - Allows specifying a beginning time or date for fetching commits. + Allows specifying a beginning time or date for fetching commits. Unexpected + results may be returned for dates not between 1970-01-01 and 2099-12-13 (inclusive). """ since: GitTimestamp """ - Allows specifying an ending time or date for fetching commits. + Allows specifying an ending time or date for fetching commits. Unexpected + results may be returned for dates not between 1970-01-01 and 2099-12-13 (inclusive). """ until: GitTimestamp ): CommitHistoryConnection! @@ -6394,7 +6401,7 @@ input ConvertProjectCardNoteToIssueInput { } """ -Autogenerated return type of ConvertProjectCardNoteToIssue +Autogenerated return type of ConvertProjectCardNoteToIssue. """ type ConvertProjectCardNoteToIssuePayload { """ @@ -6408,6 +6415,41 @@ type ConvertProjectCardNoteToIssuePayload { projectCard: ProjectCard } +""" +Autogenerated input type of ConvertProjectV2DraftIssueItemToIssue +""" +input ConvertProjectV2DraftIssueItemToIssueInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the draft issue ProjectV2Item to convert. + """ + itemId: ID! @possibleTypes(concreteTypes: ["ProjectV2Item"]) + + """ + The ID of the repository to create the issue in. + """ + repositoryId: ID! @possibleTypes(concreteTypes: ["Repository"]) +} + +""" +Autogenerated return type of ConvertProjectV2DraftIssueItemToIssue. +""" +type ConvertProjectV2DraftIssueItemToIssuePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The updated project item. + """ + item: ProjectV2Item +} + """ Autogenerated input type of ConvertPullRequestToDraft """ @@ -6424,7 +6466,7 @@ input ConvertPullRequestToDraftInput { } """ -Autogenerated return type of ConvertPullRequestToDraft +Autogenerated return type of ConvertPullRequestToDraft. """ type ConvertPullRequestToDraftPayload { """ @@ -6580,7 +6622,7 @@ input CopyProjectV2Input { """ The owner ID of the new project. """ - ownerId: ID! @possibleTypes(concreteTypes: ["Organization", "User"], abstractType: "OrganizationOrUser") + ownerId: ID! @possibleTypes(concreteTypes: ["Organization", "User"]) """ The ID of the source Project to copy. @@ -6594,7 +6636,7 @@ input CopyProjectV2Input { } """ -Autogenerated return type of CopyProjectV2 +Autogenerated return type of CopyProjectV2. """ type CopyProjectV2Payload { """ @@ -6637,7 +6679,7 @@ input CreateAttributionInvitationInput { } """ -Autogenerated return type of CreateAttributionInvitation +Autogenerated return type of CreateAttributionInvitation. """ type CreateAttributionInvitationPayload { """ @@ -6813,7 +6855,7 @@ input CreateBranchProtectionRuleInput { } """ -Autogenerated return type of CreateBranchProtectionRule +Autogenerated return type of CreateBranchProtectionRule. """ type CreateBranchProtectionRulePayload { """ @@ -6893,7 +6935,7 @@ input CreateCheckRunInput { } """ -Autogenerated return type of CreateCheckRun +Autogenerated return type of CreateCheckRun. """ type CreateCheckRunPayload { """ @@ -6928,7 +6970,7 @@ input CreateCheckSuiteInput { } """ -Autogenerated return type of CreateCheckSuite +Autogenerated return type of CreateCheckSuite. """ type CreateCheckSuitePayload { """ @@ -6973,7 +7015,7 @@ input CreateCommitOnBranchInput { } """ -Autogenerated return type of CreateCommitOnBranch +Autogenerated return type of CreateCommitOnBranch. """ type CreateCommitOnBranchPayload { """ @@ -7044,7 +7086,7 @@ input CreateDeploymentInput { } """ -Autogenerated return type of CreateDeployment +Autogenerated return type of CreateDeployment. """ type CreateDeploymentPayload { """ @@ -7113,7 +7155,7 @@ input CreateDeploymentStatusInput { } """ -Autogenerated return type of CreateDeploymentStatus +Autogenerated return type of CreateDeploymentStatus. """ type CreateDeploymentStatusPayload { """ @@ -7158,7 +7200,7 @@ input CreateDiscussionInput { } """ -Autogenerated return type of CreateDiscussion +Autogenerated return type of CreateDiscussion. """ type CreateDiscussionPayload { """ @@ -7208,7 +7250,7 @@ input CreateEnterpriseOrganizationInput { } """ -Autogenerated return type of CreateEnterpriseOrganization +Autogenerated return type of CreateEnterpriseOrganization. """ type CreateEnterpriseOrganizationPayload { """ @@ -7248,7 +7290,7 @@ input CreateEnvironmentInput { } """ -Autogenerated return type of CreateEnvironment +Autogenerated return type of CreateEnvironment. """ type CreateEnvironmentPayload { """ @@ -7293,7 +7335,7 @@ input CreateIpAllowListEntryInput { } """ -Autogenerated return type of CreateIpAllowListEntry +Autogenerated return type of CreateIpAllowListEntry. """ type CreateIpAllowListEntryPayload { """ @@ -7358,7 +7400,7 @@ input CreateIssueInput { } """ -Autogenerated return type of CreateIssue +Autogenerated return type of CreateIssue. """ type CreateIssuePayload { """ @@ -7403,7 +7445,7 @@ input CreateLabelInput { } """ -Autogenerated return type of CreateLabel +Autogenerated return type of CreateLabel. """ type CreateLabelPayload { """ @@ -7448,7 +7490,7 @@ input CreateLinkedBranchInput { } """ -Autogenerated return type of CreateLinkedBranch +Autogenerated return type of CreateLinkedBranch. """ type CreateLinkedBranchPayload { """ @@ -7508,7 +7550,7 @@ input CreateMigrationSourceInput { } """ -Autogenerated return type of CreateMigrationSource +Autogenerated return type of CreateMigrationSource. """ type CreateMigrationSourcePayload { """ @@ -7558,7 +7600,7 @@ input CreateProjectInput { } """ -Autogenerated return type of CreateProject +Autogenerated return type of CreateProject. """ type CreateProjectPayload { """ @@ -7603,7 +7645,7 @@ input CreateProjectV2FieldInput { } """ -Autogenerated return type of CreateProjectV2Field +Autogenerated return type of CreateProjectV2Field. """ type CreateProjectV2FieldPayload { """ @@ -7629,7 +7671,7 @@ input CreateProjectV2Input { """ The owner ID to create the project under. """ - ownerId: ID! @possibleTypes(concreteTypes: ["Organization", "User"], abstractType: "OrganizationOrUser") + ownerId: ID! @possibleTypes(concreteTypes: ["Organization", "User"]) """ The repository to link the project to. @@ -7648,7 +7690,7 @@ input CreateProjectV2Input { } """ -Autogenerated return type of CreateProjectV2 +Autogenerated return type of CreateProjectV2. """ type CreateProjectV2Payload { """ @@ -7662,6 +7704,56 @@ type CreateProjectV2Payload { projectV2: ProjectV2 } +""" +Autogenerated input type of CreateProjectV2StatusUpdate +""" +input CreateProjectV2StatusUpdateInput { + """ + The body of the status update. + """ + body: String + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the Project to create the status update in. + """ + projectId: ID! @possibleTypes(concreteTypes: ["ProjectV2"]) + + """ + The start date of the status update. + """ + startDate: Date + + """ + The status of the status update. + """ + status: ProjectV2StatusUpdateStatus + + """ + The target date of the status update. + """ + targetDate: Date +} + +""" +Autogenerated return type of CreateProjectV2StatusUpdate. +""" +type CreateProjectV2StatusUpdatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The status update updated in the project. + """ + statusUpdate: ProjectV2StatusUpdate +} + """ Autogenerated input type of CreatePullRequest """ @@ -7716,7 +7808,7 @@ input CreatePullRequestInput { } """ -Autogenerated return type of CreatePullRequest +Autogenerated return type of CreatePullRequest. """ type CreatePullRequestPayload { """ @@ -7756,7 +7848,7 @@ input CreateRefInput { } """ -Autogenerated return type of CreateRef +Autogenerated return type of CreateRef. """ type CreateRefPayload { """ @@ -7828,7 +7920,7 @@ input CreateRepositoryInput { } """ -Autogenerated return type of CreateRepository +Autogenerated return type of CreateRepository. """ type CreateRepositoryPayload { """ @@ -7888,7 +7980,7 @@ input CreateRepositoryRulesetInput { } """ -Autogenerated return type of CreateRepositoryRuleset +Autogenerated return type of CreateRepositoryRuleset. """ type CreateRepositoryRulesetPayload { """ @@ -7935,7 +8027,7 @@ input CreateTeamDiscussionCommentInput { } """ -Autogenerated return type of CreateTeamDiscussionComment +Autogenerated return type of CreateTeamDiscussionComment. """ type CreateTeamDiscussionCommentPayload { """ @@ -8009,7 +8101,7 @@ input CreateTeamDiscussionInput { } """ -Autogenerated return type of CreateTeamDiscussion +Autogenerated return type of CreateTeamDiscussion. """ type CreateTeamDiscussionPayload { """ @@ -8052,7 +8144,7 @@ input CreateUserListInput { } """ -Autogenerated return type of CreateUserList +Autogenerated return type of CreateUserList. """ type CreateUserListPayload { """ @@ -8602,7 +8694,7 @@ input DeleteBranchProtectionRuleInput { } """ -Autogenerated return type of DeleteBranchProtectionRule +Autogenerated return type of DeleteBranchProtectionRule. """ type DeleteBranchProtectionRulePayload { """ @@ -8627,7 +8719,7 @@ input DeleteDeploymentInput { } """ -Autogenerated return type of DeleteDeployment +Autogenerated return type of DeleteDeployment. """ type DeleteDeploymentPayload { """ @@ -8652,7 +8744,7 @@ input DeleteDiscussionCommentInput { } """ -Autogenerated return type of DeleteDiscussionComment +Autogenerated return type of DeleteDiscussionComment. """ type DeleteDiscussionCommentPayload { """ @@ -8682,7 +8774,7 @@ input DeleteDiscussionInput { } """ -Autogenerated return type of DeleteDiscussion +Autogenerated return type of DeleteDiscussion. """ type DeleteDiscussionPayload { """ @@ -8712,7 +8804,7 @@ input DeleteEnvironmentInput { } """ -Autogenerated return type of DeleteEnvironment +Autogenerated return type of DeleteEnvironment. """ type DeleteEnvironmentPayload { """ @@ -8737,7 +8829,7 @@ input DeleteIpAllowListEntryInput { } """ -Autogenerated return type of DeleteIpAllowListEntry +Autogenerated return type of DeleteIpAllowListEntry. """ type DeleteIpAllowListEntryPayload { """ @@ -8767,7 +8859,7 @@ input DeleteIssueCommentInput { } """ -Autogenerated return type of DeleteIssueComment +Autogenerated return type of DeleteIssueComment. """ type DeleteIssueCommentPayload { """ @@ -8792,7 +8884,7 @@ input DeleteIssueInput { } """ -Autogenerated return type of DeleteIssue +Autogenerated return type of DeleteIssue. """ type DeleteIssuePayload { """ @@ -8822,7 +8914,7 @@ input DeleteLabelInput { } """ -Autogenerated return type of DeleteLabel +Autogenerated return type of DeleteLabel. """ type DeleteLabelPayload { """ @@ -8847,7 +8939,7 @@ input DeleteLinkedBranchInput { } """ -Autogenerated return type of DeleteLinkedBranch +Autogenerated return type of DeleteLinkedBranch. """ type DeleteLinkedBranchPayload { """ @@ -8877,7 +8969,7 @@ input DeletePackageVersionInput { } """ -Autogenerated return type of DeletePackageVersion +Autogenerated return type of DeletePackageVersion. """ type DeletePackageVersionPayload { """ @@ -8907,7 +8999,7 @@ input DeleteProjectCardInput { } """ -Autogenerated return type of DeleteProjectCard +Autogenerated return type of DeleteProjectCard. """ type DeleteProjectCardPayload { """ @@ -8942,7 +9034,7 @@ input DeleteProjectColumnInput { } """ -Autogenerated return type of DeleteProjectColumn +Autogenerated return type of DeleteProjectColumn. """ type DeleteProjectColumnPayload { """ @@ -8977,7 +9069,7 @@ input DeleteProjectInput { } """ -Autogenerated return type of DeleteProject +Autogenerated return type of DeleteProject. """ type DeleteProjectPayload { """ @@ -9011,7 +9103,7 @@ input DeleteProjectV2FieldInput { } """ -Autogenerated return type of DeleteProjectV2Field +Autogenerated return type of DeleteProjectV2Field. """ type DeleteProjectV2FieldPayload { """ @@ -9061,7 +9153,7 @@ input DeleteProjectV2ItemInput { } """ -Autogenerated return type of DeleteProjectV2Item +Autogenerated return type of DeleteProjectV2Item. """ type DeleteProjectV2ItemPayload { """ @@ -9076,7 +9168,7 @@ type DeleteProjectV2ItemPayload { } """ -Autogenerated return type of DeleteProjectV2 +Autogenerated return type of DeleteProjectV2. """ type DeleteProjectV2Payload { """ @@ -9090,6 +9182,41 @@ type DeleteProjectV2Payload { projectV2: ProjectV2 } +""" +Autogenerated input type of DeleteProjectV2StatusUpdate +""" +input DeleteProjectV2StatusUpdateInput { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the status update to be removed. + """ + statusUpdateId: ID! @possibleTypes(concreteTypes: ["ProjectV2StatusUpdate"]) +} + +""" +Autogenerated return type of DeleteProjectV2StatusUpdate. +""" +type DeleteProjectV2StatusUpdatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The ID of the deleted status update. + """ + deletedStatusUpdateId: ID + + """ + The project the deleted status update was in. + """ + projectV2: ProjectV2 +} + """ Autogenerated input type of DeleteProjectV2Workflow """ @@ -9106,7 +9233,7 @@ input DeleteProjectV2WorkflowInput { } """ -Autogenerated return type of DeleteProjectV2Workflow +Autogenerated return type of DeleteProjectV2Workflow. """ type DeleteProjectV2WorkflowPayload { """ @@ -9141,7 +9268,7 @@ input DeletePullRequestReviewCommentInput { } """ -Autogenerated return type of DeletePullRequestReviewComment +Autogenerated return type of DeletePullRequestReviewComment. """ type DeletePullRequestReviewCommentPayload { """ @@ -9176,7 +9303,7 @@ input DeletePullRequestReviewInput { } """ -Autogenerated return type of DeletePullRequestReview +Autogenerated return type of DeletePullRequestReview. """ type DeletePullRequestReviewPayload { """ @@ -9206,7 +9333,7 @@ input DeleteRefInput { } """ -Autogenerated return type of DeleteRef +Autogenerated return type of DeleteRef. """ type DeleteRefPayload { """ @@ -9231,7 +9358,7 @@ input DeleteRepositoryRulesetInput { } """ -Autogenerated return type of DeleteRepositoryRuleset +Autogenerated return type of DeleteRepositoryRuleset. """ type DeleteRepositoryRulesetPayload { """ @@ -9256,7 +9383,7 @@ input DeleteTeamDiscussionCommentInput { } """ -Autogenerated return type of DeleteTeamDiscussionComment +Autogenerated return type of DeleteTeamDiscussionComment. """ type DeleteTeamDiscussionCommentPayload { """ @@ -9281,7 +9408,7 @@ input DeleteTeamDiscussionInput { } """ -Autogenerated return type of DeleteTeamDiscussion +Autogenerated return type of DeleteTeamDiscussion. """ type DeleteTeamDiscussionPayload { """ @@ -9306,7 +9433,7 @@ input DeleteUserListInput { } """ -Autogenerated return type of DeleteUserList +Autogenerated return type of DeleteUserList. """ type DeleteUserListPayload { """ @@ -9336,7 +9463,7 @@ input DeleteVerifiableDomainInput { } """ -Autogenerated return type of DeleteVerifiableDomain +Autogenerated return type of DeleteVerifiableDomain. """ type DeleteVerifiableDomainPayload { """ @@ -10499,7 +10626,7 @@ input DequeuePullRequestInput { } """ -Autogenerated return type of DequeuePullRequest +Autogenerated return type of DequeuePullRequest. """ type DequeuePullRequestPayload { """ @@ -10544,7 +10671,7 @@ input DisablePullRequestAutoMergeInput { } """ -Autogenerated return type of DisablePullRequestAutoMerge +Autogenerated return type of DisablePullRequestAutoMerge. """ type DisablePullRequestAutoMergePayload { """ @@ -10887,6 +11014,11 @@ type Discussion implements Closable & Comment & Deletable & Labelable & Lockable """ viewerCanDelete: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Can user react to this subject """ @@ -11641,7 +11773,7 @@ input DismissPullRequestReviewInput { } """ -Autogenerated return type of DismissPullRequestReview +Autogenerated return type of DismissPullRequestReview. """ type DismissPullRequestReviewPayload { """ @@ -11706,7 +11838,7 @@ input DismissRepositoryVulnerabilityAlertInput { } """ -Autogenerated return type of DismissRepositoryVulnerabilityAlert +Autogenerated return type of DismissRepositoryVulnerabilityAlert. """ type DismissRepositoryVulnerabilityAlertPayload { """ @@ -11941,7 +12073,7 @@ input EnablePullRequestAutoMergeInput { } """ -Autogenerated return type of EnablePullRequestAutoMerge +Autogenerated return type of EnablePullRequestAutoMerge. """ type EnablePullRequestAutoMergePayload { """ @@ -11986,7 +12118,7 @@ input EnqueuePullRequestInput { } """ -Autogenerated return type of EnqueuePullRequest +Autogenerated return type of EnqueuePullRequest. """ type EnqueuePullRequestPayload { """ @@ -12181,6 +12313,16 @@ type Enterprise implements AnnouncementBanner & Node { """ ownerInfo: EnterpriseOwnerInfo + """ + The raw content of the enterprise README. + """ + readme: String + + """ + The content of the enterprise README as HTML. + """ + readmeHTML: HTML! + """ The HTTP path for this enterprise. """ @@ -12764,6 +12906,41 @@ type EnterpriseMemberEdge { node: EnterpriseMember } +""" +An invitation for a user to become an unaffiliated member of an enterprise. +""" +type EnterpriseMemberInvitation implements Node { + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The email of the person who was invited to the enterprise. + """ + email: String + + """ + The enterprise the invitation is for. + """ + enterprise: Enterprise! + + """ + The Node ID of the EnterpriseMemberInvitation object + """ + id: ID! + + """ + The user who was invited to the enterprise. + """ + invitee: User + + """ + The user who created the invitation. + """ + inviter: User +} + """ Ordering options for enterprise member connections. """ @@ -15353,7 +15530,7 @@ input FollowOrganizationInput { } """ -Autogenerated return type of FollowOrganization +Autogenerated return type of FollowOrganization. """ type FollowOrganizationPayload { """ @@ -15383,7 +15560,7 @@ input FollowUserInput { } """ -Autogenerated return type of FollowUser +Autogenerated return type of FollowUser. """ type FollowUserPayload { """ @@ -16307,7 +16484,7 @@ input GrantEnterpriseOrganizationsMigratorRoleInput { } """ -Autogenerated return type of GrantEnterpriseOrganizationsMigratorRole +Autogenerated return type of GrantEnterpriseOrganizationsMigratorRole. """ type GrantEnterpriseOrganizationsMigratorRolePayload { """ @@ -16367,7 +16544,7 @@ input GrantMigratorRoleInput { } """ -Autogenerated return type of GrantMigratorRole +Autogenerated return type of GrantMigratorRole. """ type GrantMigratorRolePayload { """ @@ -16567,7 +16744,7 @@ input ImportProjectInput { } """ -Autogenerated return type of ImportProject +Autogenerated return type of ImportProject. """ type ImportProjectPayload { """ @@ -16805,6 +16982,46 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ closedAt: DateTime + """ + List of open pull requests referenced from this issue + """ + closedByPullRequestsReferences( + """ + 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 closed PRs in results + """ + includeClosedPrs: Boolean = false + + """ + Returns the last _n_ elements from the list. + """ + last: Int + + """ + Return results ordered by state + """ + orderByState: Boolean = false + + """ + Return only manually linked PRs + """ + userLinkedOnly: Boolean = false + ): PullRequestConnection + """ A list of comments associated with the Issue. """ @@ -17021,19 +17238,9 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & ): ProjectCardConnection! """ - Find a project by number. + List of project items associated with this issue. """ - projectV2( - """ - The project number. - """ - number: Int! - ): ProjectV2 - - """ - A list of projects under the owner. - """ - projectsV2( + projectItems( """ Returns the elements in the list that come after the specified cursor. """ @@ -17050,90 +17257,135 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & first: Int """ - Returns the last _n_ elements from the list. + Include archived items. """ - 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. - """ - 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 + includeArchived: Boolean = true """ Returns the last _n_ elements from the list. """ last: Int - - """ - Allows specifying the order in which reactions are returned. - """ - orderBy: ReactionOrder - ): ReactionConnection! - - """ - The repository associated with this node. - """ - repository: Repository! - - """ - The HTTP path for this issue - """ - resourcePath: URI! - - """ - Identifies the state of the issue. - """ - state: IssueState! + ): ProjectV2ItemConnection! """ - Identifies the reason for the issue state. + Find a project by number. """ - stateReason: IssueStateReason + projectV2( + """ + The project number. + """ + number: Int! + ): ProjectV2 """ - A list of events, comments, commits, etc. associated with the issue. + A list of projects under the owner. """ - timeline( + 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 + + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + + """ + 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. + """ + 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! + + """ + The repository associated with this node. + """ + repository: Repository! + + """ + The HTTP path for this issue + """ + resourcePath: URI! + + """ + Identifies the state of the issue. + """ + state: IssueState! + + """ + Identifies the reason for the issue state. + """ + stateReason: IssueStateReason + + """ + A list of events, comments, commits, etc. associated with the issue. + """ + timeline( """ Returns the elements in the list that come after the specified cursor. """ @@ -17256,6 +17508,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ viewerCanDelete: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Can user react to this subject """ @@ -18490,6 +18747,11 @@ interface Labelable { """ orderBy: LabelOrder = {field: CREATED_AT, direction: ASC} ): LabelConnection + + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! } """ @@ -18731,7 +18993,7 @@ input LinkProjectV2ToRepositoryInput { } """ -Autogenerated return type of LinkProjectV2ToRepository +Autogenerated return type of LinkProjectV2ToRepository. """ type LinkProjectV2ToRepositoryPayload { """ @@ -18766,7 +19028,7 @@ input LinkProjectV2ToTeamInput { } """ -Autogenerated return type of LinkProjectV2ToTeam +Autogenerated return type of LinkProjectV2ToTeam. """ type LinkProjectV2ToTeamPayload { """ @@ -18801,7 +19063,7 @@ input LinkRepositoryToProjectInput { } """ -Autogenerated return type of LinkRepositoryToProject +Autogenerated return type of LinkRepositoryToProject. """ type LinkRepositoryToProjectPayload { """ @@ -18896,7 +19158,7 @@ input LockLockableInput { } """ -Autogenerated return type of LockLockable +Autogenerated return type of LockLockable. """ type LockLockablePayload { """ @@ -19131,7 +19393,7 @@ input MarkDiscussionCommentAsAnswerInput { } """ -Autogenerated return type of MarkDiscussionCommentAsAnswer +Autogenerated return type of MarkDiscussionCommentAsAnswer. """ type MarkDiscussionCommentAsAnswerPayload { """ @@ -19166,7 +19428,7 @@ input MarkFileAsViewedInput { } """ -Autogenerated return type of MarkFileAsViewed +Autogenerated return type of MarkFileAsViewed. """ type MarkFileAsViewedPayload { """ @@ -19197,7 +19459,7 @@ input MarkNotificationAsDoneInput } """ -Autogenerated return type of MarkNotificationAsDone +Autogenerated return type of MarkNotificationAsDone. """ type MarkNotificationAsDonePayload @requiredCapabilities(requiredCapabilities: ["access_internal_graphql_notifications"]) { @@ -19233,7 +19495,7 @@ input MarkProjectV2AsTemplateInput { } """ -Autogenerated return type of MarkProjectV2AsTemplate +Autogenerated return type of MarkProjectV2AsTemplate. """ type MarkProjectV2AsTemplatePayload { """ @@ -19263,7 +19525,7 @@ input MarkPullRequestReadyForReviewInput { } """ -Autogenerated return type of MarkPullRequestReadyForReview +Autogenerated return type of MarkPullRequestReadyForReview. """ type MarkPullRequestReadyForReviewPayload { """ @@ -19802,7 +20064,7 @@ input MergeBranchInput { } """ -Autogenerated return type of MergeBranch +Autogenerated return type of MergeBranch. """ type MergeBranchPayload { """ @@ -19892,7 +20154,7 @@ input MergePullRequestInput { } """ -Autogenerated return type of MergePullRequest +Autogenerated return type of MergePullRequest. """ type MergePullRequestPayload { """ @@ -20147,6 +20409,44 @@ enum MergeQueueEntryState { UNMERGEABLE } +""" +When set to ALLGREEN, the merge commit created by merge queue for each PR in the +group must pass all required checks to merge. When set to HEADGREEN, only the +commit at the head of the merge group, i.e. the commit containing changes from +all of the PRs in the group, must pass its required checks to merge. +""" +enum MergeQueueGroupingStrategy { + """ + The merge commit created by merge queue for each PR in the group must pass all required checks to merge + """ + ALLGREEN + + """ + Only the commit at the head of the merge group must pass its required checks to merge. + """ + HEADGREEN +} + +""" +Method to use when merging changes from queued pull requests. +""" +enum MergeQueueMergeMethod { + """ + Merge commit + """ + MERGE + + """ + Rebase and merge + """ + REBASE + + """ + Squash and merge + """ + SQUASH +} + """ The possible merging strategies for a merge queue. """ @@ -20162,6 +20462,100 @@ enum MergeQueueMergingStrategy { HEADGREEN } +""" +Merges must be performed via a merge queue. +""" +type MergeQueueParameters { + """ + Maximum time for a required status check to report a conclusion. After this + much time has elapsed, checks that have not reported a conclusion will be + assumed to have failed + """ + checkResponseTimeoutMinutes: Int! + + """ + When set to ALLGREEN, the merge commit created by merge queue for each PR in + the group must pass all required checks to merge. When set to HEADGREEN, only + the commit at the head of the merge group, i.e. the commit containing changes + from all of the PRs in the group, must pass its required checks to merge. + """ + groupingStrategy: MergeQueueGroupingStrategy! + + """ + Limit the number of queued pull requests requesting checks and workflow runs at the same time. + """ + maxEntriesToBuild: Int! + + """ + The maximum number of PRs that will be merged together in a group. + """ + maxEntriesToMerge: Int! + + """ + Method to use when merging changes from queued pull requests. + """ + mergeMethod: MergeQueueMergeMethod! + + """ + The minimum number of PRs that will be merged together in a group. + """ + minEntriesToMerge: Int! + + """ + The time merge queue should wait after the first PR is added to the queue for + the minimum group size to be met. After this time has elapsed, the minimum + group size will be ignored and a smaller group will be merged. + """ + minEntriesToMergeWaitMinutes: Int! +} + +""" +Merges must be performed via a merge queue. +""" +input MergeQueueParametersInput { + """ + Maximum time for a required status check to report a conclusion. After this + much time has elapsed, checks that have not reported a conclusion will be + assumed to have failed + """ + checkResponseTimeoutMinutes: Int! + + """ + When set to ALLGREEN, the merge commit created by merge queue for each PR in + the group must pass all required checks to merge. When set to HEADGREEN, only + the commit at the head of the merge group, i.e. the commit containing changes + from all of the PRs in the group, must pass its required checks to merge. + """ + groupingStrategy: MergeQueueGroupingStrategy! + + """ + Limit the number of queued pull requests requesting checks and workflow runs at the same time. + """ + maxEntriesToBuild: Int! + + """ + The maximum number of PRs that will be merged together in a group. + """ + maxEntriesToMerge: Int! + + """ + Method to use when merging changes from queued pull requests. + """ + mergeMethod: MergeQueueMergeMethod! + + """ + The minimum number of PRs that will be merged together in a group. + """ + minEntriesToMerge: Int! + + """ + The time merge queue should wait after the first PR is added to the queue for + the minimum group size to be met. After this time has elapsed, the minimum + group size will be ignored and a smaller group will be merged. + """ + minEntriesToMergeWaitMinutes: Int! +} + """ Detailed status information about a pull request merge. """ @@ -20795,7 +21189,7 @@ input MinimizeCommentInput { } """ -Autogenerated return type of MinimizeComment +Autogenerated return type of MinimizeComment. """ type MinimizeCommentPayload { """ @@ -20835,7 +21229,7 @@ input MoveProjectCardInput { } """ -Autogenerated return type of MoveProjectCard +Autogenerated return type of MoveProjectCard. """ type MoveProjectCardPayload { """ @@ -20870,7 +21264,7 @@ input MoveProjectColumnInput { } """ -Autogenerated return type of MoveProjectColumn +Autogenerated return type of MoveProjectColumn. """ type MoveProjectColumnPayload { """ @@ -21275,6 +21669,16 @@ type Mutation { input: ConvertProjectCardNoteToIssueInput! ): ConvertProjectCardNoteToIssuePayload + """ + Converts a projectV2 draft issue item to an issue. + """ + convertProjectV2DraftIssueItemToIssue( + """ + Parameters for ConvertProjectV2DraftIssueItemToIssue + """ + input: ConvertProjectV2DraftIssueItemToIssueInput! + ): ConvertProjectV2DraftIssueItemToIssuePayload + """ Converts a pull request to draft """ @@ -21521,6 +21925,16 @@ type Mutation { input: CreateProjectV2FieldInput! ): CreateProjectV2FieldPayload + """ + Creates a status update within a Project. + """ + createProjectV2StatusUpdate( + """ + Parameters for CreateProjectV2StatusUpdate + """ + input: CreateProjectV2StatusUpdateInput! + ): CreateProjectV2StatusUpdatePayload + """ Create a new pull request """ @@ -21761,6 +22175,16 @@ type Mutation { input: DeleteProjectV2ItemInput! ): DeleteProjectV2ItemPayload + """ + Deletes a project status update. + """ + deleteProjectV2StatusUpdate( + """ + Parameters for DeleteProjectV2StatusUpdate + """ + input: DeleteProjectV2StatusUpdateInput! + ): DeleteProjectV2StatusUpdatePayload + """ Deletes a project workflow. """ @@ -22902,6 +23326,16 @@ type Mutation { input: UpdateProjectV2ItemPositionInput! ): UpdateProjectV2ItemPositionPayload + """ + Updates a status update within a Project. + """ + updateProjectV2StatusUpdate( + """ + Parameters for UpdateProjectV2StatusUpdate + """ + input: UpdateProjectV2StatusUpdateInput! + ): UpdateProjectV2StatusUpdatePayload + """ Update a pull request """ @@ -27271,6 +27705,11 @@ type Organization implements Actor & AnnouncementBanner & MemberStatusable & Nod """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -29182,7 +29621,7 @@ input PinEnvironmentInput { } """ -Autogenerated return type of PinEnvironment +Autogenerated return type of PinEnvironment. """ type PinEnvironmentPayload { """ @@ -29217,7 +29656,7 @@ input PinIssueInput { } """ -Autogenerated return type of PinIssue +Autogenerated return type of PinIssue. """ type PinIssuePayload { """ @@ -30982,6 +31421,36 @@ type ProjectV2 implements Closable & Node & Updatable { """ shortDescription: String + """ + List of the status updates in the project. + """ + statusUpdates( + """ + 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: ProjectV2StatusOrder = {field: CREATED_AT, direction: DESC} + ): ProjectV2StatusUpdateConnection! + """ The teams the project is linked to. """ @@ -31563,6 +32032,16 @@ input ProjectV2FieldValue { text: String } +""" +Ways in which to filter lists of projects. +""" +input ProjectV2Filters { + """ + List project v2 filtered by the state given. + """ + state: ProjectV2State +} + """ An item within a Project. """ @@ -32502,6 +32981,11 @@ interface ProjectV2Owner { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -32514,6 +32998,26 @@ interface ProjectV2Owner { ): ProjectV2Connection! } +""" +The possible roles of a collaborator on a project. +""" +enum ProjectV2PermissionLevel { + """ + The collaborator can view, edit, and maange the settings of the project + """ + ADMIN + + """ + The collaborator can view the project + """ + READ + + """ + The collaborator can view and edit the project + """ + WRITE +} + """ Recent projects for the owner. """ @@ -32829,6 +33333,176 @@ type ProjectV2SortByFieldEdge { node: ProjectV2SortByField } +""" +The possible states of a project v2. +""" +enum ProjectV2State { + """ + A project v2 that has been closed + """ + CLOSED + + """ + A project v2 that is still open + """ + OPEN +} + +""" +Ways in which project v2 status updates can be ordered. +""" +input ProjectV2StatusOrder { + """ + The direction in which to order nodes. + """ + direction: OrderDirection! + + """ + The field by which to order nodes. + """ + field: ProjectV2StatusUpdateOrderField! +} + +""" +A status update within a project. +""" +type ProjectV2StatusUpdate implements Node { + """ + The body of the status update. + """ + body: String + + """ + The body of the status update rendered to HTML. + """ + bodyHTML: HTML + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The actor who created the status update. + """ + creator: Actor + + """ + Identifies the primary key from the database. + """ + databaseId: Int + + """ + The Node ID of the ProjectV2StatusUpdate object + """ + id: ID! + + """ + The project that contains this status update. + """ + project: ProjectV2! + + """ + The start date of the status update. + """ + startDate: Date + + """ + The status of the status update. + """ + status: ProjectV2StatusUpdateStatus + + """ + The target date of the status update. + """ + targetDate: Date + + """ + Identifies the date and time when the object was last updated. + """ + updatedAt: DateTime! +} + +""" +The connection type for ProjectV2StatusUpdate. +""" +type ProjectV2StatusUpdateConnection { + """ + A list of edges. + """ + edges: [ProjectV2StatusUpdateEdge] + + """ + A list of nodes. + """ + nodes: [ProjectV2StatusUpdate] + + """ + Information to aid in pagination. + """ + pageInfo: PageInfo! + + """ + Identifies the total count of items in the connection. + """ + totalCount: Int! +} + +""" +An edge in a connection. +""" +type ProjectV2StatusUpdateEdge { + """ + A cursor for use in pagination. + """ + cursor: String! + + """ + The item at the end of the edge. + """ + node: ProjectV2StatusUpdate +} + +""" +Properties by which project v2 status updates can be ordered. +""" +enum ProjectV2StatusUpdateOrderField { + """ + Allows chronological ordering of project v2 status updates. + """ + CREATED_AT +} + +""" +The possible statuses of a project v2. +""" +enum ProjectV2StatusUpdateStatus { + """ + A project v2 that is at risk and encountering some challenges. + """ + AT_RISK + + """ + A project v2 that is complete. + """ + COMPLETE + + """ + A project v2 that is inactive. + """ + INACTIVE + + """ + A project v2 that is off track and needs attention. + """ + OFF_TRACK + + """ + A project v2 that is on track with no risks. + """ + ON_TRACK +} + """ A view within a ProjectV2. """ @@ -33354,6 +34028,11 @@ type PropertyTargetDefinition { The values to match for """ propertyValues: [String!]! + + """ + The source of the property. Choose 'custom' or 'system'. Defaults to 'custom' if not specified + """ + source: String } """ @@ -33369,6 +34048,11 @@ input PropertyTargetDefinitionInput { The values to match for """ propertyValues: [String!]! + + """ + The source of the property. Choose 'custom' or 'system'. Defaults to 'custom' if not specified + """ + source: String } """ @@ -33574,7 +34258,7 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab closedAt: DateTime """ - List of issues that were may be closed by this pull request + List of issues that may be closed by this pull request """ closingIssuesReferences( """ @@ -34009,6 +34693,36 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab last: Int ): ProjectCardConnection! + """ + List of project items associated with this pull request. + """ + 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. """ @@ -34043,6 +34757,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -34375,6 +35094,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ viewerCanEnableAutoMerge: Boolean! + """ + Indicates if the viewer can edit labels for this object. + """ + viewerCanLabel: Boolean! + """ Indicates whether the viewer can bypass branch protections and merge the pull request immediately """ @@ -37796,7 +38520,7 @@ input RegenerateVerifiableDomainTokenInput { } """ -Autogenerated return type of RegenerateVerifiableDomainToken +Autogenerated return type of RegenerateVerifiableDomainToken. """ type RegenerateVerifiableDomainTokenPayload { """ @@ -37836,7 +38560,7 @@ input RejectDeploymentsInput { } """ -Autogenerated return type of RejectDeployments +Autogenerated return type of RejectDeployments. """ type RejectDeploymentsPayload { """ @@ -38246,7 +38970,7 @@ input RemoveAssigneesFromAssignableInput { } """ -Autogenerated return type of RemoveAssigneesFromAssignable +Autogenerated return type of RemoveAssigneesFromAssignable. """ type RemoveAssigneesFromAssignablePayload { """ @@ -38281,7 +39005,7 @@ input RemoveEnterpriseAdminInput { } """ -Autogenerated return type of RemoveEnterpriseAdmin +Autogenerated return type of RemoveEnterpriseAdmin. """ type RemoveEnterpriseAdminPayload { """ @@ -38331,7 +39055,7 @@ input RemoveLabelsFromLabelableInput { } """ -Autogenerated return type of RemoveLabelsFromLabelable +Autogenerated return type of RemoveLabelsFromLabelable. """ type RemoveLabelsFromLabelablePayload { """ @@ -38366,7 +39090,7 @@ input RemoveOutsideCollaboratorInput { } """ -Autogenerated return type of RemoveOutsideCollaborator +Autogenerated return type of RemoveOutsideCollaborator. """ type RemoveOutsideCollaboratorPayload { """ @@ -38417,7 +39141,7 @@ input RemoveReactionInput { } """ -Autogenerated return type of RemoveReaction +Autogenerated return type of RemoveReaction. """ type RemoveReactionPayload { """ @@ -38457,7 +39181,7 @@ input RemoveStarInput { } """ -Autogenerated return type of RemoveStar +Autogenerated return type of RemoveStar. """ type RemoveStarPayload { """ @@ -38487,7 +39211,7 @@ input RemoveUpvoteInput { } """ -Autogenerated return type of RemoveUpvote +Autogenerated return type of RemoveUpvote. """ type RemoveUpvotePayload { """ @@ -38637,7 +39361,7 @@ input ReopenDiscussionInput { } """ -Autogenerated return type of ReopenDiscussion +Autogenerated return type of ReopenDiscussion. """ type ReopenDiscussionPayload { """ @@ -38667,7 +39391,7 @@ input ReopenIssueInput { } """ -Autogenerated return type of ReopenIssue +Autogenerated return type of ReopenIssue. """ type ReopenIssuePayload { """ @@ -38697,7 +39421,7 @@ input ReopenPullRequestInput { } """ -Autogenerated return type of ReopenPullRequest +Autogenerated return type of ReopenPullRequest. """ type ReopenPullRequestPayload { """ @@ -38762,7 +39486,7 @@ input ReorderEnvironmentInput { } """ -Autogenerated return type of ReorderEnvironment +Autogenerated return type of ReorderEnvironment. """ type ReorderEnvironmentPayload { """ @@ -42273,6 +42997,16 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent number: Int! ): Project + """ + Finds and returns the Project according to the provided Project number. + """ + projectV2( + """ + The Project number. + """ + number: Int! + ): ProjectV2 + """ A list of projects under the owner. """ @@ -42323,6 +43057,46 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ projectsUrl: URI! + """ + List of projects linked to this repository. + """ + 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 + + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + + """ + How to order the returned projects. + """ + orderBy: ProjectV2Order = {field: NUMBER, direction: DESC} + + """ + A project to search for linked to the repo. + """ + query: String + ): ProjectV2Connection! + """ Returns a single pull request from the current repository by number. """ @@ -44202,13 +44976,13 @@ enum RepositoryRuleType { """ Prevent commits that include files with specified file extensions from being - pushed to the commit graph. NOTE: Thie rule is in beta and subject to change + pushed to the commit graph. NOTE: This rule is in beta and subject to change """ FILE_EXTENSION_RESTRICTION """ Prevent commits that include changes in specified file paths from being pushed - to the commit graph. NOTE: Thie rule is in beta and subject to change + to the commit graph. NOTE: This rule is in beta and subject to change """ FILE_PATH_RESTRICTION @@ -44219,14 +44993,14 @@ enum RepositoryRuleType { """ Prevent commits that include file paths that exceed a specified character - limit from being pushed to the commit graph. NOTE: Thie rule is in beta and + limit from being pushed to the commit graph. NOTE: This rule is in beta and subject to change """ MAX_FILE_PATH_LENGTH """ Prevent commits that exceed a specified file size limit from being pushed to - the commit. NOTE: Thie rule is in beta and subject to change + the commit. NOTE: This rule is in beta and subject to change """ MAX_FILE_SIZE @@ -45127,7 +45901,7 @@ input RequestReviewsInput { } """ -Autogenerated return type of RequestReviews +Autogenerated return type of RequestReviews. """ type RequestReviewsPayload { """ @@ -45303,6 +46077,11 @@ Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. """ type RequiredStatusChecksParameters { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean! + """ Status checks that are required. """ @@ -45321,6 +46100,11 @@ Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. """ input RequiredStatusChecksParametersInput { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean + """ Status checks that are required. """ @@ -45355,7 +46139,7 @@ input RerequestCheckSuiteInput { } """ -Autogenerated return type of RerequestCheckSuite +Autogenerated return type of RerequestCheckSuite. """ type RerequestCheckSuitePayload { """ @@ -45385,7 +46169,7 @@ input ResolveReviewThreadInput { } """ -Autogenerated return type of ResolveReviewThread +Autogenerated return type of ResolveReviewThread. """ type ResolveReviewThreadPayload { """ @@ -45462,7 +46246,7 @@ input RevertPullRequestInput { } """ -Autogenerated return type of RevertPullRequest +Autogenerated return type of RevertPullRequest. """ type RevertPullRequestPayload { """ @@ -45783,7 +46567,7 @@ input RevokeEnterpriseOrganizationsMigratorRoleInput { } """ -Autogenerated return type of RevokeEnterpriseOrganizationsMigratorRole +Autogenerated return type of RevokeEnterpriseOrganizationsMigratorRole. """ type RevokeEnterpriseOrganizationsMigratorRolePayload { """ @@ -45843,7 +46627,7 @@ input RevokeMigratorRoleInput { } """ -Autogenerated return type of RevokeMigratorRole +Autogenerated return type of RevokeMigratorRole. """ type RevokeMigratorRolePayload { """ @@ -45911,6 +46695,7 @@ union RuleParameters = | FilePathRestrictionParameters | MaxFilePathLengthParameters | MaxFileSizeParameters + | MergeQueueParameters | PullRequestParameters | RequiredDeploymentsParameters | RequiredStatusChecksParameters @@ -45967,6 +46752,11 @@ input RuleParametersInput { """ maxFileSize: MaxFileSizeParametersInput + """ + Parameters used for the `merge_queue` rule type + """ + mergeQueue: MergeQueueParametersInput + """ Parameters used for the `pull_request` rule type """ @@ -47131,7 +47921,7 @@ input StartOrganizationMigrationInput { } """ -Autogenerated return type of StartOrganizationMigration +Autogenerated return type of StartOrganizationMigration. """ type StartOrganizationMigrationPayload { """ @@ -47216,7 +48006,7 @@ input StartRepositoryMigrationInput { } """ -Autogenerated return type of StartRepositoryMigration +Autogenerated return type of StartRepositoryMigration. """ type StartRepositoryMigrationPayload { """ @@ -47576,7 +48366,7 @@ input SubmitPullRequestReviewInput { } """ -Autogenerated return type of SubmitPullRequestReview +Autogenerated return type of SubmitPullRequestReview. """ type SubmitPullRequestReviewPayload { """ @@ -48194,6 +48984,61 @@ type Team implements MemberStatusable & Node & Subscribable { """ 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 + + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + + """ + 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. """ @@ -50268,7 +51113,7 @@ input TransferIssueInput { } """ -Autogenerated return type of TransferIssue +Autogenerated return type of TransferIssue. """ type TransferIssuePayload { """ @@ -50458,7 +51303,7 @@ input UnarchiveProjectV2ItemInput { } """ -Autogenerated return type of UnarchiveProjectV2Item +Autogenerated return type of UnarchiveProjectV2Item. """ type UnarchiveProjectV2ItemPayload { """ @@ -50488,7 +51333,7 @@ input UnarchiveRepositoryInput { } """ -Autogenerated return type of UnarchiveRepository +Autogenerated return type of UnarchiveRepository. """ type UnarchiveRepositoryPayload { """ @@ -50554,7 +51399,7 @@ input UnfollowOrganizationInput { } """ -Autogenerated return type of UnfollowOrganization +Autogenerated return type of UnfollowOrganization. """ type UnfollowOrganizationPayload { """ @@ -50584,7 +51429,7 @@ input UnfollowUserInput { } """ -Autogenerated return type of UnfollowUser +Autogenerated return type of UnfollowUser. """ type UnfollowUserPayload { """ @@ -50705,7 +51550,7 @@ input UnlinkProjectV2FromRepositoryInput { } """ -Autogenerated return type of UnlinkProjectV2FromRepository +Autogenerated return type of UnlinkProjectV2FromRepository. """ type UnlinkProjectV2FromRepositoryPayload { """ @@ -50740,7 +51585,7 @@ input UnlinkProjectV2FromTeamInput { } """ -Autogenerated return type of UnlinkProjectV2FromTeam +Autogenerated return type of UnlinkProjectV2FromTeam. """ type UnlinkProjectV2FromTeamPayload { """ @@ -50775,7 +51620,7 @@ input UnlinkRepositoryFromProjectInput { } """ -Autogenerated return type of UnlinkRepositoryFromProject +Autogenerated return type of UnlinkRepositoryFromProject. """ type UnlinkRepositoryFromProjectPayload { """ @@ -50810,7 +51655,7 @@ input UnlockLockableInput { } """ -Autogenerated return type of UnlockLockable +Autogenerated return type of UnlockLockable. """ type UnlockLockablePayload { """ @@ -50870,7 +51715,7 @@ input UnmarkDiscussionCommentAsAnswerInput { } """ -Autogenerated return type of UnmarkDiscussionCommentAsAnswer +Autogenerated return type of UnmarkDiscussionCommentAsAnswer. """ type UnmarkDiscussionCommentAsAnswerPayload { """ @@ -50905,7 +51750,7 @@ input UnmarkFileAsViewedInput { } """ -Autogenerated return type of UnmarkFileAsViewed +Autogenerated return type of UnmarkFileAsViewed. """ type UnmarkFileAsViewedPayload { """ @@ -50940,7 +51785,7 @@ input UnmarkIssueAsDuplicateInput { } """ -Autogenerated return type of UnmarkIssueAsDuplicate +Autogenerated return type of UnmarkIssueAsDuplicate. """ type UnmarkIssueAsDuplicatePayload { """ @@ -50970,7 +51815,7 @@ input UnmarkProjectV2AsTemplateInput { } """ -Autogenerated return type of UnmarkProjectV2AsTemplate +Autogenerated return type of UnmarkProjectV2AsTemplate. """ type UnmarkProjectV2AsTemplatePayload { """ @@ -51046,7 +51891,7 @@ input UnminimizeCommentInput { } """ -Autogenerated return type of UnminimizeComment +Autogenerated return type of UnminimizeComment. """ type UnminimizeCommentPayload { """ @@ -51076,7 +51921,7 @@ input UnpinIssueInput { } """ -Autogenerated return type of UnpinIssue +Autogenerated return type of UnpinIssue. """ type UnpinIssuePayload { """ @@ -51136,7 +51981,7 @@ input UnresolveReviewThreadInput { } """ -Autogenerated return type of UnresolveReviewThread +Autogenerated return type of UnresolveReviewThread. """ type UnresolveReviewThreadPayload { """ @@ -51171,7 +52016,7 @@ input UnsubscribeFromNotificationsInput } """ -Autogenerated return type of UnsubscribeFromNotifications +Autogenerated return type of UnsubscribeFromNotifications. """ type UnsubscribeFromNotificationsPayload @requiredCapabilities(requiredCapabilities: ["access_internal_graphql_notifications"]) { @@ -51383,7 +52228,7 @@ input UpdateBranchProtectionRuleInput { } """ -Autogenerated return type of UpdateBranchProtectionRule +Autogenerated return type of UpdateBranchProtectionRule. """ type UpdateBranchProtectionRulePayload { """ @@ -51463,7 +52308,7 @@ input UpdateCheckRunInput { } """ -Autogenerated return type of UpdateCheckRun +Autogenerated return type of UpdateCheckRun. """ type UpdateCheckRunPayload { """ @@ -51498,7 +52343,7 @@ input UpdateCheckSuitePreferencesInput { } """ -Autogenerated return type of UpdateCheckSuitePreferences +Autogenerated return type of UpdateCheckSuitePreferences. """ type UpdateCheckSuitePreferencesPayload { """ @@ -51533,7 +52378,7 @@ input UpdateDiscussionCommentInput { } """ -Autogenerated return type of UpdateDiscussionComment +Autogenerated return type of UpdateDiscussionComment. """ type UpdateDiscussionCommentPayload { """ @@ -51578,7 +52423,7 @@ input UpdateDiscussionInput { } """ -Autogenerated return type of UpdateDiscussion +Autogenerated return type of UpdateDiscussion. """ type UpdateDiscussionPayload { """ @@ -51618,7 +52463,7 @@ input UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput { } """ -Autogenerated return type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting +Autogenerated return type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting. """ type UpdateEnterpriseAllowPrivateRepositoryForkingSettingPayload { """ @@ -51658,7 +52503,7 @@ input UpdateEnterpriseDefaultRepositoryPermissionSettingInput { } """ -Autogenerated return type of UpdateEnterpriseDefaultRepositoryPermissionSetting +Autogenerated return type of UpdateEnterpriseDefaultRepositoryPermissionSetting. """ type UpdateEnterpriseDefaultRepositoryPermissionSettingPayload { """ @@ -51698,7 +52543,7 @@ input UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting +Autogenerated return type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting. """ type UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingPayload { """ @@ -51759,7 +52604,7 @@ input UpdateEnterpriseMembersCanCreateRepositoriesSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanCreateRepositoriesSetting +Autogenerated return type of UpdateEnterpriseMembersCanCreateRepositoriesSetting. """ type UpdateEnterpriseMembersCanCreateRepositoriesSettingPayload { """ @@ -51799,7 +52644,7 @@ input UpdateEnterpriseMembersCanDeleteIssuesSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanDeleteIssuesSetting +Autogenerated return type of UpdateEnterpriseMembersCanDeleteIssuesSetting. """ type UpdateEnterpriseMembersCanDeleteIssuesSettingPayload { """ @@ -51839,7 +52684,7 @@ input UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting +Autogenerated return type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting. """ type UpdateEnterpriseMembersCanDeleteRepositoriesSettingPayload { """ @@ -51879,7 +52724,7 @@ input UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting +Autogenerated return type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting. """ type UpdateEnterpriseMembersCanInviteCollaboratorsSettingPayload { """ @@ -51919,7 +52764,7 @@ input UpdateEnterpriseMembersCanMakePurchasesSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanMakePurchasesSetting +Autogenerated return type of UpdateEnterpriseMembersCanMakePurchasesSetting. """ type UpdateEnterpriseMembersCanMakePurchasesSettingPayload { """ @@ -51959,7 +52804,7 @@ input UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting +Autogenerated return type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting. """ type UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingPayload { """ @@ -51999,7 +52844,7 @@ input UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput { } """ -Autogenerated return type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting +Autogenerated return type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting. """ type UpdateEnterpriseMembersCanViewDependencyInsightsSettingPayload { """ @@ -52039,7 +52884,7 @@ input UpdateEnterpriseOrganizationProjectsSettingInput { } """ -Autogenerated return type of UpdateEnterpriseOrganizationProjectsSetting +Autogenerated return type of UpdateEnterpriseOrganizationProjectsSetting. """ type UpdateEnterpriseOrganizationProjectsSettingPayload { """ @@ -52084,7 +52929,7 @@ input UpdateEnterpriseOwnerOrganizationRoleInput { } """ -Autogenerated return type of UpdateEnterpriseOwnerOrganizationRole +Autogenerated return type of UpdateEnterpriseOwnerOrganizationRole. """ type UpdateEnterpriseOwnerOrganizationRolePayload { """ @@ -52134,7 +52979,7 @@ input UpdateEnterpriseProfileInput { } """ -Autogenerated return type of UpdateEnterpriseProfile +Autogenerated return type of UpdateEnterpriseProfile. """ type UpdateEnterpriseProfilePayload { """ @@ -52169,7 +53014,7 @@ input UpdateEnterpriseRepositoryProjectsSettingInput { } """ -Autogenerated return type of UpdateEnterpriseRepositoryProjectsSetting +Autogenerated return type of UpdateEnterpriseRepositoryProjectsSetting. """ type UpdateEnterpriseRepositoryProjectsSettingPayload { """ @@ -52209,7 +53054,7 @@ input UpdateEnterpriseTeamDiscussionsSettingInput { } """ -Autogenerated return type of UpdateEnterpriseTeamDiscussionsSetting +Autogenerated return type of UpdateEnterpriseTeamDiscussionsSetting. """ type UpdateEnterpriseTeamDiscussionsSettingPayload { """ @@ -52249,7 +53094,7 @@ input UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput { } """ -Autogenerated return type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting +Autogenerated return type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting. """ type UpdateEnterpriseTwoFactorAuthenticationRequiredSettingPayload { """ @@ -52299,7 +53144,7 @@ input UpdateEnvironmentInput { } """ -Autogenerated return type of UpdateEnvironment +Autogenerated return type of UpdateEnvironment. """ type UpdateEnvironmentPayload { """ @@ -52334,7 +53179,7 @@ input UpdateIpAllowListEnabledSettingInput { } """ -Autogenerated return type of UpdateIpAllowListEnabledSetting +Autogenerated return type of UpdateIpAllowListEnabledSetting. """ type UpdateIpAllowListEnabledSettingPayload { """ @@ -52379,7 +53224,7 @@ input UpdateIpAllowListEntryInput { } """ -Autogenerated return type of UpdateIpAllowListEntry +Autogenerated return type of UpdateIpAllowListEntry. """ type UpdateIpAllowListEntryPayload { """ @@ -52414,7 +53259,7 @@ input UpdateIpAllowListForInstalledAppsEnabledSettingInput { } """ -Autogenerated return type of UpdateIpAllowListForInstalledAppsEnabledSetting +Autogenerated return type of UpdateIpAllowListForInstalledAppsEnabledSetting. """ type UpdateIpAllowListForInstalledAppsEnabledSettingPayload { """ @@ -52449,7 +53294,7 @@ input UpdateIssueCommentInput { } """ -Autogenerated return type of UpdateIssueComment +Autogenerated return type of UpdateIssueComment. """ type UpdateIssueCommentPayload { """ @@ -52514,7 +53359,7 @@ input UpdateIssueInput { } """ -Autogenerated return type of UpdateIssue +Autogenerated return type of UpdateIssue. """ type UpdateIssuePayload { """ @@ -52564,7 +53409,7 @@ input UpdateLabelInput { } """ -Autogenerated return type of UpdateLabel +Autogenerated return type of UpdateLabel. """ type UpdateLabelPayload { """ @@ -52599,7 +53444,7 @@ input UpdateNotificationRestrictionSettingInput { } """ -Autogenerated return type of UpdateNotificationRestrictionSetting +Autogenerated return type of UpdateNotificationRestrictionSetting. """ type UpdateNotificationRestrictionSettingPayload { """ @@ -52634,7 +53479,7 @@ input UpdateOrganizationAllowPrivateRepositoryForkingSettingInput { } """ -Autogenerated return type of UpdateOrganizationAllowPrivateRepositoryForkingSetting +Autogenerated return type of UpdateOrganizationAllowPrivateRepositoryForkingSetting. """ type UpdateOrganizationAllowPrivateRepositoryForkingSettingPayload { """ @@ -52674,7 +53519,7 @@ input UpdateOrganizationWebCommitSignoffSettingInput { } """ -Autogenerated return type of UpdateOrganizationWebCommitSignoffSetting +Autogenerated return type of UpdateOrganizationWebCommitSignoffSetting. """ type UpdateOrganizationWebCommitSignoffSettingPayload { """ @@ -52739,7 +53584,7 @@ input UpdateProjectCardInput { } """ -Autogenerated return type of UpdateProjectCard +Autogenerated return type of UpdateProjectCard. """ type UpdateProjectCardPayload { """ @@ -52774,7 +53619,7 @@ input UpdateProjectColumnInput { } """ -Autogenerated return type of UpdateProjectColumn +Autogenerated return type of UpdateProjectColumn. """ type UpdateProjectColumnPayload { """ @@ -52824,7 +53669,7 @@ input UpdateProjectInput { } """ -Autogenerated return type of UpdateProject +Autogenerated return type of UpdateProject. """ type UpdateProjectPayload { """ @@ -52859,7 +53704,7 @@ input UpdateProjectV2CollaboratorsInput { } """ -Autogenerated return type of UpdateProjectV2Collaborators +Autogenerated return type of UpdateProjectV2Collaborators. """ type UpdateProjectV2CollaboratorsPayload { """ @@ -52924,7 +53769,7 @@ input UpdateProjectV2DraftIssueInput { } """ -Autogenerated return type of UpdateProjectV2DraftIssue +Autogenerated return type of UpdateProjectV2DraftIssue. """ type UpdateProjectV2DraftIssuePayload { """ @@ -53013,7 +53858,7 @@ input UpdateProjectV2ItemFieldValueInput { } """ -Autogenerated return type of UpdateProjectV2ItemFieldValue +Autogenerated return type of UpdateProjectV2ItemFieldValue. """ type UpdateProjectV2ItemFieldValuePayload { """ @@ -53053,7 +53898,7 @@ input UpdateProjectV2ItemPositionInput { } """ -Autogenerated return type of UpdateProjectV2ItemPosition +Autogenerated return type of UpdateProjectV2ItemPosition. """ type UpdateProjectV2ItemPositionPayload { """ @@ -53088,7 +53933,7 @@ type UpdateProjectV2ItemPositionPayload { } """ -Autogenerated return type of UpdateProjectV2 +Autogenerated return type of UpdateProjectV2. """ type UpdateProjectV2Payload { """ @@ -53102,6 +53947,56 @@ type UpdateProjectV2Payload { projectV2: ProjectV2 } +""" +Autogenerated input type of UpdateProjectV2StatusUpdate +""" +input UpdateProjectV2StatusUpdateInput { + """ + The body of the status update. + """ + body: String + + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The start date of the status update. + """ + startDate: Date + + """ + The status of the status update. + """ + status: ProjectV2StatusUpdateStatus + + """ + The ID of the status update to be updated. + """ + statusUpdateId: ID! @possibleTypes(concreteTypes: ["ProjectV2StatusUpdate"]) + + """ + The target date of the status update. + """ + targetDate: Date +} + +""" +Autogenerated return type of UpdateProjectV2StatusUpdate. +""" +type UpdateProjectV2StatusUpdatePayload { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The status update updated in the project. + """ + statusUpdate: ProjectV2StatusUpdate +} + """ Autogenerated input type of UpdatePullRequestBranch """ @@ -53128,7 +54023,7 @@ input UpdatePullRequestBranchInput { } """ -Autogenerated return type of UpdatePullRequestBranch +Autogenerated return type of UpdatePullRequestBranch. """ type UpdatePullRequestBranchPayload { """ @@ -53204,7 +54099,7 @@ input UpdatePullRequestInput { } """ -Autogenerated return type of UpdatePullRequest +Autogenerated return type of UpdatePullRequest. """ type UpdatePullRequestPayload { """ @@ -53244,7 +54139,7 @@ input UpdatePullRequestReviewCommentInput { } """ -Autogenerated return type of UpdatePullRequestReviewComment +Autogenerated return type of UpdatePullRequestReviewComment. """ type UpdatePullRequestReviewCommentPayload { """ @@ -53279,7 +54174,7 @@ input UpdatePullRequestReviewInput { } """ -Autogenerated return type of UpdatePullRequestReview +Autogenerated return type of UpdatePullRequestReview. """ type UpdatePullRequestReviewPayload { """ @@ -53319,7 +54214,7 @@ input UpdateRefInput { } """ -Autogenerated return type of UpdateRef +Autogenerated return type of UpdateRef. """ type UpdateRefPayload { """ @@ -53354,7 +54249,7 @@ input UpdateRefsInput { } """ -Autogenerated return type of UpdateRefs +Autogenerated return type of UpdateRefs. """ type UpdateRefsPayload { """ @@ -53420,7 +54315,7 @@ input UpdateRepositoryInput { } """ -Autogenerated return type of UpdateRepository +Autogenerated return type of UpdateRepository. """ type UpdateRepositoryPayload { """ @@ -53480,7 +54375,7 @@ input UpdateRepositoryRulesetInput { } """ -Autogenerated return type of UpdateRepositoryRuleset +Autogenerated return type of UpdateRepositoryRuleset. """ type UpdateRepositoryRulesetPayload { """ @@ -53515,7 +54410,7 @@ input UpdateRepositoryWebCommitSignoffSettingInput { } """ -Autogenerated return type of UpdateRepositoryWebCommitSignoffSetting +Autogenerated return type of UpdateRepositoryWebCommitSignoffSetting. """ type UpdateRepositoryWebCommitSignoffSettingPayload { """ @@ -53559,7 +54454,7 @@ input UpdateSubscriptionInput { } """ -Autogenerated return type of UpdateSubscription +Autogenerated return type of UpdateSubscription. """ type UpdateSubscriptionPayload { """ @@ -53599,7 +54494,7 @@ input UpdateTeamDiscussionCommentInput { } """ -Autogenerated return type of UpdateTeamDiscussionComment +Autogenerated return type of UpdateTeamDiscussionComment. """ type UpdateTeamDiscussionCommentPayload { """ @@ -53650,7 +54545,7 @@ input UpdateTeamDiscussionInput { } """ -Autogenerated return type of UpdateTeamDiscussion +Autogenerated return type of UpdateTeamDiscussion. """ type UpdateTeamDiscussionPayload { """ @@ -53720,7 +54615,7 @@ input UpdateTeamReviewAssignmentInput { } """ -Autogenerated return type of UpdateTeamReviewAssignment +Autogenerated return type of UpdateTeamReviewAssignment. """ type UpdateTeamReviewAssignmentPayload { """ @@ -53760,7 +54655,7 @@ input UpdateTeamsRepositoryInput { } """ -Autogenerated return type of UpdateTeamsRepository +Autogenerated return type of UpdateTeamsRepository. """ type UpdateTeamsRepositoryPayload { """ @@ -53800,7 +54695,7 @@ input UpdateTopicsInput { } """ -Autogenerated return type of UpdateTopics +Autogenerated return type of UpdateTopics. """ type UpdateTopicsPayload { """ @@ -53850,7 +54745,7 @@ input UpdateUserListInput { } """ -Autogenerated return type of UpdateUserList +Autogenerated return type of UpdateUserList. """ type UpdateUserListPayload { """ @@ -53890,7 +54785,7 @@ input UpdateUserListsForItemInput { } """ -Autogenerated return type of UpdateUserListsForItem +Autogenerated return type of UpdateUserListsForItem. """ type UpdateUserListsForItemPayload { """ @@ -54625,6 +55520,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -55894,7 +56794,7 @@ input VerifyVerifiableDomainInput { } """ -Autogenerated return type of VerifyVerifiableDomain +Autogenerated return type of VerifyVerifiableDomain. """ type VerifyVerifiableDomainPayload { """ @@ -56332,6 +57232,11 @@ enum WorkflowState { Require all changes made to a targeted branch to pass the specified workflows before they can be merged. """ type WorkflowsParameters { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean! + """ Workflows that must pass for this rule to pass. """ @@ -56342,6 +57247,11 @@ type WorkflowsParameters { Require all changes made to a targeted branch to pass the specified workflows before they can be merged. """ input WorkflowsParametersInput { + """ + Allow repositories and branches to be created if a check would otherwise prohibit it. + """ + doNotEnforceOnCreate: Boolean + """ Workflows that must pass for this rule to pass. """ diff --git a/src/graphql/data/ghes-3.15/schema.json b/src/graphql/data/ghes-3.15/schema.json index 6d6bc4cc725a..d67cd9a88808 100644 --- a/src/graphql/data/ghes-3.15/schema.json +++ b/src/graphql/data/ghes-3.15/schema.json @@ -1849,6 +1849,40 @@ } ] }, + { + "name": "convertProjectV2DraftIssueItemToIssue", + "kind": "mutations", + "id": "convertprojectv2draftissueitemtoissue", + "href": "/graphql/reference/mutations#convertprojectv2draftissueitemtoissue", + "description": "

Converts a projectV2 draft issue item to an issue.

", + "inputFields": [ + { + "name": "input", + "type": "ConvertProjectV2DraftIssueItemToIssueInput!", + "id": "convertprojectv2draftissueitemtoissueinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#convertprojectv2draftissueitemtoissueinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "item", + "type": "ProjectV2Item", + "id": "projectv2item", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2item", + "description": "

The updated project item.

" + } + ] + }, { "name": "convertPullRequestToDraft", "kind": "mutations", @@ -2577,6 +2611,40 @@ } ] }, + { + "name": "createProjectV2StatusUpdate", + "kind": "mutations", + "id": "createprojectv2statusupdate", + "href": "/graphql/reference/mutations#createprojectv2statusupdate", + "description": "

Creates a status update within a Project.

", + "inputFields": [ + { + "name": "input", + "type": "CreateProjectV2StatusUpdateInput!", + "id": "createprojectv2statusupdateinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#createprojectv2statusupdateinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "statusUpdate", + "type": "ProjectV2StatusUpdate", + "id": "projectv2statusupdate", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2statusupdate", + "description": "

The status update updated in the project.

" + } + ] + }, { "name": "createPullRequest", "kind": "mutations", @@ -3381,6 +3449,48 @@ } ] }, + { + "name": "deleteProjectV2StatusUpdate", + "kind": "mutations", + "id": "deleteprojectv2statusupdate", + "href": "/graphql/reference/mutations#deleteprojectv2statusupdate", + "description": "

Deletes a project status update.

", + "inputFields": [ + { + "name": "input", + "type": "DeleteProjectV2StatusUpdateInput!", + "id": "deleteprojectv2statusupdateinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#deleteprojectv2statusupdateinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "deletedStatusUpdateId", + "type": "ID", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "description": "

The ID of the deleted status update.

" + }, + { + "name": "projectV2", + "type": "ProjectV2", + "id": "projectv2", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2", + "description": "

The project the deleted status update was in.

" + } + ] + }, { "name": "deleteProjectV2Workflow", "kind": "mutations", @@ -7521,6 +7631,40 @@ } ] }, + { + "name": "updateProjectV2StatusUpdate", + "kind": "mutations", + "id": "updateprojectv2statusupdate", + "href": "/graphql/reference/mutations#updateprojectv2statusupdate", + "description": "

Updates a status update within a Project.

", + "inputFields": [ + { + "name": "input", + "type": "UpdateProjectV2StatusUpdateInput!", + "id": "updateprojectv2statusupdateinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#updateprojectv2statusupdateinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "statusUpdate", + "type": "ProjectV2StatusUpdate", + "id": "projectv2statusupdate", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2statusupdate", + "description": "

The status update updated in the project.

" + } + ] + }, { "name": "updatePullRequest", "kind": "mutations", @@ -8374,6 +8518,14 @@ } ], "fields": [ + { + "name": "clientId", + "description": "

The client ID of the app.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, { "name": "createdAt", "description": "

Identifies the date and time when the object was created.

", @@ -12476,7 +12628,7 @@ }, { "name": "since", - "description": "

Allows specifying a beginning time or date for fetching commits.

", + "description": "

Allows specifying a beginning time or date for fetching commits. Unexpected\nresults may be returned for dates not between 1970-01-01 and 2099-12-13 (inclusive).

", "type": { "name": "GitTimestamp", "id": "gittimestamp", @@ -12486,7 +12638,7 @@ }, { "name": "until", - "description": "

Allows specifying an ending time or date for fetching commits.

", + "description": "

Allows specifying an ending time or date for fetching commits. Unexpected\nresults may be returned for dates not between 1970-01-01 and 2099-12-13 (inclusive).

", "type": { "name": "GitTimestamp", "id": "gittimestamp", @@ -18201,6 +18353,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

Indicates if the viewer can edit labels for this object.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanReact", "description": "

Can user react to this subject.

", @@ -19876,6 +20036,22 @@ "kind": "objects", "href": "/graphql/reference/objects#enterpriseownerinfo" }, + { + "name": "readme", + "description": "

The raw content of the enterprise README.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "readmeHTML", + "description": "

The content of the enterprise README as HTML.

", + "type": "HTML!", + "id": "html", + "kind": "scalars", + "href": "/graphql/reference/scalars#html" + }, { "name": "resourcePath", "description": "

The HTTP path for this enterprise.

", @@ -20585,6 +20761,70 @@ } ] }, + { + "name": "EnterpriseMemberInvitation", + "kind": "objects", + "id": "enterprisememberinvitation", + "href": "/graphql/reference/objects#enterprisememberinvitation", + "description": "

An invitation for a user to become an unaffiliated member of an enterprise.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "email", + "description": "

The email of the person who was invited to the enterprise.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "enterprise", + "description": "

The enterprise the invitation is for.

", + "type": "Enterprise!", + "id": "enterprise", + "kind": "objects", + "href": "/graphql/reference/objects#enterprise" + }, + { + "name": "id", + "description": "

The Node ID of the EnterpriseMemberInvitation object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + }, + { + "name": "invitee", + "description": "

The user who was invited to the enterprise.

", + "type": "User", + "id": "user", + "kind": "objects", + "href": "/graphql/reference/objects#user" + }, + { + "name": "inviter", + "description": "

The user who created the invitation.

", + "type": "User", + "id": "user", + "kind": "objects", + "href": "/graphql/reference/objects#user" + } + ] + }, { "name": "EnterpriseOrganizationMembershipConnection", "kind": "objects", @@ -26078,6 +26318,89 @@ "kind": "scalars", "href": "/graphql/reference/scalars#datetime" }, + { + "name": "closedByPullRequestsReferences", + "description": "

List of open pull requests referenced from this issue.

", + "type": "PullRequestConnection", + "id": "pullrequestconnection", + "kind": "objects", + "href": "/graphql/reference/objects#pullrequestconnection", + "arguments": [ + { + "name": "after", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "includeClosedPrs", + "defaultValue": false, + "description": "

Include closed PRs in results.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "orderByState", + "defaultValue": false, + "description": "

Return results ordered by state.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, + { + "name": "userLinkedOnly", + "defaultValue": false, + "description": "

Return only manually linked PRs.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + } + ] + }, { "name": "comments", "description": "

A list of comments associated with the Issue.

", @@ -26483,6 +26806,67 @@ } ] }, + { + "name": "projectItems", + "description": "

List of project items associated with this issue.

", + "type": "ProjectV2ItemConnection!", + "id": "projectv2itemconnection", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2itemconnection", + "arguments": [ + { + "name": "after", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "includeArchived", + "defaultValue": true, + "description": "

Include archived items.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + } + ] + }, { "name": "projectV2", "description": "

Find a project by number.

", @@ -26551,6 +26935,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -26931,6 +27326,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

Indicates if the viewer can edit labels for this object.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanReact", "description": "

Can user react to this subject.

", @@ -30173,6 +30576,71 @@ } ] }, + { + "name": "MergeQueueParameters", + "kind": "objects", + "id": "mergequeueparameters", + "href": "/graphql/reference/objects#mergequeueparameters", + "description": "

Merges must be performed via a merge queue.

", + "fields": [ + { + "name": "checkResponseTimeoutMinutes", + "description": "

Maximum time for a required status check to report a conclusion. After this\nmuch time has elapsed, checks that have not reported a conclusion will be\nassumed to have failed.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "groupingStrategy", + "description": "

When set to ALLGREEN, the merge commit created by merge queue for each PR in\nthe group must pass all required checks to merge. When set to HEADGREEN, only\nthe commit at the head of the merge group, i.e. the commit containing changes\nfrom all of the PRs in the group, must pass its required checks to merge.

", + "type": "MergeQueueGroupingStrategy!", + "id": "mergequeuegroupingstrategy", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy" + }, + { + "name": "maxEntriesToBuild", + "description": "

Limit the number of queued pull requests requesting checks and workflow runs at the same time.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "maxEntriesToMerge", + "description": "

The maximum number of PRs that will be merged together in a group.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "mergeMethod", + "description": "

Method to use when merging changes from queued pull requests.

", + "type": "MergeQueueMergeMethod!", + "id": "mergequeuemergemethod", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuemergemethod" + }, + { + "name": "minEntriesToMerge", + "description": "

The minimum number of PRs that will be merged together in a group.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "minEntriesToMergeWaitMinutes", + "description": "

The time merge queue should wait after the first PR is added to the queue for\nthe minimum group size to be met. After this time has elapsed, the minimum\ngroup size will be ignored and a smaller group will be merged.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "MergedEvent", "kind": "objects", @@ -37717,6 +38185,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -42430,6 +42909,66 @@ "kind": "scalars", "href": "/graphql/reference/scalars#string" }, + { + "name": "statusUpdates", + "description": "

List of the status updates in the project.

", + "type": "ProjectV2StatusUpdateConnection!", + "id": "projectv2statusupdateconnection", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2statusupdateconnection", + "arguments": [ + { + "name": "after", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "orderBy", + "description": "

Order for connection.

", + "type": { + "name": "ProjectV2StatusOrder", + "id": "projectv2statusorder", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#projectv2statusorder" + } + } + ] + }, { "name": "teams", "description": "

The teams the project is linked to.

", @@ -44693,6 +45232,176 @@ } ] }, + { + "name": "ProjectV2StatusUpdate", + "kind": "objects", + "id": "projectv2statusupdate", + "href": "/graphql/reference/objects#projectv2statusupdate", + "description": "

A status update within a project.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "body", + "description": "

The body of the status update.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "bodyHTML", + "description": "

The body of the status update rendered to HTML.

", + "type": "HTML", + "id": "html", + "kind": "scalars", + "href": "/graphql/reference/scalars#html" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "creator", + "description": "

The actor who created the status update.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "databaseId", + "description": "

Identifies the primary key from the database.

", + "type": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "id", + "description": "

The Node ID of the ProjectV2StatusUpdate object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + }, + { + "name": "project", + "description": "

The project that contains this status update.

", + "type": "ProjectV2!", + "id": "projectv2", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2" + }, + { + "name": "startDate", + "description": "

The start date of the status update.

", + "type": "Date", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date" + }, + { + "name": "status", + "description": "

The status of the status update.

", + "type": "ProjectV2StatusUpdateStatus", + "id": "projectv2statusupdatestatus", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2statusupdatestatus" + }, + { + "name": "targetDate", + "description": "

The target date of the status update.

", + "type": "Date", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date" + }, + { + "name": "updatedAt", + "description": "

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

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + } + ] + }, + { + "name": "ProjectV2StatusUpdateConnection", + "kind": "objects", + "id": "projectv2statusupdateconnection", + "href": "/graphql/reference/objects#projectv2statusupdateconnection", + "description": "

The connection type for ProjectV2StatusUpdate.

", + "fields": [ + { + "name": "edges", + "description": "

A list of edges.

", + "type": "[ProjectV2StatusUpdateEdge]", + "id": "projectv2statusupdateedge", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2statusupdateedge" + }, + { + "name": "nodes", + "description": "

A list of nodes.

", + "type": "[ProjectV2StatusUpdate]", + "id": "projectv2statusupdate", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2statusupdate" + }, + { + "name": "pageInfo", + "description": "

Information to aid in pagination.

", + "type": "PageInfo!", + "id": "pageinfo", + "kind": "objects", + "href": "/graphql/reference/objects#pageinfo" + }, + { + "name": "totalCount", + "description": "

Identifies the total count of items in the connection.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, + { + "name": "ProjectV2StatusUpdateEdge", + "kind": "objects", + "id": "projectv2statusupdateedge", + "href": "/graphql/reference/objects#projectv2statusupdateedge", + "description": "

An edge in a connection.

", + "fields": [ + { + "name": "cursor", + "description": "

A cursor for use in pagination.

", + "type": "String!", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "node", + "description": "

The item at the end of the edge.

", + "type": "ProjectV2StatusUpdate", + "id": "projectv2statusupdate", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2statusupdate" + } + ] + }, { "name": "ProjectV2View", "kind": "objects", @@ -45483,6 +46192,14 @@ "id": "string", "kind": "scalars", "href": "/graphql/reference/scalars#string" + }, + { + "name": "source", + "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" } ] }, @@ -45894,7 +46611,7 @@ }, { "name": "closingIssuesReferences", - "description": "

List of issues that were may be closed by this pull request.

", + "description": "

List of issues that may be closed by this pull request.

", "type": "IssueConnection", "id": "issueconnection", "kind": "objects", @@ -46691,6 +47408,67 @@ } ] }, + { + "name": "projectItems", + "description": "

List of project items associated with this pull request.

", + "type": "ProjectV2ItemConnection!", + "id": "projectv2itemconnection", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2itemconnection", + "arguments": [ + { + "name": "after", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "includeArchived", + "defaultValue": true, + "description": "

Include archived items.

", + "type": { + "name": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + } + ] + }, { "name": "projectV2", "description": "

Find a project by number.

", @@ -46759,6 +47537,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -47381,6 +48170,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "viewerCanLabel", + "description": "

Indicates if the viewer can edit labels for this object.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "viewerCanMergeAsAdmin", "description": "

Indicates whether the viewer can bypass branch protections and merge the pull request immediately.

", @@ -58319,6 +59116,26 @@ } ] }, + { + "name": "projectV2", + "description": "

Finds and returns the Project according to the provided Project number.

", + "type": "ProjectV2", + "id": "projectv2", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2", + "arguments": [ + { + "name": "number", + "description": "

The Project number.

", + "type": { + "name": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + } + ] + }, { "name": "projects", "description": "

A list of projects under the owner.

", @@ -58415,6 +59232,87 @@ "kind": "scalars", "href": "/graphql/reference/scalars#uri" }, + { + "name": "projectsV2", + "description": "

List of projects linked to this repository.

", + "type": "ProjectV2Connection!", + "id": "projectv2connection", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2connection", + "arguments": [ + { + "name": "after", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, + { + "name": "orderBy", + "description": "

How to order the returned projects.

", + "type": { + "name": "ProjectV2Order", + "id": "projectv2order", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#projectv2order" + } + }, + { + "name": "query", + "description": "

A project to search for linked to the repo.

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + } + ] + }, { "name": "pullRequest", "description": "

Returns a single pull request from the current repository by number.

", @@ -61552,6 +62450,14 @@ "href": "/graphql/reference/objects#requiredstatuschecksparameters", "description": "

Choose which status checks must pass before the ref is updated. When enabled,\ncommits must first be pushed to another ref where the checks pass.

", "fields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

Allow repositories and branches to be created if a check would otherwise prohibit it.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "requiredStatusChecks", "description": "

Status checks that are required.

", @@ -64788,6 +65694,118 @@ "kind": "enums", "href": "/graphql/reference/enums#teamprivacy" }, + { + "name": "projectV2", + "description": "

Finds and returns the project according to the provided project number.

", + "type": "ProjectV2", + "id": "projectv2", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2", + "arguments": [ + { + "name": "number", + "description": "

The Project number.

", + "type": { + "name": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + } + ] + }, + { + "name": "projectsV2", + "description": "

List of projects this team has collaborator access to.

", + "type": "ProjectV2Connection!", + "id": "projectv2connection", + "kind": "objects", + "href": "/graphql/reference/objects#projectv2connection", + "arguments": [ + { + "name": "after", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "before", + "description": "

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

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + }, + { + "name": "filterBy", + "description": "

Filtering options for projects returned from this connection.

", + "type": { + "name": "ProjectV2Filters", + "id": "projectv2filters", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#projectv2filters" + } + }, + { + "name": "first", + "description": "

Returns the first n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "last", + "description": "

Returns the last n elements from the list.

", + "type": { + "name": "Int", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, + { + "name": "orderBy", + "description": "

How to order the returned projects.

", + "type": { + "name": "ProjectV2Order", + "id": "projectv2order", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#projectv2order" + } + }, + { + "name": "query", + "defaultValue": "", + "description": "

The query to search projects by.

", + "type": { + "name": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + } + } + ] + }, { "name": "repositories", "description": "

A list of repositories this team has access to.

", @@ -69888,6 +70906,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -72589,6 +73618,14 @@ "href": "/graphql/reference/objects#workflowsparameters", "description": "

Require all changes made to a targeted branch to pass the specified workflows before they can be merged.

", "fields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

Allow repositories and branches to be created if a check would otherwise prohibit it.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "workflows", "description": "

Workflows that must pass for this rule to pass.

", @@ -73391,6 +74428,14 @@ } } ] + }, + { + "name": "viewerCanLabel", + "description": "

Indicates if the viewer can edit labels for this object.

", + "type": "Boolean!", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" } ] }, @@ -74391,6 +75436,17 @@ "href": "/graphql/reference/scalars#int" } }, + { + "name": "minPermissionLevel", + "defaultValue": "READ", + "description": "

Filter projects based on user role.

", + "type": { + "name": "ProjectV2PermissionLevel", + "id": "projectv2permissionlevel", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2permissionlevel" + } + }, { "name": "orderBy", "description": "

How to order the returned projects.

", @@ -77341,6 +78397,44 @@ } ] }, + { + "name": "MergeQueueGroupingStrategy", + "kind": "enums", + "id": "mergequeuegroupingstrategy", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy", + "description": "

When set to ALLGREEN, the merge commit created by merge queue for each PR in the\ngroup must pass all required checks to merge. When set to HEADGREEN, only the\ncommit at the head of the merge group, i.e. the commit containing changes from\nall of the PRs in the group, must pass its required checks to merge.

", + "values": [ + { + "name": "ALLGREEN", + "description": "

The merge commit created by merge queue for each PR in the group must pass all required checks to merge.

" + }, + { + "name": "HEADGREEN", + "description": "

Only the commit at the head of the merge group must pass its required checks to merge.

" + } + ] + }, + { + "name": "MergeQueueMergeMethod", + "kind": "enums", + "id": "mergequeuemergemethod", + "href": "/graphql/reference/enums#mergequeuemergemethod", + "description": "

Method to use when merging changes from queued pull requests.

", + "values": [ + { + "name": "MERGE", + "description": "

Merge commit.

" + }, + { + "name": "REBASE", + "description": "

Rebase and merge.

" + }, + { + "name": "SQUASH", + "description": "

Squash and merge.

" + } + ] + }, { "name": "MergeQueueMergingStrategy", "kind": "enums", @@ -78580,6 +79674,27 @@ } ] }, + { + "name": "ProjectV2PermissionLevel", + "kind": "enums", + "id": "projectv2permissionlevel", + "href": "/graphql/reference/enums#projectv2permissionlevel", + "description": "

The possible roles of a collaborator on a project.

", + "values": [ + { + "name": "ADMIN", + "description": "

The collaborator can view, edit, and maange the settings of the project.

" + }, + { + "name": "READ", + "description": "

The collaborator can view the project.

" + }, + { + "name": "WRITE", + "description": "

The collaborator can view and edit the project.

" + } + ] + }, { "name": "ProjectV2Roles", "kind": "enums", @@ -78646,6 +79761,65 @@ } ] }, + { + "name": "ProjectV2State", + "kind": "enums", + "id": "projectv2state", + "href": "/graphql/reference/enums#projectv2state", + "description": "

The possible states of a project v2.

", + "values": [ + { + "name": "CLOSED", + "description": "

A project v2 that has been closed.

" + }, + { + "name": "OPEN", + "description": "

A project v2 that is still open.

" + } + ] + }, + { + "name": "ProjectV2StatusUpdateOrderField", + "kind": "enums", + "id": "projectv2statusupdateorderfield", + "href": "/graphql/reference/enums#projectv2statusupdateorderfield", + "description": "

Properties by which project v2 status updates can be ordered.

", + "values": [ + { + "name": "CREATED_AT", + "description": "

Allows chronological ordering of project v2 status updates.

" + } + ] + }, + { + "name": "ProjectV2StatusUpdateStatus", + "kind": "enums", + "id": "projectv2statusupdatestatus", + "href": "/graphql/reference/enums#projectv2statusupdatestatus", + "description": "

The possible statuses of a project v2.

", + "values": [ + { + "name": "AT_RISK", + "description": "

A project v2 that is at risk and encountering some challenges.

" + }, + { + "name": "COMPLETE", + "description": "

A project v2 that is complete.

" + }, + { + "name": "INACTIVE", + "description": "

A project v2 that is inactive.

" + }, + { + "name": "OFF_TRACK", + "description": "

A project v2 that is off track and needs attention.

" + }, + { + "name": "ON_TRACK", + "description": "

A project v2 that is on track with no risks.

" + } + ] + }, { "name": "ProjectV2ViewLayout", "kind": "enums", @@ -79679,11 +80853,11 @@ }, { "name": "FILE_EXTENSION_RESTRICTION", - "description": "

Prevent commits that include files with specified file extensions from being\npushed to the commit graph. NOTE: Thie rule is in beta and subject to change.

" + "description": "

Prevent commits that include files with specified file extensions from being\npushed to the commit graph. NOTE: This rule is in beta and subject to change.

" }, { "name": "FILE_PATH_RESTRICTION", - "description": "

Prevent commits that include changes in specified file paths from being pushed\nto the commit graph. NOTE: Thie rule is in beta and subject to change.

" + "description": "

Prevent commits that include changes in specified file paths from being pushed\nto the commit graph. NOTE: This rule is in beta and subject to change.

" }, { "name": "LOCK_BRANCH", @@ -79691,11 +80865,11 @@ }, { "name": "MAX_FILE_PATH_LENGTH", - "description": "

Prevent commits that include file paths that exceed a specified character\nlimit from being pushed to the commit graph. NOTE: Thie rule is in beta and\nsubject to change.

" + "description": "

Prevent commits that include file paths that exceed a specified character\nlimit from being pushed to the commit graph. NOTE: This rule is in beta and\nsubject to change.

" }, { "name": "MAX_FILE_SIZE", - "description": "

Prevent commits that exceed a specified file size limit from being pushed to\nthe commit. NOTE: Thie rule is in beta and subject to change.

" + "description": "

Prevent commits that exceed a specified file size limit from being pushed to\nthe commit. NOTE: This rule is in beta and subject to change.

" }, { "name": "MAX_REF_UPDATES", @@ -82422,6 +83596,11 @@ "id": "maxfilesizeparameters", "href": "/graphql/reference/objects#maxfilesizeparameters" }, + { + "name": "MergeQueueParameters", + "id": "mergequeueparameters", + "href": "/graphql/reference/objects#mergequeueparameters" + }, { "name": "PullRequestParameters", "id": "pullrequestparameters", @@ -84660,6 +85839,41 @@ } ] }, + { + "name": "ConvertProjectV2DraftIssueItemToIssueInput", + "kind": "inputObjects", + "id": "convertprojectv2draftissueitemtoissueinput", + "href": "/graphql/reference/input-objects#convertprojectv2draftissueitemtoissueinput", + "description": "

Autogenerated input type of ConvertProjectV2DraftIssueItemToIssue.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "itemId", + "description": "

The ID of the draft issue ProjectV2Item to convert.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, + { + "name": "repositoryId", + "description": "

The ID of the repository to create the issue in.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + } + ] + }, { "name": "ConvertPullRequestToDraftInput", "kind": "inputObjects", @@ -85976,6 +87190,64 @@ } ] }, + { + "name": "CreateProjectV2StatusUpdateInput", + "kind": "inputObjects", + "id": "createprojectv2statusupdateinput", + "href": "/graphql/reference/input-objects#createprojectv2statusupdateinput", + "description": "

Autogenerated input type of CreateProjectV2StatusUpdate.

", + "inputFields": [ + { + "name": "body", + "description": "

The body of the status update.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "projectId", + "description": "

The ID of the Project to create the status update in.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, + { + "name": "startDate", + "description": "

The start date of the status update.

", + "type": "Date", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date" + }, + { + "name": "status", + "description": "

The status of the status update.

", + "type": "ProjectV2StatusUpdateStatus", + "id": "projectv2statusupdatestatus", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2statusupdatestatus" + }, + { + "name": "targetDate", + "description": "

The target date of the status update.

", + "type": "Date", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date" + } + ] + }, { "name": "CreatePullRequestInput", "kind": "inputObjects", @@ -86842,6 +88114,32 @@ } ] }, + { + "name": "DeleteProjectV2StatusUpdateInput", + "kind": "inputObjects", + "id": "deleteprojectv2statusupdateinput", + "href": "/graphql/reference/input-objects#deleteprojectv2statusupdateinput", + "description": "

Autogenerated input type of DeleteProjectV2StatusUpdate.

", + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "statusUpdateId", + "description": "

The ID of the status update to be removed.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + } + ] + }, { "name": "DeleteProjectV2WorkflowInput", "kind": "inputObjects", @@ -88638,6 +89936,71 @@ } ] }, + { + "name": "MergeQueueParametersInput", + "kind": "inputObjects", + "id": "mergequeueparametersinput", + "href": "/graphql/reference/input-objects#mergequeueparametersinput", + "description": "

Merges must be performed via a merge queue.

", + "inputFields": [ + { + "name": "checkResponseTimeoutMinutes", + "description": "

Maximum time for a required status check to report a conclusion. After this\nmuch time has elapsed, checks that have not reported a conclusion will be\nassumed to have failed.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "groupingStrategy", + "description": "

When set to ALLGREEN, the merge commit created by merge queue for each PR in\nthe group must pass all required checks to merge. When set to HEADGREEN, only\nthe commit at the head of the merge group, i.e. the commit containing changes\nfrom all of the PRs in the group, must pass its required checks to merge.

", + "type": "MergeQueueGroupingStrategy!", + "id": "mergequeuegroupingstrategy", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuegroupingstrategy" + }, + { + "name": "maxEntriesToBuild", + "description": "

Limit the number of queued pull requests requesting checks and workflow runs at the same time.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "maxEntriesToMerge", + "description": "

The maximum number of PRs that will be merged together in a group.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "mergeMethod", + "description": "

Method to use when merging changes from queued pull requests.

", + "type": "MergeQueueMergeMethod!", + "id": "mergequeuemergemethod", + "kind": "enums", + "href": "/graphql/reference/enums#mergequeuemergemethod" + }, + { + "name": "minEntriesToMerge", + "description": "

The minimum number of PRs that will be merged together in a group.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, + { + "name": "minEntriesToMergeWaitMinutes", + "description": "

The time merge queue should wait after the first PR is added to the queue for\nthe minimum group size to be met. After this time has elapsed, the minimum\ngroup size will be ignored and a smaller group will be merged.

", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + } + ] + }, { "name": "MilestoneOrder", "kind": "inputObjects", @@ -89178,6 +90541,23 @@ } ] }, + { + "name": "ProjectV2Filters", + "kind": "inputObjects", + "id": "projectv2filters", + "href": "/graphql/reference/input-objects#projectv2filters", + "description": "

Ways in which to filter lists of projects.

", + "inputFields": [ + { + "name": "state", + "description": "

List project v2 filtered by the state given.

", + "type": "ProjectV2State", + "id": "projectv2state", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2state" + } + ] + }, { "name": "ProjectV2ItemFieldValueOrder", "kind": "inputObjects", @@ -89286,6 +90666,31 @@ } ] }, + { + "name": "ProjectV2StatusOrder", + "kind": "inputObjects", + "id": "projectv2statusorder", + "href": "/graphql/reference/input-objects#projectv2statusorder", + "description": "

Ways in which project v2 status updates can be ordered.

", + "inputFields": [ + { + "name": "direction", + "description": "

The direction in which to order nodes.

", + "type": "OrderDirection!", + "id": "orderdirection", + "kind": "enums", + "href": "/graphql/reference/enums#orderdirection" + }, + { + "name": "field", + "description": "

The field by which to order nodes.

", + "type": "ProjectV2StatusUpdateOrderField!", + "id": "projectv2statusupdateorderfield", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2statusupdateorderfield" + } + ] + }, { "name": "ProjectV2ViewOrder", "kind": "inputObjects", @@ -89358,6 +90763,14 @@ "id": "string", "kind": "scalars", "href": "/graphql/reference/scalars#string" + }, + { + "name": "source", + "description": "

The source of the property. Choosecustomor 'system'. Defaults to 'custom' if not specified.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" } ] }, @@ -90381,6 +91794,14 @@ "href": "/graphql/reference/input-objects#requiredstatuschecksparametersinput", "description": "

Choose which status checks must pass before the ref is updated. When enabled,\ncommits must first be pushed to another ref where the checks pass.

", "inputFields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

Allow repositories and branches to be created if a check would otherwise prohibit it.

", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "requiredStatusChecks", "description": "

Status checks that are required.

", @@ -90665,6 +92086,14 @@ "kind": "input-objects", "href": "/graphql/reference/input-objects#maxfilesizeparametersinput" }, + { + "name": "mergeQueue", + "description": "

Parameters used for the merge_queue rule type.

", + "type": "MergeQueueParametersInput", + "id": "mergequeueparametersinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#mergequeueparametersinput" + }, { "name": "pullRequest", "description": "

Parameters used for the pull_request rule type.

", @@ -93607,6 +95036,64 @@ } ] }, + { + "name": "UpdateProjectV2StatusUpdateInput", + "kind": "inputObjects", + "id": "updateprojectv2statusupdateinput", + "href": "/graphql/reference/input-objects#updateprojectv2statusupdateinput", + "description": "

Autogenerated input type of UpdateProjectV2StatusUpdate.

", + "inputFields": [ + { + "name": "body", + "description": "

The body of the status update.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "startDate", + "description": "

The start date of the status update.

", + "type": "Date", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date" + }, + { + "name": "status", + "description": "

The status of the status update.

", + "type": "ProjectV2StatusUpdateStatus", + "id": "projectv2statusupdatestatus", + "kind": "enums", + "href": "/graphql/reference/enums#projectv2statusupdatestatus" + }, + { + "name": "statusUpdateId", + "description": "

The ID of the status update to be updated.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id", + "isDeprecated": false + }, + { + "name": "targetDate", + "description": "

The target date of the status update.

", + "type": "Date", + "id": "date", + "kind": "scalars", + "href": "/graphql/reference/scalars#date" + } + ] + }, { "name": "UpdatePullRequestBranchInput", "kind": "inputObjects", @@ -94637,6 +96124,14 @@ "href": "/graphql/reference/input-objects#workflowsparametersinput", "description": "

Require all changes made to a targeted branch to pass the specified workflows before they can be merged.

", "inputFields": [ + { + "name": "doNotEnforceOnCreate", + "description": "

Allow repositories and branches to be created if a check would otherwise prohibit it.

", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean" + }, { "name": "workflows", "description": "

Workflows that must pass for this rule to pass.

", diff --git a/src/graphql/data/ghes-3.15/upcoming-changes.json b/src/graphql/data/ghes-3.15/upcoming-changes.json index 7f9b43095cd5..cf462ccc12cf 100644 --- a/src/graphql/data/ghes-3.15/upcoming-changes.json +++ b/src/graphql/data/ghes-3.15/upcoming-changes.json @@ -1,4 +1,24 @@ { + "2025-01-01": [ + { + "location": "AddMobileDevicePublicKeyPayload.expiresAt", + "description": "

expiresAt will be removed. Do not rely on this field, it is currently set to a date far in the future if a device key is expirationless

", + "reason": "

We are deprecating expirations for mobile device keys used in mobile 2FA

", + "date": "2025-01-01", + "criticality": "breaking", + "owner": "chriskirkland" + } + ], + "2024-10-01": [ + { + "location": "Workflow.hasWorkflowDispatchTrigger", + "description": "

hasWorkflowDispatchTrigger will be removed. Use has_workflow_dispatch_trigger_for_branch(branch_ref) instead.

", + "reason": "

has_workflow_dispatch_trigger is being removed because it can be misleading and only checks a repository's default branch

", + "date": "2024-10-01", + "criticality": "breaking", + "owner": "stevepopovich" + } + ], "2024-07-01": [ { "location": "TeamDiscussionComment.url", From 6def5ee54bbfd414b25e64adfe2cf5226c4da989 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Wed, 13 Nov 2024 16:38:21 +0000 Subject: [PATCH 4/7] Update for roll-out of Billing vNext to GitHub Team plans (#53060) Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Co-authored-by: amrithss <89491847+amrithss@users.noreply.github.com> --- ...bout-billing-for-git-large-file-storage.md | 4 -- .../downgrading-git-large-file-storage.md | 4 -- .../index.md | 4 -- .../upgrading-git-large-file-storage.md | 4 -- ...ewing-your-git-large-file-storage-usage.md | 4 -- .../about-billing-for-github-actions.md | 4 -- .../index.md | 4 -- ...-your-spending-limit-for-github-actions.md | 4 -- .../viewing-your-github-actions-usage.md | 4 -- .../about-billing-for-github-codespaces.md | 4 -- .../index.md | 4 -- ...he-spending-limit-for-github-codespaces.md | 4 -- .../viewing-your-github-codespaces-usage.md | 4 -- .../index.md | 4 -- .../about-billing-for-github-packages.md | 4 -- .../index.md | 4 -- ...your-spending-limit-for-github-packages.md | 4 -- .../viewing-your-github-packages-usage.md | 4 -- .../about-billing-for-your-enterprise.md | 2 +- ...bout-billing-for-git-large-file-storage.md | 5 +- .../about-the-billing-cycle.md | 13 +++-- ...s.md => about-the-new-billing-platform.md} | 43 +++++++++++--- .../about-usage-based-billing-for-licenses.md | 13 +++-- .../adding-seats-to-your-account.md | 44 ++++++++++++++ ...adding-seats-to-your-enterprise-account.md | 25 -------- .../charging-business-units.md | 4 +- ...r-enterprise.md => estimating-spending.md} | 39 ++++++++++--- .../gathering-insights-on-your-spending.md | 42 +++++++++++--- ...g-started-with-the-new-billing-platform.md | 16 +++++- .../using-the-new-billing-platform/index.md | 10 ++-- ...ng-your-payment-and-billing-information.md | 50 +++++++++++++--- .../preventing-overspending.md | 57 ++++++++++++++++--- .../roles-for-the-new-billing-platform.md | 42 ++++++++++---- data/allowed-topics.js | 1 + data/features/enhanced-billing-platform.yml | 3 +- .../enhanced-billing-platform-product.md | 18 ++++++ .../billing/enhanced-billing-platform.md | 2 +- .../new-billing-platform-permissions.md | 3 - data/reusables/billing/org-billing-menu.md | 1 + .../permissions/enhanced-billing-platform.md | 1 + data/variables/enterprise.yml | 4 ++ 41 files changed, 332 insertions(+), 178 deletions(-) rename content/billing/using-the-new-billing-platform/{about-the-new-billing-platform-for-enterprises.md => about-the-new-billing-platform.md} (55%) create mode 100644 content/billing/using-the-new-billing-platform/adding-seats-to-your-account.md delete mode 100644 content/billing/using-the-new-billing-platform/adding-seats-to-your-enterprise-account.md rename content/billing/using-the-new-billing-platform/{estimating-spending-for-your-enterprise.md => estimating-spending.md} (53%) create mode 100644 data/reusables/billing/enhanced-billing-platform-product.md delete mode 100644 data/reusables/billing/new-billing-platform-permissions.md create mode 100644 data/reusables/billing/org-billing-menu.md create mode 100644 data/reusables/permissions/enhanced-billing-platform.md diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md index 036ee029b1ce..2d1cd3bd92fe 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md @@ -16,12 +16,8 @@ topics: shortTitle: About Git LFS billing --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About billing for {% data variables.large_files.product_name_long %} {% data reusables.large_files.free-storage-bandwidth-amount %} {% data reusables.large_files.does_not_carry %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md index 86f16816ae7d..f245e2fc44af 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md @@ -20,12 +20,8 @@ topics: shortTitle: Downgrade Git LFS storage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - When you downgrade your number of data packs, your change takes effect on your next billing date. For more information, see "[AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage)." ## Downgrading storage and bandwidth for a personal account diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/index.md b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/index.md index 05918a295b13..634678536022 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/index.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/index.md @@ -20,8 +20,4 @@ children: - /downgrading-git-large-file-storage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} - -{% endif %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md index af3ae01ec4f4..d13d3b8deb6c 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md @@ -20,12 +20,8 @@ topics: shortTitle: Upgrade Git LFS storage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## Purchasing additional storage and bandwidth for a personal account {% data reusables.user-settings.access_settings %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md index 3094dd30b50e..91fe64ccd1c1 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md @@ -19,12 +19,8 @@ topics: shortTitle: View Git LFS usage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - {% data reusables.large_files.owner_quota_only %} {% data reusables.large_files.does_not_carry %} ## Viewing storage and bandwidth usage for a personal account diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md index 50fc70938c69..456f6370e856 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions.md @@ -15,12 +15,8 @@ topics: shortTitle: Billing for GitHub Actions --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About billing for {% data variables.product.prodname_actions %} {% ifversion billing-auth-and-capture %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/index.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/index.md index 4315d5fb34a2..d6df0778cea5 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/index.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/index.md @@ -14,8 +14,4 @@ children: - /managing-your-spending-limit-for-github-actions --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} - -{% endif %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md index a450a8cfd43f..a411bf93eb75 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md @@ -18,12 +18,8 @@ topics: shortTitle: Spending limits for Actions --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About spending limits for {% data variables.product.prodname_actions %} {% data reusables.actions.actions-billing %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/viewing-your-github-actions-usage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/viewing-your-github-actions-usage.md index c87b3fb399b6..0a0e8a36f0a0 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/viewing-your-github-actions-usage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-actions/viewing-your-github-actions-usage.md @@ -17,12 +17,8 @@ topics: shortTitle: View your Actions usage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - You can also view the billable job execution minutes for an individual workflow run. For more information, see "[AUTOTITLE](/actions/monitoring-and-troubleshooting-workflows/viewing-job-execution-time)." ## Viewing {% data variables.product.prodname_actions %} usage for your personal account diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md index 6b5eb9c546ad..6298e194e2b3 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md @@ -19,12 +19,8 @@ redirect_from: - /billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About {% data variables.product.prodname_github_codespaces %} pricing {% ifversion billing-auth-and-capture %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/index.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/index.md index 238c8cc4bd3b..fdf733c0c8e1 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/index.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/index.md @@ -13,8 +13,4 @@ children: - /managing-the-spending-limit-for-github-codespaces --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} - -{% endif %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md index b76632c17f0d..72c40cc2cf22 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces.md @@ -18,12 +18,8 @@ redirect_from: - /billing/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About the {% data variables.product.prodname_github_codespaces %} spending limit {% data reusables.codespaces.codespaces-free-for-personal-intro %} See "[AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces)." diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md index cb9cee911006..260a16c0acd9 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage.md @@ -14,12 +14,8 @@ redirect_from: - /billing/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## Viewing {% data variables.product.prodname_github_codespaces %} usage for your personal account You can see how much of the usage included in your personal account you have used so far in the current monthly billing cycle. If you have set up a payment method, set a spending limit, and used all of your included usage, you can also check your bill for the current month. diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-copilot/index.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-copilot/index.md index e6bf5965cb90..9f41e33c7ca9 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-copilot/index.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-copilot/index.md @@ -10,8 +10,4 @@ children: - /about-billing-for-github-copilot --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} - -{% endif %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/about-billing-for-github-packages.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/about-billing-for-github-packages.md index 9e46beb5a5d5..22388b07aa8b 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -16,12 +16,8 @@ topics: shortTitle: About billing --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About billing for {% data variables.product.prodname_registry %} {% ifversion billing-auth-and-capture %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/index.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/index.md index a3098f837886..e7fb5adf8e7b 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/index.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/index.md @@ -14,8 +14,4 @@ children: - /managing-your-spending-limit-for-github-packages --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} - -{% endif %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md index d610d05a6a7b..3e6bf66d31c3 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md @@ -19,12 +19,8 @@ topics: shortTitle: Your spending limit --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## About spending limits for {% data variables.product.prodname_registry %} {% data reusables.package_registry.packages-billing %} diff --git a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/viewing-your-github-packages-usage.md b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/viewing-your-github-packages-usage.md index 714f063f6b5c..5e731a9d2dbb 100644 --- a/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/viewing-your-github-packages-usage.md +++ b/content/billing/managing-billing-for-your-products/managing-billing-for-github-packages/viewing-your-github-packages-usage.md @@ -18,12 +18,8 @@ topics: shortTitle: View your usage --- -{% ifversion enhanced-billing-platform %} - {% data reusables.billing.enhanced-billing-platform %} -{% endif %} - ## Viewing {% data variables.product.prodname_registry %} usage for your personal account Anyone can view {% data variables.product.prodname_registry %} usage for their own personal account. diff --git a/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md b/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md index 86e664a48315..94b1c1a4ec0a 100644 --- a/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md +++ b/content/billing/using-the-billing-platform/about-billing-for-your-enterprise.md @@ -61,7 +61,7 @@ Administrators for your enterprise account on {% data variables.product.prodname You have access to the new billing platform if you have an enterprise account, or if you are part of an organization owned by an enterprise account, created after June 2, 2024. Enterprises that participated in the {% data variables.release-phases.private_preview %} also have access to the new billing platform. See "[AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises)." -{% data reusables.billing.new-billing-platform-permissions %} +{% data reusables.billing.enhanced-billing-platform-product %} To check if you have access: diff --git a/content/billing/using-the-new-billing-platform/about-billing-for-git-large-file-storage.md b/content/billing/using-the-new-billing-platform/about-billing-for-git-large-file-storage.md index 39e9f8f0d0ba..8c379ceda2c3 100644 --- a/content/billing/using-the-new-billing-platform/about-billing-for-git-large-file-storage.md +++ b/content/billing/using-the-new-billing-platform/about-billing-for-git-large-file-storage.md @@ -1,6 +1,6 @@ --- title: About billing for Git Large File Storage -intro: 'Learn about billing for {% data variables.large_files.product_name_long %}.' +intro: 'Learn about billing for {% data variables.large_files.product_name_long %} using the enhanced billing platform.' versions: feature: enhanced-billing-platform redirect_from: @@ -10,8 +10,9 @@ topics: - Billing - LFS - Enterprise + - Team shortTitle: About Git LFS billing -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' --- ## About billing for {% data variables.large_files.product_name_long %} diff --git a/content/billing/using-the-new-billing-platform/about-the-billing-cycle.md b/content/billing/using-the-new-billing-platform/about-the-billing-cycle.md index 87e0c4fedbf7..31055f7aef78 100644 --- a/content/billing/using-the-new-billing-platform/about-the-billing-cycle.md +++ b/content/billing/using-the-new-billing-platform/about-the-billing-cycle.md @@ -8,11 +8,16 @@ redirect_from: type: overview topics: - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' + - Team +product: '{% data reusables.billing.enhanced-billing-platform-product %}' --- ->[!IMPORTANT] If you are on not on the new billing platform, this article does not apply to you. To check if you are on the new billing platform, see "[How do I know if I can access the enhanced billing platform?](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises#how-do-i-know-if-i-can-access-the-enhanced-billing-platform)." For more information about the billing cycle for your enterprise account, see "[AUTOTITLE](/billing/using-the-billing-platform/changing-the-duration-of-your-billing-cycle#changing-the-duration-of-your-enterprise-accounts-billing-cycle)." +>[!IMPORTANT] {% ifversion fpt %}If you have a {% data variables.product.prodname_free_user %} plan or a {% data variables.product.prodname_pro %} plan, this article does not apply to you.{% elsif ghec %}If you have not migrated to the enhanced billing platform, this article does not apply to you.{% endif %} +> +> To check if you are on the enhanced billing platform, see "[How do I know if I can access the enhanced billing platform?](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises#how-do-i-know-if-i-can-access-the-enhanced-billing-platform)." -If your enterprise is on the new billing platform, you have a fixed billing period for metered usage which runs from the first day of the month to the last day of the month. When the month ends, the usage is scheduled to be billed on your bill cycle day. Your bill cycle day is dictated by the moment you converted from a trial to a paid enterprise account. For example, if you converted on the fifteenth of the month, you will be billed on the fifteenth of each subsequent month. +If your {% data variables.enterprise.enterprise_or_org %} uses the enhanced billing platform, you have a fixed billing period for metered usage which runs from the first day of the month to the last day of the month. When the month ends, the usage is scheduled to be billed on your bill cycle day. Your bill cycle day {% ifversion fpt %}is the day you created your organization. For example, if you created the account{% elsif ghec %}is dictated by the moment you converted from a trial to a paid enterprise account. For example, if you converted{% endif %} on the fifteenth of the month, you will be billed on the fifteenth of each subsequent month. -This applies to all products available through the new billing platform. +This applies to all products available through the enhanced billing platform. + +If still use the previous billing platform, for more information about the billing cycle for your account, see "[AUTOTITLE](/billing/using-the-billing-platform/changing-the-duration-of-your-billing-cycle)." diff --git a/content/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises.md b/content/billing/using-the-new-billing-platform/about-the-new-billing-platform.md similarity index 55% rename from content/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises.md rename to content/billing/using-the-new-billing-platform/about-the-new-billing-platform.md index 0adc76a78180..39fb88a385f2 100644 --- a/content/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises.md +++ b/content/billing/using-the-new-billing-platform/about-the-new-billing-platform.md @@ -1,22 +1,36 @@ --- -title: About the new billing platform for enterprises +title: About the new billing platform intro: Learn about the billing platform's key functionalities, and how it can help you manage your spending more effectively. versions: feature: enhanced-billing-platform redirect_from: - /billing/using-the-enhanced-billing-platform-for-enterprises/about-the-enhanced-billing-platform-for-enterprises + - /billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises type: overview topics: - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' + - Team +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: About the new billing platform --- -The new billing platform provides better spending control and detailed usage insights with granular controls. +The enhanced billing platform provides better spending control and detailed usage insights with granular controls. ## Available products -The following products are available in the new billing platform: +The products shown in the enhanced billing platform are determined by your {% data variables.product.github %} plan and subscriptions. + +### {% data variables.product.prodname_team %} + +* {% data variables.product.prodname_actions %} +* {% data variables.product.prodname_github_codespaces %} +* {% data variables.product.prodname_copilot %} +* {% data variables.product.prodname_registry %} +* {% data variables.large_files.product_name_long %} + +{% ifversion ghec %} + +### {% data variables.product.prodname_ghe_cloud %} * {% data variables.product.prodname_actions %} * {% data variables.product.prodname_GH_advanced_security %} (only available with a trial of {% data variables.product.prodname_ghe_cloud %}) @@ -32,25 +46,38 @@ The following products are available in the new billing platform: {% endif %} +{% endif %} + ## Key functionalities With the new billing platform, you can: -* **Estimate spending:** Understand where your (annual, monthly, etc.) spending is trending based on the usage across costs centers and budgets. +* **Estimate spending:** Understand where your (annual, monthly, etc.) spending is trending based on the usage across {% ifversion ghec %}cost centers and {% endif %}budgets. * **Gather insights and data:** Generate usage reports to share with your team or stakeholders, and know if you're on track with your budget. +{%- ifversion ghec %} * **Charge business units:** Improve accountability by creating and assigning organizations, repositories, and members to cost centers. +{%- endif %} * **Prevent overspending:** Use budgets and alerts to track and control your spending. * **Observe and understand spending:** Understand how your spending changes over time and across which products. ## How do I know if I can access the new billing platform? -{% data reusables.billing.new-billing-platform-permissions %} +{% data reusables.billing.enhanced-billing-platform-product %} + +{% data reusables.permissions.enhanced-billing-platform %} can check for access to the enhanced platform: -To check if you have access: +{% ifversion fpt %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} + +{% elsif ghec %} {% data reusables.enterprise-accounts.access-enterprise %} -If you have access, there will be a {% octicon "credit-card" aria-hidden="true" %} **Billing & Licensing** option in the enterprise account sidebar. +{% endif %} + +If you have access, there will be a {% octicon "credit-card" aria-hidden="true" %} **Billing & Licensing** option in the sidebar. If you do **not** have access to the new, enhanced billing platform, to find out more about your billing platform, see "[AUTOTITLE](/billing/using-the-billing-platform/about-billing-on-github)." ## Next steps diff --git a/content/billing/using-the-new-billing-platform/about-usage-based-billing-for-licenses.md b/content/billing/using-the-new-billing-platform/about-usage-based-billing-for-licenses.md index 305a0fab835f..02a53f48d3c3 100644 --- a/content/billing/using-the-new-billing-platform/about-usage-based-billing-for-licenses.md +++ b/content/billing/using-the-new-billing-platform/about-usage-based-billing-for-licenses.md @@ -1,6 +1,6 @@ --- title: About usage-based billing for licenses -intro: Learn about usage-based billing for your enterprise licenses, whether you pay through {% data variables.product.company_short %} or Azure. +intro: Learn about usage-based billing for your licenses with the enhanced billing platform, whether you pay through {% data variables.product.company_short %} or Azure. redirect_from: - /early-access/billing/managing-usage-based-billing-for-github-licenses-through-github - /early-access/billing/managing-usage-based-billing-for-github-licenses-through-azure @@ -9,19 +9,20 @@ redirect_from: - /early-access/billing/managing-usage-based-billing-for-github-licenses - /billing/using-the-enhanced-billing-platform-for-enterprises/about-usage-based-billing-for-licenses versions: - feature: enhanced-billing-platform + ghec: '*' type: overview topics: - Enterprise -permissions: Enterprise administrators +permissions: 'Enterprise administrators' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Usage-based billing for licenses --- -With the new billing platform, you pay monthly for the number of {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_GH_advanced_security %} licenses you use. You will not need to buy a predefined number of licenses in advance. +With the enhanced billing platform, you pay monthly for the number of {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_GH_advanced_security %} licenses you use. You will not need to buy a predefined number of licenses in advance. If a user starts consuming a license seat during the month, you will pay pro rata for the user's license usage that month. If a user stops consuming a license seat during the month, your bill for the following month will reflect the change. -Pending invitations to join an organization that belongs to your enterprise on {% data variables.product.prodname_dotcom_the_website %} do not consume a license. +Pending invitations to join an organization that belongs to your enterprise on {% data variables.product.github %} do not consume a license. {% data variables.visual_studio.prodname_vss_ghe %} is currently not supported for usage-based billing. @@ -31,5 +32,5 @@ You can use the following payment methods for usage-based billing for licenses: * Invoiced and self-serve {% data variables.product.prodname_enterprise %} customers can pay using a **credit card** or **PayPal** * Invoiced customers can also pay using **prepaid credits** (only available to customers who have a volume subscription with or without metered add-ons) -* You can connect an **Azure** subscription to your enterprise +* You can connect an **Azure** subscription to your enterprise account * For **purchase orders**, you can contact your account manager in {% data variables.contact.contact_enterprise_sales %} diff --git a/content/billing/using-the-new-billing-platform/adding-seats-to-your-account.md b/content/billing/using-the-new-billing-platform/adding-seats-to-your-account.md new file mode 100644 index 000000000000..bcd5a651f0df --- /dev/null +++ b/content/billing/using-the-new-billing-platform/adding-seats-to-your-account.md @@ -0,0 +1,44 @@ +--- +title: Adding seats to your account +intro: Learn how to add seats to your {% ifversion fpt %}organization{% elsif ghec %}enterprise{% endif %} account using the enhanced billing platform. +versions: + feature: enhanced-billing-platform +redirect_from: + - /billing/using-the-enhanced-billing-platform-for-enterprises/adding-seats-to-your-enterprise-account + - /billing/using-the-new-billing-platform/adding-seats-to-your-enterprise-account +type: overview +topics: + - Enterprise + - Team +permissions: '{% data reusables.permissions.enhanced-billing-platform %}' +shortTitle: Add seats to your account +--- + +{% ifversion ghec %} +>[!IMPORTANT] If you pay by invoice, you need to contact your account manager in {% data variables.contact.contact_enterprise_sales %} to add seats to your enterprise account. +{% endif %} + +If you have access to the new billing platform, you can add seats to your account through the "Licensing" page. To check if you have access, see "[AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises#how-do-i-know-if-i-can-access-the-new-billing-platform)." + +{% ifversion fpt %} +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} +1. Click **Licensing**. +1. In the {% data variables.product.prodname_team %} banner, click **Edit** and select **Add seats** to display the "Billing / Add seats" view. +1. Define the number of new seats you require. The details of the prorated cost for the remainder of the billing cycle and the total for your next bill are updated automatically. +1. When you have defined the number of additional seats to add, click **Add seats**. + +You can also use the **Edit** option to remove seats and see which users are using seats in your account. + +{% elsif ghec %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.billing.enterprise-billing-menu %} +1. Click **Licensing**. +1. Click {% octicon "kebab-horizontal" aria-label="Licensing dropdown" %} and then click **Manage seats**. +1. Under "Total Seats", enter a number of seats. +1. Click **Update seats**. + +{% endif %} diff --git a/content/billing/using-the-new-billing-platform/adding-seats-to-your-enterprise-account.md b/content/billing/using-the-new-billing-platform/adding-seats-to-your-enterprise-account.md deleted file mode 100644 index f77dc9eed58e..000000000000 --- a/content/billing/using-the-new-billing-platform/adding-seats-to-your-enterprise-account.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Adding seats to your enterprise account -intro: Learn how to add seats to your enterprise account using the new billing platform. -versions: - feature: enhanced-billing-platform -redirect_from: - - /billing/using-the-enhanced-billing-platform-for-enterprises/adding-seats-to-your-enterprise-account -type: overview -topics: - - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' -shortTitle: Add seats to your enterprise ---- - ->[!IMPORTANT] If you pay by invoice, you need to contact your account manager in {% data variables.contact.contact_enterprise_sales %} to add seats to your enterprise account. - -If you have access to the new billing platform, you can add seats to your enterprise account through the "Licensing" page. To check if you have access, see "[AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises#how-do-i-know-if-i-can-access-the-new-billing-platform)." - -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.settings-tab %} -{% data reusables.billing.enterprise-billing-menu %} -1. Click **Licensing**. -1. Click {% octicon "kebab-horizontal" aria-label="Licensing dropdown" %} and then click **Manage seats**. -1. Under "Total Seats", enter a number of seats. -1. Click **Update seats**. diff --git a/content/billing/using-the-new-billing-platform/charging-business-units.md b/content/billing/using-the-new-billing-platform/charging-business-units.md index dc5e1e869a22..ea97e846a0c7 100644 --- a/content/billing/using-the-new-billing-platform/charging-business-units.md +++ b/content/billing/using-the-new-billing-platform/charging-business-units.md @@ -2,13 +2,13 @@ title: Charging business units intro: 'Learn how to create and use cost centers to manage business units at scale.' versions: - feature: enhanced-billing-platform + ghec: '*' redirect_from: - /billing/using-the-enhanced-billing-platform-for-enterprises/charging-business-units type: how_to topics: - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Charge business units --- diff --git a/content/billing/using-the-new-billing-platform/estimating-spending-for-your-enterprise.md b/content/billing/using-the-new-billing-platform/estimating-spending.md similarity index 53% rename from content/billing/using-the-new-billing-platform/estimating-spending-for-your-enterprise.md rename to content/billing/using-the-new-billing-platform/estimating-spending.md index 0054ec292673..3907637001e7 100644 --- a/content/billing/using-the-new-billing-platform/estimating-spending-for-your-enterprise.md +++ b/content/billing/using-the-new-billing-platform/estimating-spending.md @@ -1,35 +1,52 @@ --- -title: Estimating spending for your enterprise -intro: 'Understand where your spending is trending based on the usage across products.' +title: Estimating spending +intro: 'Use the enhanced billing platform to understand where your spending is trending based on the usage across products.' versions: feature: enhanced-billing-platform redirect_from: - /billing/using-the-enhanced-billing-platform-for-enterprises/estimating-spending-for-your-enterprise + - /billing/using-the-new-billing-platform/estimating-spending-for-your-enterprise type: how_to topics: - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' + - Team +permissions: '{% data reusables.permissions.enhanced-billing-platform %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Estimate spending --- -The new billing platform provides a high-level view of your spending trends based on the usage across products. You can use this information to estimate your spending and make informed decisions about your budget. +The enhanced billing platform provides a high-level view of your spending trends based on the usage across products. You can use this information to estimate your spending and make informed decisions about your budget. ## Viewing your spending The "Overview" page provides a high-level view of your spending and budgets. +{% ifversion fpt %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} +{% endif %} + On this page, you can view your usage in the following categories: -* **Current metered usage:** The card on the top left shows the gross metered usage for your enterprise including all cost centers. Click **More details** to view a breakdown of the usage by cost center. -* **Metered usage:** The graph shows the gross metered usage for your enterprise including cost centers. +* **Current metered usage:** The card on the top left shows the gross metered usage for your {% data variables.enterprise.enterprise_or_org %}{% ifversion ghec %} including all cost centers. Click **More details** to view a breakdown of the usage by cost center{% endif %}. +* **Metered usage:** The graph shows the gross metered usage for your {% data variables.enterprise.enterprise_or_org %}{% ifversion ghec %} including cost centers{% endif %}. - To view a different time period, select **Time Frame**, then choose a time period. You can also download an image of the graph by clicking {% octicon "kebab-horizontal" aria-label="Open column options" %} on the right. + To view a different time period, select **Time Frame**, then choose a time period. You can also download an image or CSV of the graph by clicking {% octicon "kebab-horizontal" aria-label="Open column options" %} on the right. +{% ifversion fpt %} +* **By repository:** The card under the graph shows the top five repositories that generate the most usage. You can click {% octicon "kebab-horizontal" aria-label="Open column options" %} in the upper-right corner of each card to view all usage. +{% elsif ghec %} * **By organization** and **by repository:** The two cards under the graph show the top five organizations and repositories that generate the most usage. You can click {% octicon "kebab-horizontal" aria-label="Open column options" %} in the upper-right corner of each card to view all usage. -* **By products:** You can use the product tabs to view usage and discounts for different products. Only products with usage are shown. +{% endif %} +* **By products:** You can use the product tabs to view usage and discounts for different products. ![Screenshot of the product tabs section of the overview page.](/assets/images/help/billing/enhanced-billing-platform-products-tabs.png){% ifversion metered-ghe-ghas %} @@ -37,6 +54,8 @@ On this page, you can view your usage in the following categories: {% endif %} +{% ifversion ghec %} + ## Viewing prepaid credits Your prepaid credits are shown above the "Metered usage" graph. To add more prepaid credits, you can contact your account manager in {% data variables.contact.contact_enterprise_sales %}. @@ -47,8 +66,10 @@ If you don't currently use prepaid credits, but have a volume subscription and w In the "Current promotions and discounts" section in the top right, you can see the total amount of promotions and discounts applied to your account. Click **More details** to view a breakdown of the promotions and discounts. +{% endif %} + ## Tracking budgets -At the bottom of the page, under "Budgets", you can see budgets you have set, and how much you have spent against those budgets. By clicking {% octicon "kebab-horizontal" aria-label="Open column options" %} to the right of a budget, you can edit or delete the budget. +At the bottom of the page, under "Budgets", you can see your current budgets, and how much you have spent against those budgets. If your role provides access, you can edit or delete a budget by clicking {% octicon "kebab-horizontal" aria-label="Open column options" %} to the right of a budget. See "[AUTOTITLE](/billing/using-the-new-billing-platform/roles-for-the-new-billing-platform)." If you have used all of your budget, a red banner appears at the top of the page. You can click **Update your budget** to increase your budget. diff --git a/content/billing/using-the-new-billing-platform/gathering-insights-on-your-spending.md b/content/billing/using-the-new-billing-platform/gathering-insights-on-your-spending.md index 2537c9afe477..1e2b0e960db5 100644 --- a/content/billing/using-the-new-billing-platform/gathering-insights-on-your-spending.md +++ b/content/billing/using-the-new-billing-platform/gathering-insights-on-your-spending.md @@ -1,6 +1,6 @@ --- title: Gathering insights on your spending -intro: 'Get insights into the usage of your enterprise members.' +intro: 'Get insights into the usage of your {% data variables.enterprise.enterprise_or_org %} members.' versions: feature: enhanced-billing-platform redirect_from: @@ -8,21 +8,34 @@ redirect_from: type: how_to topics: - Enterprise -permissions: The new billing platform is available to all enterprise accounts, and organizations owned by enterprise accounts, created after June 2, 2024. Enterprises that participated in the {% data variables.release-phases.public_preview %} program also have access to the enhanced billing platform.

As an enterprise owner or billing manager you can view and download your enterprise's usage. As an organization owner, you can view and download usage for the organizations you manage + - Team +permissions: '{% data reusables.permissions.enhanced-billing-platform %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Gather insights --- The new billing platform provides you with the tools to: -* **Get insights** into the usage of your enterprise members to understand how your resources are being used. -* **Generate reports** on the usage of your enterprise members to import into your own tools for visualization and analysis. +* **Get insights** into the usage of your {% data variables.enterprise.enterprise_or_org %} members to understand how your resources are being used. +* **Generate reports** on the usage of your {% data variables.enterprise.enterprise_or_org %} members to import into your own tools for visualization and analysis. ## Viewing usage -You can view the usage of your enterprise members and download the usage data for further analysis. +You can view the usage of your {% data variables.enterprise.enterprise_or_org %} members and download the usage data for further analysis. + +{% ifversion fpt %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} + +{% endif %} + 1. Click **Usage**. 1. To search or filter the graph, click the search bar. Then click the filter you want to use. 1. To further filter the graph, use the dropdown menus. @@ -39,7 +52,17 @@ You can view the usage of your enterprise members and download the usage data fo ## Viewing license usage -You can view the license usage of your enterprise members and download the usage data for further analysis. The following license types are available: +You can view the license usage of your {% data variables.enterprise.enterprise_or_org %} members and download the usage data for further analysis. + +{% ifversion fpt %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} + +The following license types are available: * User * {% data variables.product.prodname_GH_advanced_security %} @@ -49,9 +72,14 @@ You can also view your active {% data variables.product.prodname_enterprise %} i {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} + +{% endif %} + 1. Click **Licensing**. 1. To download a CSV report of the license usage, click {% octicon "kebab-horizontal" aria-label="Licensing dropdown" %} to the right of the usage you want to download, then click {% octicon "download" aria-hidden="true" %} **CSV report**. ## Further reading -* "[AUTOTITLE](/rest/enterprise-admin/billing)" +{% ifversion ghec %} +* "[AUTOTITLE](/rest/enterprise-admin/billing)"{% endif %} +* "[AUTOTITLE](/billing/using-the-new-billing-platform/adding-seats-to-your-account)" diff --git a/content/billing/using-the-new-billing-platform/getting-started-with-the-new-billing-platform.md b/content/billing/using-the-new-billing-platform/getting-started-with-the-new-billing-platform.md index 441f64a416e9..885932c03602 100644 --- a/content/billing/using-the-new-billing-platform/getting-started-with-the-new-billing-platform.md +++ b/content/billing/using-the-new-billing-platform/getting-started-with-the-new-billing-platform.md @@ -1,6 +1,6 @@ --- title: Getting started with the new billing platform -intro: 'Learn how to start using the new billing platform for your enterprise account.' +intro: 'Learn how to start using the enhanced billing platform for your {% data variables.enterprise.enterprise_or_org %} account.' versions: feature: enhanced-billing-platform redirect_from: @@ -8,12 +8,22 @@ redirect_from: type: overview topics: - Enterprise -permissions: Enterprise administrators + - Team +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Get started --- -If you don't already have access to the new billing platform, there are three ways to get started. +If you don't already have access to the enhanced billing platform, you may be able to get started. +{% ifversion fpt %} +* If you are **new** to {% data variables.product.github %}, set up a {% data variables.product.prodname_team %} plan account. See [Team](https://github.com/pricing) on the {% data variables.product.github %} pricing page. +{% endif %} * If you are **new** to {% data variables.product.prodname_ghe_cloud %}, set up a trial of {% data variables.product.prodname_ghe_cloud %}. See "[AUTOTITLE](/admin/overview/setting-up-a-trial-of-github-enterprise-cloud)." +{% ifversion ghec %} * If you have an **existing** enterprise account and pay by **invoice**, contact your account manager in {% data variables.contact.contact_enterprise_sales %} to discuss switching when your contract renews. * If you have an **existing** enterprise account and pay via **credit card or PayPal**, wait for an in-product prompt to transition. +{% endif %} + +## Next steps + +* To **learn about billing cycles**, see "[AUTOTITLE](/billing/using-the-new-billing-platform/about-the-billing-cycle)." diff --git a/content/billing/using-the-new-billing-platform/index.md b/content/billing/using-the-new-billing-platform/index.md index 7290bb32dd11..938b24925876 100644 --- a/content/billing/using-the-new-billing-platform/index.md +++ b/content/billing/using-the-new-billing-platform/index.md @@ -1,21 +1,21 @@ --- title: Using the new billing platform shortTitle: New billing platform -intro: 'The new billing platform offers better spending control and detailed visibility to help you understand your usage with more granular controls.' +intro: 'The enhanced billing platform offers better spending control and detailed visibility to help you understand your usage with more granular controls.' redirect_from: - /early-access/billing/billing-private-beta - /billing/using-the-enhanced-billing-platform-for-enterprises -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' versions: feature: enhanced-billing-platform children: - - /about-the-new-billing-platform-for-enterprises + - /about-the-new-billing-platform - /getting-started-with-the-new-billing-platform - /about-the-billing-cycle - /about-usage-based-billing-for-licenses - - /adding-seats-to-your-enterprise-account + - /adding-seats-to-your-account - /roles-for-the-new-billing-platform - - /estimating-spending-for-your-enterprise + - /estimating-spending - /gathering-insights-on-your-spending - /charging-business-units - /preventing-overspending diff --git a/content/billing/using-the-new-billing-platform/managing-your-payment-and-billing-information.md b/content/billing/using-the-new-billing-platform/managing-your-payment-and-billing-information.md index 647bb43113dd..ced580a3b4ab 100644 --- a/content/billing/using-the-new-billing-platform/managing-your-payment-and-billing-information.md +++ b/content/billing/using-the-new-billing-platform/managing-your-payment-and-billing-information.md @@ -1,6 +1,6 @@ --- title: Managing your payment and billing information -intro: 'Learn how to manage your payment information and history, and update your billing contacts.' +intro: 'Learn how to manage your payment information and history, and update your billing contacts using the enhanced billing platform.' versions: feature: enhanced-billing-platform redirect_from: @@ -8,7 +8,9 @@ redirect_from: type: how_to topics: - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' + - Team +permissions: '{% data reusables.permissions.enhanced-billing-platform %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Manage your payment information --- @@ -18,9 +20,20 @@ You can view your payment information and history, and update your billing conta * PayPal * Azure Subscription ID +{% ifversion fpt %} + +## Connecting your Azure subscription + +You must know your Azure subscription ID. For more information, see the following documentation or [contact Azure support](https://azure.microsoft.com/support/). + +* "[AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription)" +* [Get subscription and tenant IDs in the Azure portal](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id) in the Microsoft Docs + +{% elsif ghec %} + ## Prerequisites for paying through Azure -* You must be new to {% data variables.product.prodname_ghe_cloud %} to begin with usage-based billing through an Azure subscription. If your company already uses {% data variables.product.prodname_dotcom %}, you can use {% data variables.product.prodname_importer_proper_name %} to migrate your resources to a new subscription that bills through Azure. For more information, see "[AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer)." +* You must be new to {% data variables.product.prodname_ghe_cloud %} to begin with usage-based billing through an Azure subscription. If your company already uses {% data variables.product.github %}, you can use {% data variables.product.prodname_importer_proper_name %} to migrate your resources to a new subscription that bills through Azure. For more information, see "[AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer)." * Prepaid usage is not currently available for usage-based billing through Azure. * You must know your Azure subscription ID. For more information, see the following documentation or [contact Azure support](https://azure.microsoft.com/support/). @@ -37,7 +50,9 @@ For more information, see "[AUTOTITLE](/billing/managing-the-plan-for-your-githu ## What does my Azure invoice look like? -After you connect your Azure subscription, usage for {% data variables.product.company_short %}'s products will appear on your Azure invoice, summarized by product family. For example, if you use this billing arrangement for {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_GH_advanced_security %}, usage and price excluding tax for each line item will appear as follows. +After you connect your Azure subscription, usage for {% data variables.product.company_short %}'s products will appear on your Azure invoice, summarized by product family. + +For example, if you use this billing arrangement for {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_GH_advanced_security %}, usage and price excluding tax for each line item will appear as follows. | Product Family Usage Charges | Total (excluding Tax) | | :- | :- | @@ -48,32 +63,49 @@ For more information about your Azure invoice, see [Understand terms on your Mic The {% data variables.product.company_short %} products on your Azure invoice are also MACC-eligible. For more information, see [Track your Microsoft Azure Consumption Commitment (MACC)](https://learn.microsoft.com/azure/cost-management-billing/manage/track-consumption-commitment) in the Microsoft Docs. +{% endif %} + ## Viewing payment information +{% ifversion fpt %} + +You can view and edit your billing information and update your payment method. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} + You can view and edit your billing information, update your payment method, and view active coupons. >[!NOTE] This only applies to invoiced enterprise accounts. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} + +{% endif %} + 1. Click **Payment information**. -1. Click {% octicon "pencil" aria-label="The edit icon" %} to edit your payment information or {% octicon "trash" aria-label="The trash icon" %} to delete your payment method. +1. Click **Edit** to edit your payment information or **Remove** to delete your payment method. 1. Follow the prompts. ## Viewing payment history You can view your payment history, including the date, amount, and payment method. You can also download past payments. -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.billing.enterprise-billing-menu %} +1. Display the **Billing & Licensing** section of the sidebar of the {% data variables.enterprise.enterprise_or_org %} settings. 1. Click **Payment history**. +{% ifversion ghec %} + ## Managing billing contacts You can add an email address to receive billing notifications regarding payments and budget threshold alerts. -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.billing.enterprise-billing-menu %} +1. Display the **Billing & Licensing** section of the sidebar of the enterprise settings. 1. Click **Billing contacts**. 1. Click **Add** in the upper-right corner and follow the prompt. 1. Click {% octicon "pencil" aria-label="The edit icon" %} to edit the primary billing contact or {% octicon "kebab-horizontal" aria-label="Show options" %} to either remove or make a contact the primary billing contact. + +{% endif %} diff --git a/content/billing/using-the-new-billing-platform/preventing-overspending.md b/content/billing/using-the-new-billing-platform/preventing-overspending.md index 3707a45e5785..5c8383b653ca 100644 --- a/content/billing/using-the-new-billing-platform/preventing-overspending.md +++ b/content/billing/using-the-new-billing-platform/preventing-overspending.md @@ -8,45 +8,72 @@ redirect_from: type: how_to topics: - Enterprise -permissions: '{% data reusables.billing.new-billing-platform-permissions %}' + - Team +permissions: '{% data reusables.permissions.enhanced-billing-platform %}' +product: '{% data reusables.billing.enhanced-billing-platform-product %}' shortTitle: Prevent overspending --- -Budgets and alerts allow you to track spending for your enterprise, organizations, repositories, or cost centers. By setting a monthly budget, you can monitor your spending and receive notifications by email when your spending exceeds certain preset percentages of your budget threshold. This can help you stay within your budget and avoid overspending. +Budgets and alerts allow you to track spending for your {% ifversion fpt %}organization{% elsif ghec %}enterprise, organizations, repositories, or cost centers{% endif %}. By setting a monthly budget, you can monitor your spending and receive notifications by email when your spending exceeds certain preset percentages of your budget threshold. This can help you stay within your budget and avoid overspending. The budget only applies to expenses incurred from the date of its creation onwards. Any expenses incurred prior to the creation of the budget will not be included in the calculations Budgets are not applicable to: -* Seat-based products such as {% data variables.product.prodname_copilot %}, {% data variables.product.prodname_GH_advanced_security %}, and {% data variables.product.prodname_enterprise %}. -* Pre-paid volume licenses. +* Seat-based products such as {% data variables.product.prodname_copilot %}{% ifversion fpt %} and {% data variables.product.prodname_team %}{% elsif ghec %}, {% data variables.product.prodname_GH_advanced_security %}, and {% data variables.product.prodname_enterprise %}. +* Pre-paid volume licenses{% endif %}. ## Viewing budgets -If you are an enterprise owner or billing manager, your enterprise's budget will be listed at the top of the "Budgets and alerts" page, followed by the budgets for your organizations and cost centers. As an organization owner, you will be able to view the budgets for your organizations, repositories, and cost centers. +If you are an {% data variables.enterprise.enterprise_or_org %} owner or billing manager, your {% data variables.enterprise.enterprise_or_org %}'s budget will be listed at the top of the "Budgets and alerts" page{% ifversion ghec %}, followed by the budgets for your organizations and cost centers. As an organization owner, you will be able to view the budgets for your organizations, repositories, and cost centers{% endif %}. + +{% ifversion fpt %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} + +{% endif %} + 1. Click **Budgets and alerts**. + +{% ifversion ghec %} 1. To filter by scope, select **Scope**, then choose a scope. +{% endif %} ## Creating a budget -As an enterprise owner or billing manager, you can set the budget for your enterprise, an organization within your enterprise, or a cost center. As an organization owner, you are able to set the budgets for the repositories you manage. +As an {% data variables.enterprise.enterprise_or_org %} owner{% ifversion ghec %} or billing manager{% endif %}, you can set the budget for your {% data variables.enterprise.enterprise_or_org %}{% ifversion ghec %}, an organization within your enterprise, or a cost center. As an organization owner, you are able to set the budgets for the repositories you manage{% endif %}. + +{% ifversion fpt %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} + +{% endif %} + 1. Click **Budgets and alerts**. 1. Click **New budget**. 1. Under "Products", select the metered product to include in this budget. 1. Under "Budget scope", set the scope of spending for this budget. 1. Under "Budget", set a budget amount. - To stop any usage and further spending once your enterprise or organization reaches the budget limit, select **Stop usage when budget limit is reached**. This does not apply to {% data variables.product.prodname_copilot %} usage. + To stop any usage and further spending once your {% ifversion fpt %}organization{% elsif ghec %}enterprise or organization{% endif %} reaches the budget limit, select **Stop usage when budget limit is reached**. This does not apply to {% data variables.product.prodname_copilot %} usage. >[!IMPORTANT] If you do not select **Stop usage when budget limit is reached**, you will be notified by email if you exceed your budget, but usage **will not** be stopped. -1. To receive an alert if your budget has reached 75%, 90% and 100% thresholds, select **Receive budget threshold alerts** under "Alerts". When the budget has reached the specific threshold, you will be notified via email and a banner on {% data variables.product.prodname_dotcom %}. You may opt out at any time. +1. To receive an alert if your budget has reached 75%, 90% and 100% thresholds, select **Receive budget threshold alerts** under "Alerts". When the budget has reached the specific threshold, you will be notified via email and a banner on {% data variables.product.github %}. You may opt out at any time. Under "Alert Recipients", select the people who will receive the alerts. @@ -54,9 +81,23 @@ As an enterprise owner or billing manager, you can set the budget for your enter ## Editing or deleting a budget +{% ifversion fpt %} + +As an organization owner, you can edit or delete a budget at any time, but you cannot change the budget scope. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.billing.org-billing-menu %} + +{% elsif ghec %} + You can edit or delete a budget at any time, but you cannot change the budget scope. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} + +{% endif %} + +1. Click **Budgets and alerts**. 1. To edit a budget, in the list of budgets, click {% octicon "kebab-horizontal" aria-label="View actions" %} next to the budget you want to edit, and click {% octicon "pencil" aria-hidden="true" %} **Edit** or {% octicon "trash" aria-hidden="true" %} **Delete**. 1. Follow the prompts. diff --git a/content/billing/using-the-new-billing-platform/roles-for-the-new-billing-platform.md b/content/billing/using-the-new-billing-platform/roles-for-the-new-billing-platform.md index 3daa3a7b494d..88dc465f48bc 100644 --- a/content/billing/using-the-new-billing-platform/roles-for-the-new-billing-platform.md +++ b/content/billing/using-the-new-billing-platform/roles-for-the-new-billing-platform.md @@ -1,6 +1,6 @@ --- title: Roles for the new billing platform -intro: 'Learn about the three different roles that have access to the new billing platform.' +intro: 'Learn about the different roles that can use the enhanced billing platform.' versions: feature: enhanced-billing-platform redirect_from: @@ -8,28 +8,46 @@ redirect_from: type: reference topics: - Enterprise -permissions: The new billing platform is available to all enterprise accounts, and organizations owned by enterprise accounts, created after June 2, 2024. Enterprises that participated in the {% data variables.release-phases.public_preview %} program also have access to the enhanced billing platform. + - Team +product: '{% data reusables.billing.enhanced-billing-platform-product %}' --- -Three roles have access to the new billing platform: enterprise owners, billing managers, and organization owners. See "[AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise)." +The following roles have access to the new billing platform: {% ifversion ghec %}enterprise owners, {% endif %}billing managers, and organization owners. {% ifversion fpt %}See "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization)."{% elsif ghec %}See "[AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise)."{% endif %} -## Enterprise owners and billing managers +{% ifversion ghec %} -As an enterprise owner or a billing manager, you can access the new billing platform for your enterprise account. You can: +## Enterprise owners and enterprise billing managers -* View all metered usage in your enterprise and set budgets for your enterprise and organizations. +You can: + +* View all metered usage for your account and set budgets for your {% data variables.enterprise.enterprise_and_org %}. * See enterprise usage, including costs for organizations and repositories. * Download CSV usage reports for products your enterprise is using. +* Set budgets for your {% data variables.enterprise.enterprise_and_org %}. * Create cost centers for all organizations within your enterprise. -* Set budgets for your enterprise and organizations. + +{% endif %} ## Organization owners -As an organization owner, you have administrative access to your organization. You can: +You have full administrative access to your organization. You can: -* View metered usage and budgets for the organizations and repositories you manage. +* View metered usage and budgets for your organization and its repositories. +* Set budgets for the organization and its repositories. +* Download CSV usage reports.{% ifversion ghec %} +* Create cost centers by grouping repositories you manage. * View promotions and discounts. * View spending for pre-purchased user licenses for {% data variables.product.prodname_enterprise %} or {% data variables.product.prodname_GH_advanced_security %} based on your usage. -* See organization usage and download CSV usage reports. -* Create cost centers by grouping repositories you manage. -* Set budgets for the repositories you manage. +{% endif %} + +{% ifversion fpt %} + +## Organization billing managers + +You can: + +* View all metered usage for your organization its repositories. +* View organization-level budgets. +* Download CSV usage reports. + +{% endif %} diff --git a/data/allowed-topics.js b/data/allowed-topics.js index ad1784a97c00..96e08988b48b 100644 --- a/data/allowed-topics.js +++ b/data/allowed-topics.js @@ -147,6 +147,7 @@ export default [ 'Storage', 'Support', 'Swift', + 'Team', 'Teams', 'Transcripts', 'Travis CI', diff --git a/data/features/enhanced-billing-platform.yml b/data/features/enhanced-billing-platform.yml index 2f0275b59dd9..c50a13574fd3 100644 --- a/data/features/enhanced-billing-platform.yml +++ b/data/features/enhanced-billing-platform.yml @@ -1,3 +1,4 @@ -# Versions for which the enhanced billing platform is available +# Versions for which the enhanced billing platform is available (GitHub Enterprise plan from June 2024 and GitHub Team plan from Nov 2024) versions: ghec: '*' + fpt: '*' diff --git a/data/reusables/billing/enhanced-billing-platform-product.md b/data/reusables/billing/enhanced-billing-platform-product.md new file mode 100644 index 000000000000..5daa30a475ba --- /dev/null +++ b/data/reusables/billing/enhanced-billing-platform-product.md @@ -0,0 +1,18 @@ +{% ifversion fpt %} + +Outside of {% data variables.product.prodname_ghe_cloud %}, the enhanced billing platform is available only to organization accounts created after November 13, 2024 on a {% data variables.product.prodname_team %} plan. It is currently **not** available to: + +* {% data variables.product.prodname_free_user %} +* {% data variables.product.prodname_pro %} +* Organizations that upgrade from {% data variables.product.prodname_free_user %} to {% data variables.product.prodname_team %} + +{% elsif ghec %} + +The enhanced billing platform is available to: + +* All enterprise accounts, and their organizations, created after June 2, 2024 +* Enterprises that participated in the {% data variables.release-phases.public_preview %} program + +Beginning in September 2024, {% data variables.product.company_short %} will migrate remaining enterprises to the new billing platform. Enterprises will receive a notice 30 days before their migration. See the [GitHub blog](https://github.blog/changelog/2024-09-24-enhanced-billing-platform-for-enterprises/). + +{% endif %} diff --git a/data/reusables/billing/enhanced-billing-platform.md b/data/reusables/billing/enhanced-billing-platform.md index 830c5fb92aa1..994d7fcd8a10 100644 --- a/data/reusables/billing/enhanced-billing-platform.md +++ b/data/reusables/billing/enhanced-billing-platform.md @@ -1,3 +1,3 @@ ->[!NOTE] Enterprise accounts, and organizations owned by enterprise accounts, created after June 2, 2024, have access to the enhanced billing platform. Enterprises that participated in the {% data variables.release-phases.public_preview %} program also have access to the enhanced billing platform. +>[!NOTE] {% ifversion fpt %}Organization accounts, created after November 13, 2024 on a {% data variables.product.prodname_team %} plan, have access to the enhanced billing platform.{% elsif ghec %}Enterprise accounts, and organizations owned by enterprise accounts, created after June 2, 2024, have access to the enhanced billing platform. Enterprises that participated in the {% data variables.release-phases.public_preview %} program also have access to the enhanced billing platform.{% endif %} > > The enhanced billing platform offers better spending control and detailed visibility to help you understand your usage with more granular controls. See "[AUTOTITLE](/billing/using-the-new-billing-platform)." diff --git a/data/reusables/billing/new-billing-platform-permissions.md b/data/reusables/billing/new-billing-platform-permissions.md deleted file mode 100644 index fb1cf79c26b2..000000000000 --- a/data/reusables/billing/new-billing-platform-permissions.md +++ /dev/null @@ -1,3 +0,0 @@ -The new billing platform is available to all enterprise accounts, and their organizations, created after June 2, 2024. Enterprises that participated in the {% data variables.release-phases.public_preview %} program also have access to the new billing platform. - -Beginning in September 2024, {% data variables.product.company_short %} will migrate remaining enterprises to the new billing platform. Enterprises will receive a notice 30 days before their migration. See the [GitHub blog](https://github.blog/changelog/2024-09-24-enhanced-billing-platform-for-enterprises/). diff --git a/data/reusables/billing/org-billing-menu.md b/data/reusables/billing/org-billing-menu.md new file mode 100644 index 000000000000..94755de5b6d0 --- /dev/null +++ b/data/reusables/billing/org-billing-menu.md @@ -0,0 +1 @@ +1. On the left side of the page, in the organization sidebar, click {% octicon "credit-card" aria-hidden="true" %} **Billing & Licensing**. diff --git a/data/reusables/permissions/enhanced-billing-platform.md b/data/reusables/permissions/enhanced-billing-platform.md new file mode 100644 index 000000000000..2cd49306c92c --- /dev/null +++ b/data/reusables/permissions/enhanced-billing-platform.md @@ -0,0 +1 @@ +{% ifversion fpt %}Organization owners and billing managers {% elsif ghec %}Enterprise owners, organization owners, and billing managers {% endif %} diff --git a/data/variables/enterprise.yml b/data/variables/enterprise.yml index ed5cc3380aa4..0b88e47eae54 100644 --- a/data/variables/enterprise.yml +++ b/data/variables/enterprise.yml @@ -29,3 +29,7 @@ ghes_azure_ad_app_link: '[GitHub Enterprise Server application](https://azuremar gh_enterprise: '{% ifversion ghec %}{% data variables.enterprise.data_residency %}{% elsif ghes %}{% data variables.product.prodname_ghe_server %}{% endif %}' gh_enterprise_domain: '{% ifversion ghec %}{% data variables.enterprise.data_residency_domain %}{% elsif ghes %}https://GHE_HOSTNAME{% endif %}' gh_enterprise_container_registry: '{% ifversion ghes %}https://containers.GHE_HOSTNAME/v2/{% elsif ghec %}https://containers.SUBDOMAIN.ghe.com{% endif %}' + +# For features that are available on more than one cloud account type +enterprise_or_org: '{% ifversion fpt %}organization{% elsif ghec %}enterprise{% endif %}' +enterprise_and_org: '{% ifversion fpt %}organization{% elsif ghec %}enterprise and organizations{% endif %}' From 4edaf8511c645b24c3ef743b823f0350f8f74ad0 Mon Sep 17 00:00:00 2001 From: Leo Balter <301201+leobalter@users.noreply.github.com> Date: Wed, 13 Nov 2024 08:41:24 -0800 Subject: [PATCH 5/7] Main docs for persistent commit signature records (#53030) Co-authored-by: Kevin Heis Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> --- .../about-commit-signature-verification.md | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index 49b134314123..90588be917fc 100644 --- a/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -26,9 +26,10 @@ You can sign commits and tags locally, to give other people confidence about the If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." {% endif %} -For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. {% data variables.product.product_name %} shows commits that were signed with such a key as "Verified" unless the key was marked as compromised. SSH keys don't have this capability. +For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. The GPG signature may include the information about it being expired or revoked. {% ifversion fpt or ghec %} + Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[AUTOTITLE](/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits)." Signing commits differs from signing off on a commit. For more information about signing off on commits, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." @@ -41,6 +42,24 @@ Signing commits differs from signing off on a commit. For more information about | **Unverified** | The commit is signed but the signature could not be verified. | No verification status | The commit is not signed. +### Persistent commit signature verification + +Regardless of the signature choice - GPG, SSH, or S/MIME - once a commit signature is verified, it remains verified within its repository's network. See "[AUTOTITLE](/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + +When a commit signature is verified upon being pushed to {% data variables.product.product_name %}, a verification record is stored alongside the commit. This record can't be edited and will persist so that signatures remain verified over time, even if signing keys are rotated, revoked, or if contributors leave the organization. + +The verification record includes a timestamp marking when the verification was completed. This persistent record ensures a consistent verified state, providing a stable history of contributions within the repository. You can view this timestamp by hovering over the "Verified" badge on {% data variables.product.product_name %} or by accessing the commit via the REST API, which includes a `verified_at` field. See "[AUTOTITLE](/rest/commits/commits)." + +Persistent commit signature verification applies to new commits pushed to {% data variables.product.product_name %}. For any commits that predate this feature, a persistent record will be created the next time the commit's signature is verified on {% data variables.product.product_name %}, helping ensure that verified statuses remain stable and reliable across the repository's history. + +#### Records persist even after revocation and expiration + +Persistent commit signature verification reflects the verified state of a commit at the time of verification. This means that if a signing key is later revoked, expired, or otherwise altered, previously verified commits retain their verified status based on the record created during the initial verification. {% data variables.product.product_name %} will not re-verify previously signed commits or retroactively adjust their verification status in response to changes in the key's state. Organizations may need to manage key states directly to align with their security policies, especially if frequent key rotation or revocation is planned. + +#### The verification record is scoped to its repository network + +The verification record is persistent across the repository network, meaning that if the same commit is pushed again to the same repository or to any of its forks, the existing verification record is reused. This allows {% data variables.product.product_name %} to maintain a consistent verified status across related repositories without re-verifying the commit each time it appears within the network. This persistence reinforces a unified and reliable view of commit authenticity across all instances of the commit within the repository network. + {% endif %} ### Signature verification for rebase and merge From 4f19ff381e77ea25dfc35851b32f611f2063aab6 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 13 Nov 2024 11:43:45 -0500 Subject: [PATCH 6/7] Update OpenAPI Description (#53090) --- src/github-apps/lib/config.json | 2 +- src/rest/data/fpt-2022-11-28/schema.json | 258 +++++++++++++- src/rest/data/ghec-2022-11-28/schema.json | 314 +++++++++++++++++- .../data/ghes-3.10-2022-11-28/schema.json | 2 +- .../data/ghes-3.11-2022-11-28/schema.json | 2 +- .../data/ghes-3.12-2022-11-28/schema.json | 2 +- .../data/ghes-3.13-2022-11-28/schema.json | 65 +++- .../data/ghes-3.14-2022-11-28/schema.json | 314 +++++++++++++++++- .../data/ghes-3.15-2022-11-28/schema.json | 314 +++++++++++++++++- src/rest/lib/config.json | 2 +- src/webhooks/data/fpt/schema.json | 18 + src/webhooks/data/ghec/schema.json | 18 + src/webhooks/lib/config.json | 2 +- 13 files changed, 1301 insertions(+), 12 deletions(-) diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 09a21e1e2a10..55f51e11f491 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "c9cd73bd34f020305d23f5d3b63e3c59624f1537" + "sha": "a0508cecd18ab26b525527e4ba35bd9c6d725c4f" } \ No newline at end of file diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index 5e00cd6ed419..025a5727a148 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -361700,6 +361700,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -361713,11 +361714,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -361738,6 +361741,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -361872,6 +361886,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -361971,6 +361994,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -361984,11 +362008,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -362009,6 +362035,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -362162,6 +362199,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -362185,6 +362223,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -362386,6 +362435,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -362409,6 +362459,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -367836,6 +367897,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -368602,6 +368691,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -368920,6 +369037,18 @@ "description": "The Relationship a Team has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the team has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, "id": { "type": "integer" }, @@ -369247,6 +369376,133 @@ "description": "The Relationship a User has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the user has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, + "inherited_from": { + "description": "Team the user has gotten the role through", + "type": "array", + "items": { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "notification_setting": { + "description": "The notification setting the team has set", + "type": "string", + "examples": [ + "notifications_enabled" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + }, "name": { "type": [ "string", @@ -461006,7 +461262,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index efd19b70e35d..03674fb8317a 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -379383,6 +379383,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -379396,11 +379397,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -379421,6 +379424,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -379555,6 +379569,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -379654,6 +379677,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -379667,11 +379691,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -379692,6 +379718,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -379845,6 +379882,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -379868,6 +379906,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -380069,6 +380118,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -380092,6 +380142,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -388695,6 +388756,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -389056,6 +389145,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -389823,6 +389940,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -390183,6 +390328,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -390569,6 +390742,18 @@ "description": "The Relationship a Team has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the team has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, "id": { "type": "integer" }, @@ -390896,6 +391081,133 @@ "description": "The Relationship a User has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the user has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, + "inherited_from": { + "description": "Team the user has gotten the role through", + "type": "array", + "items": { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "notification_setting": { + "description": "The notification setting the team has set", + "type": "string", + "examples": [ + "notifications_enabled" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + }, "name": { "type": [ "string", @@ -482799,7 +483111,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.10-2022-11-28/schema.json b/src/rest/data/ghes-3.10-2022-11-28/schema.json index 9f511c968908..ecc88d4f7107 100644 --- a/src/rest/data/ghes-3.10-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.10-2022-11-28/schema.json @@ -410448,7 +410448,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.11-2022-11-28/schema.json b/src/rest/data/ghes-3.11-2022-11-28/schema.json index f68234df3d77..a3ed0aeb1325 100644 --- a/src/rest/data/ghes-3.11-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.11-2022-11-28/schema.json @@ -416322,7 +416322,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.12-2022-11-28/schema.json b/src/rest/data/ghes-3.12-2022-11-28/schema.json index 1fa160785e3c..343d7d81207a 100644 --- a/src/rest/data/ghes-3.12-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.12-2022-11-28/schema.json @@ -419193,7 +419193,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.13-2022-11-28/schema.json b/src/rest/data/ghes-3.13-2022-11-28/schema.json index 545c9352913f..9c6ff785fd04 100644 --- a/src/rest/data/ghes-3.13-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.13-2022-11-28/schema.json @@ -94088,7 +94088,7 @@ } ], "previews": [], - "descriptionHTML": "

Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of 401 - Unauthorized, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access.

\n

Optionally, you can use the repositories or repository_ids body parameters to specify individual repositories that the installation access token can access. If you don't use repositories or repository_ids to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner.

\n

Optionally, use the permissions body parameter to specify the permissions that the installation access token should have. If permissions is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted.

\n

When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported.

\n

You must use a JWT to access this endpoint.

", + "descriptionHTML": "

Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of 401 - Unauthorized, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access.

\n

Optionally, you can use the repositories or repository_ids body parameters to specify individual repositories that the installation access token can access. If you don't use repositories or repository_ids to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner.

\n

Optionally, use the permissions body parameter to specify the permissions that the installation access token should have. If permissions is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted.

\n

You must use a JWT to access this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", @@ -326006,6 +326006,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326019,11 +326020,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -326044,6 +326047,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -326178,6 +326192,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -326277,6 +326300,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326290,11 +326314,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -326315,6 +326341,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -326468,6 +326505,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326491,6 +326529,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -326692,6 +326741,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326715,6 +326765,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -421563,7 +421624,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.14-2022-11-28/schema.json b/src/rest/data/ghes-3.14-2022-11-28/schema.json index 7fdad5e64c08..952051a3461a 100644 --- a/src/rest/data/ghes-3.14-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.14-2022-11-28/schema.json @@ -326018,6 +326018,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326031,11 +326032,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -326056,6 +326059,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -326190,6 +326204,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -326289,6 +326312,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326302,11 +326326,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -326327,6 +326353,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -326480,6 +326517,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326503,6 +326541,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -326704,6 +326753,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -326727,6 +326777,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -332626,6 +332687,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -332974,6 +333063,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -333741,6 +333858,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -334087,6 +334232,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -334473,6 +334646,18 @@ "description": "The Relationship a Team has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the team has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, "id": { "type": "integer" }, @@ -334800,6 +334985,133 @@ "description": "The Relationship a User has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the user has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, + "inherited_from": { + "description": "Team the user has gotten the role through", + "type": "array", + "items": { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "notification_setting": { + "description": "The notification setting the team has set", + "type": "string", + "examples": [ + "notifications_enabled" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + }, "name": { "type": [ "string", @@ -424561,7 +424873,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.15-2022-11-28/schema.json b/src/rest/data/ghes-3.15-2022-11-28/schema.json index 32d841bec2b3..c23ce897218f 100644 --- a/src/rest/data/ghes-3.15-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.15-2022-11-28/schema.json @@ -330778,6 +330778,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -330791,11 +330792,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -330816,6 +330819,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -330950,6 +330964,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -331049,6 +331072,7 @@ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -331062,11 +331086,13 @@ { "property_name": "service", "url": "https://api.github.com/orgs/github/properties/schema/service", + "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", + "source_type": "organization", "value_type": "string", "description": "Team owning the repository" } @@ -331087,6 +331113,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -331240,6 +331277,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -331263,6 +331301,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -331464,6 +331513,7 @@ "example": { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", + "source_type": "organization", "value_type": "single_select", "required": true, "default_value": "production", @@ -331487,6 +331537,17 @@ "format": "uri", "description": "The URL that can be used to fetch, update, or delete info about this property via the API." }, + "source_type": { + "type": "string", + "description": "The source type of the property", + "enum": [ + "organization", + "enterprise" + ], + "examples": [ + "organization" + ] + }, "value_type": { "type": "string", "enum": [ @@ -337386,6 +337447,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -337747,6 +337836,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -338514,6 +338631,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -338874,6 +339019,34 @@ "null" ] }, + "base_role": { + "type": [ + "string", + "null" + ], + "description": "The system role from which this role inherits permissions.", + "enum": [ + "read", + "triage", + "write", + "maintain", + "admin", + null + ] + }, + "source": { + "type": [ + "string", + "null" + ], + "description": "Source answers the question, \"where did this role come from?\"", + "enum": [ + "Organization", + "Enterprise", + "Predefined", + null + ] + }, "permissions": { "description": "A list of permissions included in this role.", "type": "array", @@ -339260,6 +339433,18 @@ "description": "The Relationship a Team has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the team has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, "id": { "type": "integer" }, @@ -339587,6 +339772,133 @@ "description": "The Relationship a User has with a role.", "type": "object", "properties": { + "assignment": { + "type": "string", + "description": "Determines if the user has a direct, indirect, or mixed relationship to a role", + "enum": [ + "direct", + "indirect", + "mixed" + ], + "examples": [ + "direct" + ] + }, + "inherited_from": { + "description": "Team the user has gotten the role through", + "type": "array", + "items": { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "notification_setting": { + "description": "The notification setting the team has set", + "type": "string", + "examples": [ + "notifications_enabled" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + }, "name": { "type": [ "string", @@ -429948,7 +430260,7 @@ } ], "previews": [], - "descriptionHTML": "

To download the asset's binary content, set the Accept header of the request to application/octet-stream. The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a 200 or 302 response.

", + "descriptionHTML": "

To download the asset's binary content:

\n
    \n
  • If within a browser, fetch the location specified in the browser_download_url key provided in the response.
  • \n
  • Alternatively, set the Accept header of the request to\napplication/octet-stream.\nThe API will either redirect the client to the location, or stream it directly if possible.\nAPI clients should handle both a 200 or 302 response.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index d09a8a75050f..73fe6df42048 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -50,5 +50,5 @@ ] } }, - "sha": "c9cd73bd34f020305d23f5d3b63e3c59624f1537" + "sha": "a0508cecd18ab26b525527e4ba35bd9c6d725c4f" } \ No newline at end of file diff --git a/src/webhooks/data/fpt/schema.json b/src/webhooks/data/fpt/schema.json index 223209c2c841..e58587bae59d 100644 --- a/src/webhooks/data/fpt/schema.json +++ b/src/webhooks/data/fpt/schema.json @@ -13239,6 +13239,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -13418,6 +13427,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", diff --git a/src/webhooks/data/ghec/schema.json b/src/webhooks/data/ghec/schema.json index cfb1129cedc9..ef60afd3c747 100644 --- a/src/webhooks/data/ghec/schema.json +++ b/src/webhooks/data/ghec/schema.json @@ -15573,6 +15573,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", @@ -15752,6 +15761,15 @@ "name": "url", "description": "

The URL that can be used to fetch, update, or delete info about this property via the API.

" }, + { + "type": "string", + "name": "source_type", + "description": "

The source type of the property

", + "enum": [ + "organization", + "enterprise" + ] + }, { "type": "string", "name": "value_type", diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index 453ba1382b22..86d7e59981ca 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "c9cd73bd34f020305d23f5d3b63e3c59624f1537" + "sha": "a0508cecd18ab26b525527e4ba35bd9c6d725c4f" } \ No newline at end of file From eb28c131b83927712f70fcb3132716b2f13fa457 Mon Sep 17 00:00:00 2001 From: Hector Alfaro Date: Wed, 13 Nov 2024 12:48:13 -0500 Subject: [PATCH 7/7] Support category, complexity, and industry for Copilot Cookbook landing page (#53072) --- .../components/context/CategoryLandingContext.tsx | 4 ++++ src/frame/lib/frontmatter.js | 14 ++++++++++++++ src/frame/middleware/context/generic-toc.ts | 8 ++++++++ src/landings/components/CategoryLanding.tsx | 11 ++++++++++- src/types.ts | 4 ++++ 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/frame/components/context/CategoryLandingContext.tsx b/src/frame/components/context/CategoryLandingContext.tsx index fa33b2fff1f5..38360a030c06 100644 --- a/src/frame/components/context/CategoryLandingContext.tsx +++ b/src/frame/components/context/CategoryLandingContext.tsx @@ -14,6 +14,10 @@ export type TocItem = { fullPath: string title: string intro: string + octicon?: string + category?: string[] + complexity?: string[] + industry?: string[] }> } diff --git a/src/frame/lib/frontmatter.js b/src/frame/lib/frontmatter.js index 7fb0dfb2d35d..5e7c855ca3c7 100644 --- a/src/frame/lib/frontmatter.js +++ b/src/frame/lib/frontmatter.js @@ -249,6 +249,20 @@ export const schema = { type: 'string', enum: ['audit-logs', 'codeql-cli', 'github-apps', 'graphql', 'rest', 'webhooks'], }, + // START category-landing tags + category: { + type: 'array', + }, + complexity: { + type: 'array', + }, + industry: { + type: 'array', + }, + octicon: { + type: 'string', + }, + // END category landing tags }, } diff --git a/src/frame/middleware/context/generic-toc.ts b/src/frame/middleware/context/generic-toc.ts index ed036cc53816..7f1ac7133ca3 100644 --- a/src/frame/middleware/context/generic-toc.ts +++ b/src/frame/middleware/context/generic-toc.ts @@ -122,6 +122,10 @@ async function getTocItems(node: Tree, context: Context, opts: Options): Promise node.childPages.filter(filterHidden).map(async (child) => { const { page } = child const title = await page.renderProp('rawTitle', context, { textOnly: true }) + const octicon = page.octicon ? page.octicon : null + const category = page.category ? page.category : null + const complexity = page.complexity ? page.complexity : null + const industry = page.industry ? page.industry : null let intro = null if (opts.renderIntros) { intro = '' @@ -152,6 +156,10 @@ async function getTocItems(node: Tree, context: Context, opts: Options): Promise title, fullPath, intro, + octicon, + category, + complexity, + industry, childTocItems, } as ToC }), diff --git a/src/landings/components/CategoryLanding.tsx b/src/landings/components/CategoryLanding.tsx index 70e36ac760b7..f47a0c6d14ba 100644 --- a/src/landings/components/CategoryLanding.tsx +++ b/src/landings/components/CategoryLanding.tsx @@ -53,7 +53,16 @@ export const CategoryLanding = () => {
    {onlyFlatItems.map((item, index) => (
  • - +
  • ))}
diff --git a/src/types.ts b/src/types.ts index 7d770d61251a..47d00dbd766f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -355,6 +355,10 @@ export type Page = { effectiveDate?: string fullTitle?: string render: (context: Context) => Promise + octicon?: string + category?: string[] + complexity?: string[] + industry?: string[] } type ChangeLog = {