...

Source file src/github.com/shurcooL/githubv4/input.go

Documentation: github.com/shurcooL/githubv4

     1  // Code generated by gen.go; DO NOT EDIT.
     2  
     3  package githubv4
     4  
     5  // Input represents one of the Input structs:
     6  //
     7  // AbortQueuedMigrationsInput, AbortRepositoryMigrationInput, AcceptEnterpriseAdministratorInvitationInput, AcceptEnterpriseMemberInvitationInput, AcceptTopicSuggestionInput, AddAssigneesToAssignableInput, AddCommentInput, AddDiscussionCommentInput, AddDiscussionPollVoteInput, AddEnterpriseOrganizationMemberInput, AddEnterpriseSupportEntitlementInput, AddLabelsToLabelableInput, AddProjectCardInput, AddProjectColumnInput, AddProjectV2DraftIssueInput, AddProjectV2ItemByIdInput, AddPullRequestReviewCommentInput, AddPullRequestReviewInput, AddPullRequestReviewThreadInput, AddPullRequestReviewThreadReplyInput, AddReactionInput, AddStarInput, AddUpvoteInput, AddVerifiableDomainInput, ApproveDeploymentsInput, ApproveVerifiableDomainInput, ArchiveProjectV2ItemInput, ArchiveRepositoryInput, AuditLogOrder, BranchNamePatternParametersInput, BulkSponsorship, CancelEnterpriseAdminInvitationInput, CancelEnterpriseMemberInvitationInput, CancelSponsorshipInput, ChangeUserStatusInput, CheckAnnotationData, CheckAnnotationRange, CheckRunAction, CheckRunFilter, CheckRunOutput, CheckRunOutputImage, CheckSuiteAutoTriggerPreference, CheckSuiteFilter, ClearLabelsFromLabelableInput, ClearProjectV2ItemFieldValueInput, CloneProjectInput, CloneTemplateRepositoryInput, CloseDiscussionInput, CloseIssueInput, ClosePullRequestInput, CodeScanningParametersInput, CodeScanningToolInput, CommitAuthor, CommitAuthorEmailPatternParametersInput, CommitContributionOrder, CommitMessage, CommitMessagePatternParametersInput, CommittableBranch, CommitterEmailPatternParametersInput, ContributionOrder, ConvertProjectCardNoteToIssueInput, ConvertProjectV2DraftIssueItemToIssueInput, ConvertPullRequestToDraftInput, CopyProjectV2Input, CreateAttributionInvitationInput, CreateBranchProtectionRuleInput, CreateCheckRunInput, CreateCheckSuiteInput, CreateCommitOnBranchInput, CreateDeploymentInput, CreateDeploymentStatusInput, CreateDiscussionInput, CreateEnterpriseOrganizationInput, CreateEnvironmentInput, CreateIpAllowListEntryInput, CreateIssueInput, CreateLabelInput, CreateLinkedBranchInput, CreateMigrationSourceInput, CreateProjectInput, CreateProjectV2FieldInput, CreateProjectV2Input, CreateProjectV2StatusUpdateInput, CreatePullRequestInput, CreateRefInput, CreateRepositoryInput, CreateRepositoryRulesetInput, CreateSponsorsListingInput, CreateSponsorsTierInput, CreateSponsorshipInput, CreateSponsorshipsInput, CreateTeamDiscussionCommentInput, CreateTeamDiscussionInput, CreateUserListInput, DeclineTopicSuggestionInput, DeleteBranchProtectionRuleInput, DeleteDeploymentInput, DeleteDiscussionCommentInput, DeleteDiscussionInput, DeleteEnvironmentInput, DeleteIpAllowListEntryInput, DeleteIssueCommentInput, DeleteIssueInput, DeleteLabelInput, DeleteLinkedBranchInput, DeletePackageVersionInput, DeleteProjectCardInput, DeleteProjectColumnInput, DeleteProjectInput, DeleteProjectV2FieldInput, DeleteProjectV2Input, DeleteProjectV2ItemInput, DeleteProjectV2StatusUpdateInput, DeleteProjectV2WorkflowInput, DeletePullRequestReviewCommentInput, DeletePullRequestReviewInput, DeleteRefInput, DeleteRepositoryRulesetInput, DeleteTeamDiscussionCommentInput, DeleteTeamDiscussionInput, DeleteUserListInput, DeleteVerifiableDomainInput, DeploymentOrder, DequeuePullRequestInput, DisablePullRequestAutoMergeInput, DiscussionOrder, DiscussionPollOptionOrder, DismissPullRequestReviewInput, DismissRepositoryVulnerabilityAlertInput, DraftPullRequestReviewComment, DraftPullRequestReviewThread, EnablePullRequestAutoMergeInput, EnqueuePullRequestInput, EnterpriseAdministratorInvitationOrder, EnterpriseMemberInvitationOrder, EnterpriseMemberOrder, EnterpriseOrder, EnterpriseServerInstallationOrder, EnterpriseServerUserAccountEmailOrder, EnterpriseServerUserAccountOrder, EnterpriseServerUserAccountsUploadOrder, Environments, FileAddition, FileChanges, FileDeletion, FileExtensionRestrictionParametersInput, FilePathRestrictionParametersInput, FollowOrganizationInput, FollowUserInput, GistOrder, GrantEnterpriseOrganizationsMigratorRoleInput, GrantMigratorRoleInput, ImportProjectInput, InviteEnterpriseAdminInput, InviteEnterpriseMemberInput, IpAllowListEntryOrder, IssueCommentOrder, IssueFilters, IssueOrder, LabelOrder, LanguageOrder, LinkProjectV2ToRepositoryInput, LinkProjectV2ToTeamInput, LinkRepositoryToProjectInput, LockLockableInput, MannequinOrder, MarkDiscussionCommentAsAnswerInput, MarkFileAsViewedInput, MarkNotificationAsDoneInput, MarkProjectV2AsTemplateInput, MarkPullRequestReadyForReviewInput, MaxFilePathLengthParametersInput, MaxFileSizeParametersInput, MergeBranchInput, MergePullRequestInput, MergeQueueParametersInput, MilestoneOrder, MinimizeCommentInput, MoveProjectCardInput, MoveProjectColumnInput, OrgEnterpriseOwnerOrder, OrganizationOrder, PackageFileOrder, PackageOrder, PackageVersionOrder, PinEnvironmentInput, PinIssueInput, PinnedEnvironmentOrder, ProjectCardImport, ProjectColumnImport, ProjectOrder, ProjectV2Collaborator, ProjectV2FieldOrder, ProjectV2FieldValue, ProjectV2Filters, ProjectV2ItemFieldValueOrder, ProjectV2ItemOrder, ProjectV2Order, ProjectV2SingleSelectFieldOptionInput, ProjectV2StatusOrder, ProjectV2ViewOrder, ProjectV2WorkflowOrder, PropertyTargetDefinitionInput, PublishSponsorsTierInput, PullRequestOrder, PullRequestParametersInput, ReactionOrder, RefNameConditionTargetInput, RefOrder, RefUpdate, RegenerateEnterpriseIdentityProviderRecoveryCodesInput, RegenerateVerifiableDomainTokenInput, RejectDeploymentsInput, ReleaseOrder, RemoveAssigneesFromAssignableInput, RemoveEnterpriseAdminInput, RemoveEnterpriseIdentityProviderInput, RemoveEnterpriseMemberInput, RemoveEnterpriseOrganizationInput, RemoveEnterpriseSupportEntitlementInput, RemoveLabelsFromLabelableInput, RemoveOutsideCollaboratorInput, RemoveReactionInput, RemoveStarInput, RemoveUpvoteInput, ReopenDiscussionInput, ReopenIssueInput, ReopenPullRequestInput, ReorderEnvironmentInput, RepositoryIdConditionTargetInput, RepositoryInvitationOrder, RepositoryMigrationOrder, RepositoryNameConditionTargetInput, RepositoryOrder, RepositoryPropertyConditionTargetInput, RepositoryRuleConditionsInput, RepositoryRuleInput, RepositoryRuleOrder, RepositoryRulesetBypassActorInput, RequestReviewsInput, RequiredDeploymentsParametersInput, RequiredStatusCheckInput, RequiredStatusChecksParametersInput, RerequestCheckSuiteInput, ResolveReviewThreadInput, RetireSponsorsTierInput, RevertPullRequestInput, RevokeEnterpriseOrganizationsMigratorRoleInput, RevokeMigratorRoleInput, RuleParametersInput, SavedReplyOrder, SecurityAdvisoryIdentifierFilter, SecurityAdvisoryOrder, SecurityVulnerabilityOrder, SetEnterpriseIdentityProviderInput, SetOrganizationInteractionLimitInput, SetRepositoryInteractionLimitInput, SetUserInteractionLimitInput, SponsorAndLifetimeValueOrder, SponsorOrder, SponsorableOrder, SponsorsActivityOrder, SponsorsTierOrder, SponsorshipNewsletterOrder, SponsorshipOrder, StarOrder, StartOrganizationMigrationInput, StartRepositoryMigrationInput, StatusCheckConfigurationInput, SubmitPullRequestReviewInput, TagNamePatternParametersInput, TeamDiscussionCommentOrder, TeamDiscussionOrder, TeamMemberOrder, TeamOrder, TeamRepositoryOrder, TransferEnterpriseOrganizationInput, TransferIssueInput, UnarchiveProjectV2ItemInput, UnarchiveRepositoryInput, UnfollowOrganizationInput, UnfollowUserInput, UnlinkProjectV2FromRepositoryInput, UnlinkProjectV2FromTeamInput, UnlinkRepositoryFromProjectInput, UnlockLockableInput, UnmarkDiscussionCommentAsAnswerInput, UnmarkFileAsViewedInput, UnmarkIssueAsDuplicateInput, UnmarkProjectV2AsTemplateInput, UnminimizeCommentInput, UnpinIssueInput, UnresolveReviewThreadInput, UnsubscribeFromNotificationsInput, UpdateBranchProtectionRuleInput, UpdateCheckRunInput, UpdateCheckSuitePreferencesInput, UpdateDiscussionCommentInput, UpdateDiscussionInput, UpdateEnterpriseAdministratorRoleInput, UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput, UpdateEnterpriseDefaultRepositoryPermissionSettingInput, UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput, UpdateEnterpriseMembersCanCreateRepositoriesSettingInput, UpdateEnterpriseMembersCanDeleteIssuesSettingInput, UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput, UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput, UpdateEnterpriseMembersCanMakePurchasesSettingInput, UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput, UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput, UpdateEnterpriseOrganizationProjectsSettingInput, UpdateEnterpriseOwnerOrganizationRoleInput, UpdateEnterpriseProfileInput, UpdateEnterpriseRepositoryProjectsSettingInput, UpdateEnterpriseTeamDiscussionsSettingInput, UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput, UpdateEnvironmentInput, UpdateIpAllowListEnabledSettingInput, UpdateIpAllowListEntryInput, UpdateIpAllowListForInstalledAppsEnabledSettingInput, UpdateIssueCommentInput, UpdateIssueInput, UpdateLabelInput, UpdateNotificationRestrictionSettingInput, UpdateOrganizationAllowPrivateRepositoryForkingSettingInput, UpdateOrganizationWebCommitSignoffSettingInput, UpdateParametersInput, UpdatePatreonSponsorabilityInput, UpdateProjectCardInput, UpdateProjectColumnInput, UpdateProjectInput, UpdateProjectV2CollaboratorsInput, UpdateProjectV2DraftIssueInput, UpdateProjectV2Input, UpdateProjectV2ItemFieldValueInput, UpdateProjectV2ItemPositionInput, UpdateProjectV2StatusUpdateInput, UpdatePullRequestBranchInput, UpdatePullRequestInput, UpdatePullRequestReviewCommentInput, UpdatePullRequestReviewInput, UpdateRefInput, UpdateRefsInput, UpdateRepositoryInput, UpdateRepositoryRulesetInput, UpdateRepositoryWebCommitSignoffSettingInput, UpdateSponsorshipPreferencesInput, UpdateSubscriptionInput, UpdateTeamDiscussionCommentInput, UpdateTeamDiscussionInput, UpdateTeamReviewAssignmentInput, UpdateTeamsRepositoryInput, UpdateTopicsInput, UpdateUserListInput, UpdateUserListsForItemInput, UserStatusOrder, VerifiableDomainOrder, VerifyVerifiableDomainInput, WorkflowFileReferenceInput, WorkflowRunOrder, WorkflowsParametersInput.
     8  type Input interface{}
     9  
    10  // AbortQueuedMigrationsInput is an autogenerated input type of AbortQueuedMigrations.
    11  type AbortQueuedMigrationsInput struct {
    12  	// The ID of the organization that is running the migrations. (Required.)
    13  	OwnerID ID `json:"ownerId"`
    14  
    15  	// A unique identifier for the client performing the mutation. (Optional.)
    16  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    17  }
    18  
    19  // AbortRepositoryMigrationInput is an autogenerated input type of AbortRepositoryMigration.
    20  type AbortRepositoryMigrationInput struct {
    21  	// The ID of the migration to be aborted. (Required.)
    22  	MigrationID ID `json:"migrationId"`
    23  
    24  	// A unique identifier for the client performing the mutation. (Optional.)
    25  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    26  }
    27  
    28  // AcceptEnterpriseAdministratorInvitationInput is an autogenerated input type of AcceptEnterpriseAdministratorInvitation.
    29  type AcceptEnterpriseAdministratorInvitationInput struct {
    30  	// The id of the invitation being accepted. (Required.)
    31  	InvitationID ID `json:"invitationId"`
    32  
    33  	// A unique identifier for the client performing the mutation. (Optional.)
    34  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    35  }
    36  
    37  // AcceptEnterpriseMemberInvitationInput is an autogenerated input type of AcceptEnterpriseMemberInvitation.
    38  type AcceptEnterpriseMemberInvitationInput struct {
    39  	// The id of the invitation being accepted. (Required.)
    40  	InvitationID ID `json:"invitationId"`
    41  
    42  	// A unique identifier for the client performing the mutation. (Optional.)
    43  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    44  }
    45  
    46  // AcceptTopicSuggestionInput is an autogenerated input type of AcceptTopicSuggestion.
    47  type AcceptTopicSuggestionInput struct {
    48  
    49  	// A unique identifier for the client performing the mutation. (Optional.)
    50  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    51  	// The Node ID of the repository. **Upcoming Change on 2024-04-01 UTC** **Description:** `repositoryId` will be removed. **Reason:** Suggested topics are no longer supported. (Optional.)
    52  	RepositoryID *ID `json:"repositoryId,omitempty"`
    53  	// The name of the suggested topic. **Upcoming Change on 2024-04-01 UTC** **Description:** `name` will be removed. **Reason:** Suggested topics are no longer supported. (Optional.)
    54  	Name *String `json:"name,omitempty"`
    55  }
    56  
    57  // AddAssigneesToAssignableInput is an autogenerated input type of AddAssigneesToAssignable.
    58  type AddAssigneesToAssignableInput struct {
    59  	// The id of the assignable object to add assignees to. (Required.)
    60  	AssignableID ID `json:"assignableId"`
    61  	// The id of users to add as assignees. (Required.)
    62  	AssigneeIDs []ID `json:"assigneeIds"`
    63  
    64  	// A unique identifier for the client performing the mutation. (Optional.)
    65  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    66  }
    67  
    68  // AddCommentInput is an autogenerated input type of AddComment.
    69  type AddCommentInput struct {
    70  	// The Node ID of the subject to modify. (Required.)
    71  	SubjectID ID `json:"subjectId"`
    72  	// The contents of the comment. (Required.)
    73  	Body String `json:"body"`
    74  
    75  	// A unique identifier for the client performing the mutation. (Optional.)
    76  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    77  }
    78  
    79  // AddDiscussionCommentInput is an autogenerated input type of AddDiscussionComment.
    80  type AddDiscussionCommentInput struct {
    81  	// The Node ID of the discussion to comment on. (Required.)
    82  	DiscussionID ID `json:"discussionId"`
    83  	// The contents of the comment. (Required.)
    84  	Body String `json:"body"`
    85  
    86  	// A unique identifier for the client performing the mutation. (Optional.)
    87  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    88  	// The Node ID of the discussion comment within this discussion to reply to. (Optional.)
    89  	ReplyToID *ID `json:"replyToId,omitempty"`
    90  }
    91  
    92  // AddDiscussionPollVoteInput is an autogenerated input type of AddDiscussionPollVote.
    93  type AddDiscussionPollVoteInput struct {
    94  	// The Node ID of the discussion poll option to vote for. (Required.)
    95  	PollOptionID ID `json:"pollOptionId"`
    96  
    97  	// A unique identifier for the client performing the mutation. (Optional.)
    98  	ClientMutationID *String `json:"clientMutationId,omitempty"`
    99  }
   100  
   101  // AddEnterpriseOrganizationMemberInput is an autogenerated input type of AddEnterpriseOrganizationMember.
   102  type AddEnterpriseOrganizationMemberInput struct {
   103  	// The ID of the enterprise which owns the organization. (Required.)
   104  	EnterpriseID ID `json:"enterpriseId"`
   105  	// The ID of the organization the users will be added to. (Required.)
   106  	OrganizationID ID `json:"organizationId"`
   107  	// The IDs of the enterprise members to add. (Required.)
   108  	UserIDs []ID `json:"userIds"`
   109  
   110  	// A unique identifier for the client performing the mutation. (Optional.)
   111  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   112  	// The role to assign the users in the organization. (Optional.)
   113  	Role *OrganizationMemberRole `json:"role,omitempty"`
   114  }
   115  
   116  // AddEnterpriseSupportEntitlementInput is an autogenerated input type of AddEnterpriseSupportEntitlement.
   117  type AddEnterpriseSupportEntitlementInput struct {
   118  	// The ID of the Enterprise which the admin belongs to. (Required.)
   119  	EnterpriseID ID `json:"enterpriseId"`
   120  	// The login of a member who will receive the support entitlement. (Required.)
   121  	Login String `json:"login"`
   122  
   123  	// A unique identifier for the client performing the mutation. (Optional.)
   124  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   125  }
   126  
   127  // AddLabelsToLabelableInput is an autogenerated input type of AddLabelsToLabelable.
   128  type AddLabelsToLabelableInput struct {
   129  	// The id of the labelable object to add labels to. (Required.)
   130  	LabelableID ID `json:"labelableId"`
   131  	// The ids of the labels to add. (Required.)
   132  	LabelIDs []ID `json:"labelIds"`
   133  
   134  	// A unique identifier for the client performing the mutation. (Optional.)
   135  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   136  }
   137  
   138  // AddProjectCardInput is an autogenerated input type of AddProjectCard.
   139  type AddProjectCardInput struct {
   140  	// The Node ID of the ProjectColumn. (Required.)
   141  	ProjectColumnID ID `json:"projectColumnId"`
   142  
   143  	// A unique identifier for the client performing the mutation. (Optional.)
   144  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   145  	// The content of the card. Must be a member of the ProjectCardItem union. (Optional.)
   146  	ContentID *ID `json:"contentId,omitempty"`
   147  	// The note on the card. (Optional.)
   148  	Note *String `json:"note,omitempty"`
   149  }
   150  
   151  // AddProjectColumnInput is an autogenerated input type of AddProjectColumn.
   152  type AddProjectColumnInput struct {
   153  	// The Node ID of the project. (Required.)
   154  	ProjectID ID `json:"projectId"`
   155  	// The name of the column. (Required.)
   156  	Name String `json:"name"`
   157  
   158  	// A unique identifier for the client performing the mutation. (Optional.)
   159  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   160  }
   161  
   162  // AddProjectV2DraftIssueInput is an autogenerated input type of AddProjectV2DraftIssue.
   163  type AddProjectV2DraftIssueInput struct {
   164  	// The ID of the Project to add the draft issue to. (Required.)
   165  	ProjectID ID `json:"projectId"`
   166  	// The title of the draft issue. A project item can also be created by providing the URL of an Issue or Pull Request if you have access. (Required.)
   167  	Title String `json:"title"`
   168  
   169  	// A unique identifier for the client performing the mutation. (Optional.)
   170  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   171  	// The body of the draft issue. (Optional.)
   172  	Body *String `json:"body,omitempty"`
   173  	// The IDs of the assignees of the draft issue. (Optional.)
   174  	AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
   175  }
   176  
   177  // AddProjectV2ItemByIdInput is an autogenerated input type of AddProjectV2ItemById.
   178  type AddProjectV2ItemByIdInput struct {
   179  	// The ID of the Project to add the item to. (Required.)
   180  	ProjectID ID `json:"projectId"`
   181  	// The id of the Issue or Pull Request to add. (Required.)
   182  	ContentID ID `json:"contentId"`
   183  
   184  	// A unique identifier for the client performing the mutation. (Optional.)
   185  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   186  }
   187  
   188  // AddPullRequestReviewCommentInput is an autogenerated input type of AddPullRequestReviewComment.
   189  type AddPullRequestReviewCommentInput struct {
   190  
   191  	// A unique identifier for the client performing the mutation. (Optional.)
   192  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   193  	// The node ID of the pull request reviewing **Upcoming Change on 2023-10-01 UTC** **Description:** `pullRequestId` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   194  	PullRequestID *ID `json:"pullRequestId,omitempty"`
   195  	// The Node ID of the review to modify. **Upcoming Change on 2023-10-01 UTC** **Description:** `pullRequestReviewId` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   196  	PullRequestReviewID *ID `json:"pullRequestReviewId,omitempty"`
   197  	// The SHA of the commit to comment on. **Upcoming Change on 2023-10-01 UTC** **Description:** `commitOID` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   198  	CommitOID *GitObjectID `json:"commitOID,omitempty"`
   199  	// The text of the comment. This field is required **Upcoming Change on 2023-10-01 UTC** **Description:** `body` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   200  	Body *String `json:"body,omitempty"`
   201  	// The relative path of the file to comment on. **Upcoming Change on 2023-10-01 UTC** **Description:** `path` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   202  	Path *String `json:"path,omitempty"`
   203  	// The line index in the diff to comment on. **Upcoming Change on 2023-10-01 UTC** **Description:** `position` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   204  	Position *Int `json:"position,omitempty"`
   205  	// The comment id to reply to. **Upcoming Change on 2023-10-01 UTC** **Description:** `inReplyTo` will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead **Reason:** We are deprecating the addPullRequestReviewComment mutation. (Optional.)
   206  	InReplyTo *ID `json:"inReplyTo,omitempty"`
   207  }
   208  
   209  // AddPullRequestReviewInput is an autogenerated input type of AddPullRequestReview.
   210  type AddPullRequestReviewInput struct {
   211  	// The Node ID of the pull request to modify. (Required.)
   212  	PullRequestID ID `json:"pullRequestId"`
   213  
   214  	// A unique identifier for the client performing the mutation. (Optional.)
   215  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   216  	// The commit OID the review pertains to. (Optional.)
   217  	CommitOID *GitObjectID `json:"commitOID,omitempty"`
   218  	// The contents of the review body comment. (Optional.)
   219  	Body *String `json:"body,omitempty"`
   220  	// The event to perform on the pull request review. (Optional.)
   221  	Event *PullRequestReviewEvent `json:"event,omitempty"`
   222  	// The review line comments. **Upcoming Change on 2023-10-01 UTC** **Description:** `comments` will be removed. use the `threads` argument instead **Reason:** We are deprecating comment fields that use diff-relative positioning. (Optional.)
   223  	Comments *[]*DraftPullRequestReviewComment `json:"comments,omitempty"`
   224  	// The review line comment threads. (Optional.)
   225  	Threads *[]*DraftPullRequestReviewThread `json:"threads,omitempty"`
   226  }
   227  
   228  // AddPullRequestReviewThreadInput is an autogenerated input type of AddPullRequestReviewThread.
   229  type AddPullRequestReviewThreadInput struct {
   230  	// Path to the file being commented on. (Required.)
   231  	Path String `json:"path"`
   232  	// Body of the thread's first comment. (Required.)
   233  	Body String `json:"body"`
   234  
   235  	// A unique identifier for the client performing the mutation. (Optional.)
   236  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   237  	// The node ID of the pull request reviewing. (Optional.)
   238  	PullRequestID *ID `json:"pullRequestId,omitempty"`
   239  	// The Node ID of the review to modify. (Optional.)
   240  	PullRequestReviewID *ID `json:"pullRequestReviewId,omitempty"`
   241  	// The line of the blob to which the thread refers, required for line-level threads. The end of the line range for multi-line comments. (Optional.)
   242  	Line *Int `json:"line,omitempty"`
   243  	// The side of the diff on which the line resides. For multi-line comments, this is the side for the end of the line range. (Optional.)
   244  	Side *DiffSide `json:"side,omitempty"`
   245  	// The first line of the range to which the comment refers. (Optional.)
   246  	StartLine *Int `json:"startLine,omitempty"`
   247  	// The side of the diff on which the start line resides. (Optional.)
   248  	StartSide *DiffSide `json:"startSide,omitempty"`
   249  	// The level at which the comments in the corresponding thread are targeted, can be a diff line or a file. (Optional.)
   250  	SubjectType *PullRequestReviewThreadSubjectType `json:"subjectType,omitempty"`
   251  }
   252  
   253  // AddPullRequestReviewThreadReplyInput is an autogenerated input type of AddPullRequestReviewThreadReply.
   254  type AddPullRequestReviewThreadReplyInput struct {
   255  	// The Node ID of the thread to which this reply is being written. (Required.)
   256  	PullRequestReviewThreadID ID `json:"pullRequestReviewThreadId"`
   257  	// The text of the reply. (Required.)
   258  	Body String `json:"body"`
   259  
   260  	// A unique identifier for the client performing the mutation. (Optional.)
   261  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   262  	// The Node ID of the pending review to which the reply will belong. (Optional.)
   263  	PullRequestReviewID *ID `json:"pullRequestReviewId,omitempty"`
   264  }
   265  
   266  // AddReactionInput is an autogenerated input type of AddReaction.
   267  type AddReactionInput struct {
   268  	// The Node ID of the subject to modify. (Required.)
   269  	SubjectID ID `json:"subjectId"`
   270  	// The name of the emoji to react with. (Required.)
   271  	Content ReactionContent `json:"content"`
   272  
   273  	// A unique identifier for the client performing the mutation. (Optional.)
   274  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   275  }
   276  
   277  // AddStarInput is an autogenerated input type of AddStar.
   278  type AddStarInput struct {
   279  	// The Starrable ID to star. (Required.)
   280  	StarrableID ID `json:"starrableId"`
   281  
   282  	// A unique identifier for the client performing the mutation. (Optional.)
   283  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   284  }
   285  
   286  // AddUpvoteInput is an autogenerated input type of AddUpvote.
   287  type AddUpvoteInput struct {
   288  	// The Node ID of the discussion or comment to upvote. (Required.)
   289  	SubjectID ID `json:"subjectId"`
   290  
   291  	// A unique identifier for the client performing the mutation. (Optional.)
   292  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   293  }
   294  
   295  // AddVerifiableDomainInput is an autogenerated input type of AddVerifiableDomain.
   296  type AddVerifiableDomainInput struct {
   297  	// The ID of the owner to add the domain to. (Required.)
   298  	OwnerID ID `json:"ownerId"`
   299  	// The URL of the domain. (Required.)
   300  	Domain URI `json:"domain"`
   301  
   302  	// A unique identifier for the client performing the mutation. (Optional.)
   303  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   304  }
   305  
   306  // ApproveDeploymentsInput is an autogenerated input type of ApproveDeployments.
   307  type ApproveDeploymentsInput struct {
   308  	// The node ID of the workflow run containing the pending deployments. (Required.)
   309  	WorkflowRunID ID `json:"workflowRunId"`
   310  	// The ids of environments to reject deployments. (Required.)
   311  	EnvironmentIDs []ID `json:"environmentIds"`
   312  
   313  	// A unique identifier for the client performing the mutation. (Optional.)
   314  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   315  	// Optional comment for approving deployments. (Optional.)
   316  	Comment *String `json:"comment,omitempty"`
   317  }
   318  
   319  // ApproveVerifiableDomainInput is an autogenerated input type of ApproveVerifiableDomain.
   320  type ApproveVerifiableDomainInput struct {
   321  	// The ID of the verifiable domain to approve. (Required.)
   322  	ID ID `json:"id"`
   323  
   324  	// A unique identifier for the client performing the mutation. (Optional.)
   325  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   326  }
   327  
   328  // ArchiveProjectV2ItemInput is an autogenerated input type of ArchiveProjectV2Item.
   329  type ArchiveProjectV2ItemInput struct {
   330  	// The ID of the Project to archive the item from. (Required.)
   331  	ProjectID ID `json:"projectId"`
   332  	// The ID of the ProjectV2Item to archive. (Required.)
   333  	ItemID ID `json:"itemId"`
   334  
   335  	// A unique identifier for the client performing the mutation. (Optional.)
   336  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   337  }
   338  
   339  // ArchiveRepositoryInput is an autogenerated input type of ArchiveRepository.
   340  type ArchiveRepositoryInput struct {
   341  	// The ID of the repository to mark as archived. (Required.)
   342  	RepositoryID ID `json:"repositoryId"`
   343  
   344  	// A unique identifier for the client performing the mutation. (Optional.)
   345  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   346  }
   347  
   348  // AuditLogOrder represents ordering options for Audit Log connections.
   349  type AuditLogOrder struct {
   350  
   351  	// The field to order Audit Logs by. (Optional.)
   352  	Field *AuditLogOrderField `json:"field,omitempty"`
   353  	// The ordering direction. (Optional.)
   354  	Direction *OrderDirection `json:"direction,omitempty"`
   355  }
   356  
   357  // BranchNamePatternParametersInput represents parameters to be used for the branch_name_pattern rule.
   358  type BranchNamePatternParametersInput struct {
   359  	// The operator to use for matching. (Required.)
   360  	Operator String `json:"operator"`
   361  	// The pattern to match with. (Required.)
   362  	Pattern String `json:"pattern"`
   363  
   364  	// How this rule will appear to users. (Optional.)
   365  	Name *String `json:"name,omitempty"`
   366  	// If true, the rule will fail if the pattern matches. (Optional.)
   367  	Negate *Boolean `json:"negate,omitempty"`
   368  }
   369  
   370  // BulkSponsorship represents information about a sponsorship to make for a user or organization with a GitHub Sponsors profile, as part of sponsoring many users or organizations at once.
   371  type BulkSponsorship struct {
   372  	// The amount to pay to the sponsorable in US dollars. Valid values: 1-12000. (Required.)
   373  	Amount Int `json:"amount"`
   374  
   375  	// The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. (Optional.)
   376  	SponsorableID *ID `json:"sponsorableId,omitempty"`
   377  	// The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. (Optional.)
   378  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
   379  }
   380  
   381  // CancelEnterpriseAdminInvitationInput is an autogenerated input type of CancelEnterpriseAdminInvitation.
   382  type CancelEnterpriseAdminInvitationInput struct {
   383  	// The Node ID of the pending enterprise administrator invitation. (Required.)
   384  	InvitationID ID `json:"invitationId"`
   385  
   386  	// A unique identifier for the client performing the mutation. (Optional.)
   387  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   388  }
   389  
   390  // CancelEnterpriseMemberInvitationInput is an autogenerated input type of CancelEnterpriseMemberInvitation.
   391  type CancelEnterpriseMemberInvitationInput struct {
   392  	// The Node ID of the pending enterprise member invitation. (Required.)
   393  	InvitationID ID `json:"invitationId"`
   394  
   395  	// A unique identifier for the client performing the mutation. (Optional.)
   396  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   397  }
   398  
   399  // CancelSponsorshipInput is an autogenerated input type of CancelSponsorship.
   400  type CancelSponsorshipInput struct {
   401  
   402  	// A unique identifier for the client performing the mutation. (Optional.)
   403  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   404  	// The ID of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorLogin is not given. (Optional.)
   405  	SponsorID *ID `json:"sponsorId,omitempty"`
   406  	// The username of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorId is not given. (Optional.)
   407  	SponsorLogin *String `json:"sponsorLogin,omitempty"`
   408  	// The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. (Optional.)
   409  	SponsorableID *ID `json:"sponsorableId,omitempty"`
   410  	// The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. (Optional.)
   411  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
   412  }
   413  
   414  // ChangeUserStatusInput is an autogenerated input type of ChangeUserStatus.
   415  type ChangeUserStatusInput struct {
   416  
   417  	// A unique identifier for the client performing the mutation. (Optional.)
   418  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   419  	// The emoji to represent your status. Can either be a native Unicode emoji or an emoji name with colons, e.g., :grinning:. (Optional.)
   420  	Emoji *String `json:"emoji,omitempty"`
   421  	// A short description of your current status. (Optional.)
   422  	Message *String `json:"message,omitempty"`
   423  	// The ID of the organization whose members will be allowed to see the status. If omitted, the status will be publicly visible. (Optional.)
   424  	OrganizationID *ID `json:"organizationId,omitempty"`
   425  	// Whether this status should indicate you are not fully available on GitHub, e.g., you are away. (Optional.)
   426  	LimitedAvailability *Boolean `json:"limitedAvailability,omitempty"`
   427  	// If set, the user status will not be shown after this date. (Optional.)
   428  	ExpiresAt *DateTime `json:"expiresAt,omitempty"`
   429  }
   430  
   431  // CheckAnnotationData represents information from a check run analysis to specific lines of code.
   432  type CheckAnnotationData struct {
   433  	// The path of the file to add an annotation to. (Required.)
   434  	Path String `json:"path"`
   435  	// The location of the annotation. (Required.)
   436  	Location CheckAnnotationRange `json:"location"`
   437  	// Represents an annotation's information level. (Required.)
   438  	AnnotationLevel CheckAnnotationLevel `json:"annotationLevel"`
   439  	// A short description of the feedback for these lines of code. (Required.)
   440  	Message String `json:"message"`
   441  
   442  	// The title that represents the annotation. (Optional.)
   443  	Title *String `json:"title,omitempty"`
   444  	// Details about this annotation. (Optional.)
   445  	RawDetails *String `json:"rawDetails,omitempty"`
   446  }
   447  
   448  // CheckAnnotationRange represents information from a check run analysis to specific lines of code.
   449  type CheckAnnotationRange struct {
   450  	// The starting line of the range. (Required.)
   451  	StartLine Int `json:"startLine"`
   452  	// The ending line of the range. (Required.)
   453  	EndLine Int `json:"endLine"`
   454  
   455  	// The starting column of the range. (Optional.)
   456  	StartColumn *Int `json:"startColumn,omitempty"`
   457  	// The ending column of the range. (Optional.)
   458  	EndColumn *Int `json:"endColumn,omitempty"`
   459  }
   460  
   461  // CheckRunAction represents possible further actions the integrator can perform.
   462  type CheckRunAction struct {
   463  	// The text to be displayed on a button in the web UI. (Required.)
   464  	Label String `json:"label"`
   465  	// A short explanation of what this action would do. (Required.)
   466  	Description String `json:"description"`
   467  	// A reference for the action on the integrator's system. (Required.)
   468  	Identifier String `json:"identifier"`
   469  }
   470  
   471  // CheckRunFilter represents the filters that are available when fetching check runs.
   472  type CheckRunFilter struct {
   473  
   474  	// Filters the check runs by this type. (Optional.)
   475  	CheckType *CheckRunType `json:"checkType,omitempty"`
   476  	// Filters the check runs created by this application ID. (Optional.)
   477  	AppID *Int `json:"appId,omitempty"`
   478  	// Filters the check runs by this name. (Optional.)
   479  	CheckName *String `json:"checkName,omitempty"`
   480  	// Filters the check runs by this status. Superceded by statuses. (Optional.)
   481  	Status *CheckStatusState `json:"status,omitempty"`
   482  	// Filters the check runs by this status. Overrides status. (Optional.)
   483  	Statuses *[]CheckStatusState `json:"statuses,omitempty"`
   484  	// Filters the check runs by these conclusions. (Optional.)
   485  	Conclusions *[]CheckConclusionState `json:"conclusions,omitempty"`
   486  }
   487  
   488  // CheckRunOutput represents descriptive details about the check run.
   489  type CheckRunOutput struct {
   490  	// A title to provide for this check run. (Required.)
   491  	Title String `json:"title"`
   492  	// The summary of the check run (supports Commonmark). (Required.)
   493  	Summary String `json:"summary"`
   494  
   495  	// The details of the check run (supports Commonmark). (Optional.)
   496  	Text *String `json:"text,omitempty"`
   497  	// The annotations that are made as part of the check run. (Optional.)
   498  	Annotations *[]CheckAnnotationData `json:"annotations,omitempty"`
   499  	// Images attached to the check run output displayed in the GitHub pull request UI. (Optional.)
   500  	Images *[]CheckRunOutputImage `json:"images,omitempty"`
   501  }
   502  
   503  // CheckRunOutputImage represents images attached to the check run output displayed in the GitHub pull request UI.
   504  type CheckRunOutputImage struct {
   505  	// The alternative text for the image. (Required.)
   506  	Alt String `json:"alt"`
   507  	// The full URL of the image. (Required.)
   508  	ImageURL URI `json:"imageUrl"`
   509  
   510  	// A short image description. (Optional.)
   511  	Caption *String `json:"caption,omitempty"`
   512  }
   513  
   514  // CheckSuiteAutoTriggerPreference represents the auto-trigger preferences that are available for check suites.
   515  type CheckSuiteAutoTriggerPreference struct {
   516  	// The node ID of the application that owns the check suite. (Required.)
   517  	AppID ID `json:"appId"`
   518  	// Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository. (Required.)
   519  	Setting Boolean `json:"setting"`
   520  }
   521  
   522  // CheckSuiteFilter represents the filters that are available when fetching check suites.
   523  type CheckSuiteFilter struct {
   524  
   525  	// Filters the check suites created by this application ID. (Optional.)
   526  	AppID *Int `json:"appId,omitempty"`
   527  	// Filters the check suites by this name. (Optional.)
   528  	CheckName *String `json:"checkName,omitempty"`
   529  }
   530  
   531  // ClearLabelsFromLabelableInput is an autogenerated input type of ClearLabelsFromLabelable.
   532  type ClearLabelsFromLabelableInput struct {
   533  	// The id of the labelable object to clear the labels from. (Required.)
   534  	LabelableID ID `json:"labelableId"`
   535  
   536  	// A unique identifier for the client performing the mutation. (Optional.)
   537  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   538  }
   539  
   540  // ClearProjectV2ItemFieldValueInput is an autogenerated input type of ClearProjectV2ItemFieldValue.
   541  type ClearProjectV2ItemFieldValueInput struct {
   542  	// The ID of the Project. (Required.)
   543  	ProjectID ID `json:"projectId"`
   544  	// The ID of the item to be cleared. (Required.)
   545  	ItemID ID `json:"itemId"`
   546  	// The ID of the field to be cleared. (Required.)
   547  	FieldID ID `json:"fieldId"`
   548  
   549  	// A unique identifier for the client performing the mutation. (Optional.)
   550  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   551  }
   552  
   553  // CloneProjectInput is an autogenerated input type of CloneProject.
   554  type CloneProjectInput struct {
   555  	// The owner ID to create the project under. (Required.)
   556  	TargetOwnerID ID `json:"targetOwnerId"`
   557  	// The source project to clone. (Required.)
   558  	SourceID ID `json:"sourceId"`
   559  	// Whether or not to clone the source project's workflows. (Required.)
   560  	IncludeWorkflows Boolean `json:"includeWorkflows"`
   561  	// The name of the project. (Required.)
   562  	Name String `json:"name"`
   563  
   564  	// A unique identifier for the client performing the mutation. (Optional.)
   565  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   566  	// The description of the project. (Optional.)
   567  	Body *String `json:"body,omitempty"`
   568  	// The visibility of the project, defaults to false (private). (Optional.)
   569  	Public *Boolean `json:"public,omitempty"`
   570  }
   571  
   572  // CloneTemplateRepositoryInput is an autogenerated input type of CloneTemplateRepository.
   573  type CloneTemplateRepositoryInput struct {
   574  	// The Node ID of the template repository. (Required.)
   575  	RepositoryID ID `json:"repositoryId"`
   576  	// The name of the new repository. (Required.)
   577  	Name String `json:"name"`
   578  	// The ID of the owner for the new repository. (Required.)
   579  	OwnerID ID `json:"ownerId"`
   580  	// Indicates the repository's visibility level. (Required.)
   581  	Visibility RepositoryVisibility `json:"visibility"`
   582  
   583  	// A unique identifier for the client performing the mutation. (Optional.)
   584  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   585  	// A short description of the new repository. (Optional.)
   586  	Description *String `json:"description,omitempty"`
   587  	// Whether to copy all branches from the template to the new repository. Defaults to copying only the default branch of the template. (Optional.)
   588  	IncludeAllBranches *Boolean `json:"includeAllBranches,omitempty"`
   589  }
   590  
   591  // CloseDiscussionInput is an autogenerated input type of CloseDiscussion.
   592  type CloseDiscussionInput struct {
   593  	// ID of the discussion to be closed. (Required.)
   594  	DiscussionID ID `json:"discussionId"`
   595  
   596  	// A unique identifier for the client performing the mutation. (Optional.)
   597  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   598  	// The reason why the discussion is being closed. (Optional.)
   599  	Reason *DiscussionCloseReason `json:"reason,omitempty"`
   600  }
   601  
   602  // CloseIssueInput is an autogenerated input type of CloseIssue.
   603  type CloseIssueInput struct {
   604  	// ID of the issue to be closed. (Required.)
   605  	IssueID ID `json:"issueId"`
   606  
   607  	// A unique identifier for the client performing the mutation. (Optional.)
   608  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   609  	// The reason the issue is to be closed. (Optional.)
   610  	StateReason *IssueClosedStateReason `json:"stateReason,omitempty"`
   611  }
   612  
   613  // ClosePullRequestInput is an autogenerated input type of ClosePullRequest.
   614  type ClosePullRequestInput struct {
   615  	// ID of the pull request to be closed. (Required.)
   616  	PullRequestID ID `json:"pullRequestId"`
   617  
   618  	// A unique identifier for the client performing the mutation. (Optional.)
   619  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   620  }
   621  
   622  // CodeScanningParametersInput represents choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated.
   623  type CodeScanningParametersInput struct {
   624  	// Tools that must provide code scanning results for this rule to pass. (Required.)
   625  	CodeScanningTools []CodeScanningToolInput `json:"codeScanningTools"`
   626  }
   627  
   628  // CodeScanningToolInput represents a tool that must provide code scanning results for this rule to pass.
   629  type CodeScanningToolInput struct {
   630  	// The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](${externalDocsUrl}/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels).". (Required.)
   631  	AlertsThreshold String `json:"alertsThreshold"`
   632  	// The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](${externalDocsUrl}/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels).". (Required.)
   633  	SecurityAlertsThreshold String `json:"securityAlertsThreshold"`
   634  	// The name of a code scanning tool. (Required.)
   635  	Tool String `json:"tool"`
   636  }
   637  
   638  // CommitAuthor specifies an author for filtering Git commits.
   639  type CommitAuthor struct {
   640  
   641  	// ID of a User to filter by. If non-null, only commits authored by this user will be returned. This field takes precedence over emails. (Optional.)
   642  	ID *ID `json:"id,omitempty"`
   643  	// Email addresses to filter by. Commits authored by any of the specified email addresses will be returned. (Optional.)
   644  	Emails *[]String `json:"emails,omitempty"`
   645  }
   646  
   647  // CommitAuthorEmailPatternParametersInput represents parameters to be used for the commit_author_email_pattern rule.
   648  type CommitAuthorEmailPatternParametersInput struct {
   649  	// The operator to use for matching. (Required.)
   650  	Operator String `json:"operator"`
   651  	// The pattern to match with. (Required.)
   652  	Pattern String `json:"pattern"`
   653  
   654  	// How this rule will appear to users. (Optional.)
   655  	Name *String `json:"name,omitempty"`
   656  	// If true, the rule will fail if the pattern matches. (Optional.)
   657  	Negate *Boolean `json:"negate,omitempty"`
   658  }
   659  
   660  // CommitContributionOrder represents ordering options for commit contribution connections.
   661  type CommitContributionOrder struct {
   662  	// The field by which to order commit contributions. (Required.)
   663  	Field CommitContributionOrderField `json:"field"`
   664  	// The ordering direction. (Required.)
   665  	Direction OrderDirection `json:"direction"`
   666  }
   667  
   668  // CommitMessage represents a message to include with a new commit.
   669  type CommitMessage struct {
   670  	// The headline of the message. (Required.)
   671  	Headline String `json:"headline"`
   672  
   673  	// The body of the message. (Optional.)
   674  	Body *String `json:"body,omitempty"`
   675  }
   676  
   677  // CommitMessagePatternParametersInput represents parameters to be used for the commit_message_pattern rule.
   678  type CommitMessagePatternParametersInput struct {
   679  	// The operator to use for matching. (Required.)
   680  	Operator String `json:"operator"`
   681  	// The pattern to match with. (Required.)
   682  	Pattern String `json:"pattern"`
   683  
   684  	// How this rule will appear to users. (Optional.)
   685  	Name *String `json:"name,omitempty"`
   686  	// If true, the rule will fail if the pattern matches. (Optional.)
   687  	Negate *Boolean `json:"negate,omitempty"`
   688  }
   689  
   690  // CommittableBranch represents a git ref for a commit to be appended to. The ref must be a branch, i.e. its fully qualified name must start with `refs/heads/` (although the input is not required to be fully qualified). The Ref may be specified by its global node ID or by the `repositoryNameWithOwner` and `branchName`. ### Examples Specify a branch using a global node ID: { "id": "MDM6UmVmMTpyZWZzL2hlYWRzL21haW4=" } Specify a branch using `repositoryNameWithOwner` and `branchName`: { "repositoryNameWithOwner": "github/graphql-client", "branchName": "main" }.
   691  type CommittableBranch struct {
   692  
   693  	// The Node ID of the Ref to be updated. (Optional.)
   694  	ID *ID `json:"id,omitempty"`
   695  	// The nameWithOwner of the repository to commit to. (Optional.)
   696  	RepositoryNameWithOwner *String `json:"repositoryNameWithOwner,omitempty"`
   697  	// The unqualified name of the branch to append the commit to. (Optional.)
   698  	BranchName *String `json:"branchName,omitempty"`
   699  }
   700  
   701  // CommitterEmailPatternParametersInput represents parameters to be used for the committer_email_pattern rule.
   702  type CommitterEmailPatternParametersInput struct {
   703  	// The operator to use for matching. (Required.)
   704  	Operator String `json:"operator"`
   705  	// The pattern to match with. (Required.)
   706  	Pattern String `json:"pattern"`
   707  
   708  	// How this rule will appear to users. (Optional.)
   709  	Name *String `json:"name,omitempty"`
   710  	// If true, the rule will fail if the pattern matches. (Optional.)
   711  	Negate *Boolean `json:"negate,omitempty"`
   712  }
   713  
   714  // ContributionOrder represents ordering options for contribution connections.
   715  type ContributionOrder struct {
   716  	// The ordering direction. (Required.)
   717  	Direction OrderDirection `json:"direction"`
   718  }
   719  
   720  // ConvertProjectCardNoteToIssueInput is an autogenerated input type of ConvertProjectCardNoteToIssue.
   721  type ConvertProjectCardNoteToIssueInput struct {
   722  	// The ProjectCard ID to convert. (Required.)
   723  	ProjectCardID ID `json:"projectCardId"`
   724  	// The ID of the repository to create the issue in. (Required.)
   725  	RepositoryID ID `json:"repositoryId"`
   726  
   727  	// A unique identifier for the client performing the mutation. (Optional.)
   728  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   729  	// The title of the newly created issue. Defaults to the card's note text. (Optional.)
   730  	Title *String `json:"title,omitempty"`
   731  	// The body of the newly created issue. (Optional.)
   732  	Body *String `json:"body,omitempty"`
   733  }
   734  
   735  // ConvertProjectV2DraftIssueItemToIssueInput is an autogenerated input type of ConvertProjectV2DraftIssueItemToIssue.
   736  type ConvertProjectV2DraftIssueItemToIssueInput struct {
   737  	// The ID of the draft issue ProjectV2Item to convert. (Required.)
   738  	ItemID ID `json:"itemId"`
   739  	// The ID of the repository to create the issue in. (Required.)
   740  	RepositoryID ID `json:"repositoryId"`
   741  
   742  	// A unique identifier for the client performing the mutation. (Optional.)
   743  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   744  }
   745  
   746  // ConvertPullRequestToDraftInput is an autogenerated input type of ConvertPullRequestToDraft.
   747  type ConvertPullRequestToDraftInput struct {
   748  	// ID of the pull request to convert to draft. (Required.)
   749  	PullRequestID ID `json:"pullRequestId"`
   750  
   751  	// A unique identifier for the client performing the mutation. (Optional.)
   752  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   753  }
   754  
   755  // CopyProjectV2Input is an autogenerated input type of CopyProjectV2.
   756  type CopyProjectV2Input struct {
   757  	// The ID of the source Project to copy. (Required.)
   758  	ProjectID ID `json:"projectId"`
   759  	// The owner ID of the new project. (Required.)
   760  	OwnerID ID `json:"ownerId"`
   761  	// The title of the project. (Required.)
   762  	Title String `json:"title"`
   763  
   764  	// A unique identifier for the client performing the mutation. (Optional.)
   765  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   766  	// Include draft issues in the new project. (Optional.)
   767  	IncludeDraftIssues *Boolean `json:"includeDraftIssues,omitempty"`
   768  }
   769  
   770  // CreateAttributionInvitationInput is an autogenerated input type of CreateAttributionInvitation.
   771  type CreateAttributionInvitationInput struct {
   772  	// The Node ID of the owner scoping the reattributable data. (Required.)
   773  	OwnerID ID `json:"ownerId"`
   774  	// The Node ID of the account owning the data to reattribute. (Required.)
   775  	SourceID ID `json:"sourceId"`
   776  	// The Node ID of the account which may claim the data. (Required.)
   777  	TargetID ID `json:"targetId"`
   778  
   779  	// A unique identifier for the client performing the mutation. (Optional.)
   780  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   781  }
   782  
   783  // CreateBranchProtectionRuleInput is an autogenerated input type of CreateBranchProtectionRule.
   784  type CreateBranchProtectionRuleInput struct {
   785  	// The global relay id of the repository in which a new branch protection rule should be created in. (Required.)
   786  	RepositoryID ID `json:"repositoryId"`
   787  	// The glob-like pattern used to determine matching branches. (Required.)
   788  	Pattern String `json:"pattern"`
   789  
   790  	// A unique identifier for the client performing the mutation. (Optional.)
   791  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   792  	// Are approving reviews required to update matching branches. (Optional.)
   793  	RequiresApprovingReviews *Boolean `json:"requiresApprovingReviews,omitempty"`
   794  	// Number of approving reviews required to update matching branches. (Optional.)
   795  	RequiredApprovingReviewCount *Int `json:"requiredApprovingReviewCount,omitempty"`
   796  	// Are commits required to be signed. (Optional.)
   797  	RequiresCommitSignatures *Boolean `json:"requiresCommitSignatures,omitempty"`
   798  	// Are merge commits prohibited from being pushed to this branch. (Optional.)
   799  	RequiresLinearHistory *Boolean `json:"requiresLinearHistory,omitempty"`
   800  	// Is branch creation a protected operation. (Optional.)
   801  	BlocksCreations *Boolean `json:"blocksCreations,omitempty"`
   802  	// Are force pushes allowed on this branch. (Optional.)
   803  	AllowsForcePushes *Boolean `json:"allowsForcePushes,omitempty"`
   804  	// Can this branch be deleted. (Optional.)
   805  	AllowsDeletions *Boolean `json:"allowsDeletions,omitempty"`
   806  	// Can admins override branch protection. (Optional.)
   807  	IsAdminEnforced *Boolean `json:"isAdminEnforced,omitempty"`
   808  	// Are status checks required to update matching branches. (Optional.)
   809  	RequiresStatusChecks *Boolean `json:"requiresStatusChecks,omitempty"`
   810  	// Are branches required to be up to date before merging. (Optional.)
   811  	RequiresStrictStatusChecks *Boolean `json:"requiresStrictStatusChecks,omitempty"`
   812  	// Are reviews from code owners required to update matching branches. (Optional.)
   813  	RequiresCodeOwnerReviews *Boolean `json:"requiresCodeOwnerReviews,omitempty"`
   814  	// Will new commits pushed to matching branches dismiss pull request review approvals. (Optional.)
   815  	DismissesStaleReviews *Boolean `json:"dismissesStaleReviews,omitempty"`
   816  	// Is dismissal of pull request reviews restricted. (Optional.)
   817  	RestrictsReviewDismissals *Boolean `json:"restrictsReviewDismissals,omitempty"`
   818  	// A list of User, Team, or App IDs allowed to dismiss reviews on pull requests targeting matching branches. (Optional.)
   819  	ReviewDismissalActorIDs *[]ID `json:"reviewDismissalActorIds,omitempty"`
   820  	// A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. (Optional.)
   821  	BypassPullRequestActorIDs *[]ID `json:"bypassPullRequestActorIds,omitempty"`
   822  	// A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. (Optional.)
   823  	BypassForcePushActorIDs *[]ID `json:"bypassForcePushActorIds,omitempty"`
   824  	// Is pushing to matching branches restricted. (Optional.)
   825  	RestrictsPushes *Boolean `json:"restrictsPushes,omitempty"`
   826  	// A list of User, Team, or App IDs allowed to push to matching branches. (Optional.)
   827  	PushActorIDs *[]ID `json:"pushActorIds,omitempty"`
   828  	// List of required status check contexts that must pass for commits to be accepted to matching branches. (Optional.)
   829  	RequiredStatusCheckContexts *[]String `json:"requiredStatusCheckContexts,omitempty"`
   830  	// The list of required status checks. (Optional.)
   831  	RequiredStatusChecks *[]RequiredStatusCheckInput `json:"requiredStatusChecks,omitempty"`
   832  	// Are successful deployments required before merging. (Optional.)
   833  	RequiresDeployments *Boolean `json:"requiresDeployments,omitempty"`
   834  	// The list of required deployment environments. (Optional.)
   835  	RequiredDeploymentEnvironments *[]String `json:"requiredDeploymentEnvironments,omitempty"`
   836  	// Are conversations required to be resolved before merging. (Optional.)
   837  	RequiresConversationResolution *Boolean `json:"requiresConversationResolution,omitempty"`
   838  	// Whether the most recent push must be approved by someone other than the person who pushed it. (Optional.)
   839  	RequireLastPushApproval *Boolean `json:"requireLastPushApproval,omitempty"`
   840  	// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. (Optional.)
   841  	LockBranch *Boolean `json:"lockBranch,omitempty"`
   842  	// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. (Optional.)
   843  	LockAllowsFetchAndMerge *Boolean `json:"lockAllowsFetchAndMerge,omitempty"`
   844  }
   845  
   846  // CreateCheckRunInput is an autogenerated input type of CreateCheckRun.
   847  type CreateCheckRunInput struct {
   848  	// The node ID of the repository. (Required.)
   849  	RepositoryID ID `json:"repositoryId"`
   850  	// The name of the check. (Required.)
   851  	Name String `json:"name"`
   852  	// The SHA of the head commit. (Required.)
   853  	HeadSha GitObjectID `json:"headSha"`
   854  
   855  	// A unique identifier for the client performing the mutation. (Optional.)
   856  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   857  	// The URL of the integrator's site that has the full details of the check. (Optional.)
   858  	DetailsURL *URI `json:"detailsUrl,omitempty"`
   859  	// A reference for the run on the integrator's system. (Optional.)
   860  	ExternalID *String `json:"externalId,omitempty"`
   861  	// The current status. (Optional.)
   862  	Status *RequestableCheckStatusState `json:"status,omitempty"`
   863  	// The time that the check run began. (Optional.)
   864  	StartedAt *DateTime `json:"startedAt,omitempty"`
   865  	// The final conclusion of the check. (Optional.)
   866  	Conclusion *CheckConclusionState `json:"conclusion,omitempty"`
   867  	// The time that the check run finished. (Optional.)
   868  	CompletedAt *DateTime `json:"completedAt,omitempty"`
   869  	// Descriptive details about the run. (Optional.)
   870  	Output *CheckRunOutput `json:"output,omitempty"`
   871  	// Possible further actions the integrator can perform, which a user may trigger. (Optional.)
   872  	Actions *[]CheckRunAction `json:"actions,omitempty"`
   873  }
   874  
   875  // CreateCheckSuiteInput is an autogenerated input type of CreateCheckSuite.
   876  type CreateCheckSuiteInput struct {
   877  	// The Node ID of the repository. (Required.)
   878  	RepositoryID ID `json:"repositoryId"`
   879  	// The SHA of the head commit. (Required.)
   880  	HeadSha GitObjectID `json:"headSha"`
   881  
   882  	// A unique identifier for the client performing the mutation. (Optional.)
   883  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   884  }
   885  
   886  // CreateCommitOnBranchInput is an autogenerated input type of CreateCommitOnBranch.
   887  type CreateCommitOnBranchInput struct {
   888  	// The Ref to be updated. Must be a branch. (Required.)
   889  	Branch CommittableBranch `json:"branch"`
   890  	// The commit message the be included with the commit. (Required.)
   891  	Message CommitMessage `json:"message"`
   892  	// The git commit oid expected at the head of the branch prior to the commit. (Required.)
   893  	ExpectedHeadOid GitObjectID `json:"expectedHeadOid"`
   894  
   895  	// A unique identifier for the client performing the mutation. (Optional.)
   896  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   897  	// A description of changes to files in this commit. (Optional.)
   898  	FileChanges *FileChanges `json:"fileChanges,omitempty"`
   899  }
   900  
   901  // CreateDeploymentInput is an autogenerated input type of CreateDeployment.
   902  type CreateDeploymentInput struct {
   903  	// The node ID of the repository. (Required.)
   904  	RepositoryID ID `json:"repositoryId"`
   905  	// The node ID of the ref to be deployed. (Required.)
   906  	RefID ID `json:"refId"`
   907  
   908  	// A unique identifier for the client performing the mutation. (Optional.)
   909  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   910  	// Attempt to automatically merge the default branch into the requested ref, defaults to true. (Optional.)
   911  	AutoMerge *Boolean `json:"autoMerge,omitempty"`
   912  	// The status contexts to verify against commit status checks. To bypass required contexts, pass an empty array. Defaults to all unique contexts. (Optional.)
   913  	RequiredContexts *[]String `json:"requiredContexts,omitempty"`
   914  	// Short description of the deployment. (Optional.)
   915  	Description *String `json:"description,omitempty"`
   916  	// Name for the target deployment environment. (Optional.)
   917  	Environment *String `json:"environment,omitempty"`
   918  	// Specifies a task to execute. (Optional.)
   919  	Task *String `json:"task,omitempty"`
   920  	// JSON payload with extra information about the deployment. (Optional.)
   921  	Payload *String `json:"payload,omitempty"`
   922  }
   923  
   924  // CreateDeploymentStatusInput is an autogenerated input type of CreateDeploymentStatus.
   925  type CreateDeploymentStatusInput struct {
   926  	// The node ID of the deployment. (Required.)
   927  	DeploymentID ID `json:"deploymentId"`
   928  	// The state of the deployment. (Required.)
   929  	State DeploymentStatusState `json:"state"`
   930  
   931  	// A unique identifier for the client performing the mutation. (Optional.)
   932  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   933  	// A short description of the status. Maximum length of 140 characters. (Optional.)
   934  	Description *String `json:"description,omitempty"`
   935  	// If provided, updates the environment of the deploy. Otherwise, does not modify the environment. (Optional.)
   936  	Environment *String `json:"environment,omitempty"`
   937  	// Sets the URL for accessing your environment. (Optional.)
   938  	EnvironmentURL *String `json:"environmentUrl,omitempty"`
   939  	// Adds a new inactive status to all non-transient, non-production environment deployments with the same repository and environment name as the created status's deployment. (Optional.)
   940  	AutoInactive *Boolean `json:"autoInactive,omitempty"`
   941  	// The log URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. (Optional.)
   942  	LogURL *String `json:"logUrl,omitempty"`
   943  }
   944  
   945  // CreateDiscussionInput is an autogenerated input type of CreateDiscussion.
   946  type CreateDiscussionInput struct {
   947  	// The id of the repository on which to create the discussion. (Required.)
   948  	RepositoryID ID `json:"repositoryId"`
   949  	// The title of the discussion. (Required.)
   950  	Title String `json:"title"`
   951  	// The body of the discussion. (Required.)
   952  	Body String `json:"body"`
   953  	// The id of the discussion category to associate with this discussion. (Required.)
   954  	CategoryID ID `json:"categoryId"`
   955  
   956  	// A unique identifier for the client performing the mutation. (Optional.)
   957  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   958  }
   959  
   960  // CreateEnterpriseOrganizationInput is an autogenerated input type of CreateEnterpriseOrganization.
   961  type CreateEnterpriseOrganizationInput struct {
   962  	// The ID of the enterprise owning the new organization. (Required.)
   963  	EnterpriseID ID `json:"enterpriseId"`
   964  	// The login of the new organization. (Required.)
   965  	Login String `json:"login"`
   966  	// The profile name of the new organization. (Required.)
   967  	ProfileName String `json:"profileName"`
   968  	// The email used for sending billing receipts. (Required.)
   969  	BillingEmail String `json:"billingEmail"`
   970  	// The logins for the administrators of the new organization. (Required.)
   971  	AdminLogins []String `json:"adminLogins"`
   972  
   973  	// A unique identifier for the client performing the mutation. (Optional.)
   974  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   975  }
   976  
   977  // CreateEnvironmentInput is an autogenerated input type of CreateEnvironment.
   978  type CreateEnvironmentInput struct {
   979  	// The node ID of the repository. (Required.)
   980  	RepositoryID ID `json:"repositoryId"`
   981  	// The name of the environment. (Required.)
   982  	Name String `json:"name"`
   983  
   984  	// A unique identifier for the client performing the mutation. (Optional.)
   985  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   986  }
   987  
   988  // CreateIpAllowListEntryInput is an autogenerated input type of CreateIpAllowListEntry.
   989  type CreateIpAllowListEntryInput struct {
   990  	// The ID of the owner for which to create the new IP allow list entry. (Required.)
   991  	OwnerID ID `json:"ownerId"`
   992  	// An IP address or range of addresses in CIDR notation. (Required.)
   993  	AllowListValue String `json:"allowListValue"`
   994  	// Whether the IP allow list entry is active when an IP allow list is enabled. (Required.)
   995  	IsActive Boolean `json:"isActive"`
   996  
   997  	// A unique identifier for the client performing the mutation. (Optional.)
   998  	ClientMutationID *String `json:"clientMutationId,omitempty"`
   999  	// An optional name for the IP allow list entry. (Optional.)
  1000  	Name *String `json:"name,omitempty"`
  1001  }
  1002  
  1003  // CreateIssueInput is an autogenerated input type of CreateIssue.
  1004  type CreateIssueInput struct {
  1005  	// The Node ID of the repository. (Required.)
  1006  	RepositoryID ID `json:"repositoryId"`
  1007  	// The title for the issue. (Required.)
  1008  	Title String `json:"title"`
  1009  
  1010  	// A unique identifier for the client performing the mutation. (Optional.)
  1011  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1012  	// The body for the issue description. (Optional.)
  1013  	Body *String `json:"body,omitempty"`
  1014  	// The Node ID for the user assignee for this issue. (Optional.)
  1015  	AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
  1016  	// The Node ID of the milestone for this issue. (Optional.)
  1017  	MilestoneID *ID `json:"milestoneId,omitempty"`
  1018  	// An array of Node IDs of labels for this issue. (Optional.)
  1019  	LabelIDs *[]ID `json:"labelIds,omitempty"`
  1020  	// An array of Node IDs for projects associated with this issue. (Optional.)
  1021  	ProjectIDs *[]ID `json:"projectIds,omitempty"`
  1022  	// The name of an issue template in the repository, assigns labels and assignees from the template to the issue. (Optional.)
  1023  	IssueTemplate *String `json:"issueTemplate,omitempty"`
  1024  }
  1025  
  1026  // CreateLabelInput is an autogenerated input type of CreateLabel.
  1027  type CreateLabelInput struct {
  1028  	// The Node ID of the repository. (Required.)
  1029  	RepositoryID ID `json:"repositoryId"`
  1030  	// A 6 character hex code, without the leading #, identifying the color of the label. (Required.)
  1031  	Color String `json:"color"`
  1032  	// The name of the label. (Required.)
  1033  	Name String `json:"name"`
  1034  
  1035  	// A unique identifier for the client performing the mutation. (Optional.)
  1036  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1037  	// A brief description of the label, such as its purpose. (Optional.)
  1038  	Description *String `json:"description,omitempty"`
  1039  }
  1040  
  1041  // CreateLinkedBranchInput is an autogenerated input type of CreateLinkedBranch.
  1042  type CreateLinkedBranchInput struct {
  1043  	// ID of the issue to link to. (Required.)
  1044  	IssueID ID `json:"issueId"`
  1045  	// The commit SHA to base the new branch on. (Required.)
  1046  	Oid GitObjectID `json:"oid"`
  1047  
  1048  	// A unique identifier for the client performing the mutation. (Optional.)
  1049  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1050  	// The name of the new branch. Defaults to issue number and title. (Optional.)
  1051  	Name *String `json:"name,omitempty"`
  1052  	// ID of the repository to create the branch in. Defaults to the issue repository. (Optional.)
  1053  	RepositoryID *ID `json:"repositoryId,omitempty"`
  1054  }
  1055  
  1056  // CreateMigrationSourceInput is an autogenerated input type of CreateMigrationSource.
  1057  type CreateMigrationSourceInput struct {
  1058  	// The migration source name. (Required.)
  1059  	Name String `json:"name"`
  1060  	// The migration source type. (Required.)
  1061  	Type MigrationSourceType `json:"type"`
  1062  	// The ID of the organization that will own the migration source. (Required.)
  1063  	OwnerID ID `json:"ownerId"`
  1064  
  1065  	// A unique identifier for the client performing the mutation. (Optional.)
  1066  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1067  	// The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. (Optional.)
  1068  	URL *String `json:"url,omitempty"`
  1069  	// The migration source access token. (Optional.)
  1070  	AccessToken *String `json:"accessToken,omitempty"`
  1071  	// The GitHub personal access token of the user importing to the target repository. (Optional.)
  1072  	GitHubPat *String `json:"githubPat,omitempty"`
  1073  }
  1074  
  1075  // CreateProjectInput is an autogenerated input type of CreateProject.
  1076  type CreateProjectInput struct {
  1077  	// The owner ID to create the project under. (Required.)
  1078  	OwnerID ID `json:"ownerId"`
  1079  	// The name of project. (Required.)
  1080  	Name String `json:"name"`
  1081  
  1082  	// A unique identifier for the client performing the mutation. (Optional.)
  1083  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1084  	// The description of project. (Optional.)
  1085  	Body *String `json:"body,omitempty"`
  1086  	// The name of the GitHub-provided template. (Optional.)
  1087  	Template *ProjectTemplate `json:"template,omitempty"`
  1088  	// A list of repository IDs to create as linked repositories for the project. (Optional.)
  1089  	RepositoryIDs *[]ID `json:"repositoryIds,omitempty"`
  1090  }
  1091  
  1092  // CreateProjectV2FieldInput is an autogenerated input type of CreateProjectV2Field.
  1093  type CreateProjectV2FieldInput struct {
  1094  	// The ID of the Project to create the field in. (Required.)
  1095  	ProjectID ID `json:"projectId"`
  1096  	// The data type of the field. (Required.)
  1097  	DataType ProjectV2CustomFieldType `json:"dataType"`
  1098  	// The name of the field. (Required.)
  1099  	Name String `json:"name"`
  1100  
  1101  	// A unique identifier for the client performing the mutation. (Optional.)
  1102  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1103  	// Options for a single select field. At least one value is required if data_type is SINGLE_SELECT. (Optional.)
  1104  	SingleSelectOptions *[]ProjectV2SingleSelectFieldOptionInput `json:"singleSelectOptions,omitempty"`
  1105  }
  1106  
  1107  // CreateProjectV2Input is an autogenerated input type of CreateProjectV2.
  1108  type CreateProjectV2Input struct {
  1109  	// The owner ID to create the project under. (Required.)
  1110  	OwnerID ID `json:"ownerId"`
  1111  	// The title of the project. (Required.)
  1112  	Title String `json:"title"`
  1113  
  1114  	// A unique identifier for the client performing the mutation. (Optional.)
  1115  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1116  	// The repository to link the project to. (Optional.)
  1117  	RepositoryID *ID `json:"repositoryId,omitempty"`
  1118  	// The team to link the project to. The team will be granted read permissions. (Optional.)
  1119  	TeamID *ID `json:"teamId,omitempty"`
  1120  }
  1121  
  1122  // CreateProjectV2StatusUpdateInput is an autogenerated input type of CreateProjectV2StatusUpdate.
  1123  type CreateProjectV2StatusUpdateInput struct {
  1124  	// The ID of the Project to create the status update in. (Required.)
  1125  	ProjectID ID `json:"projectId"`
  1126  
  1127  	// A unique identifier for the client performing the mutation. (Optional.)
  1128  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1129  	// The start date of the status update. (Optional.)
  1130  	StartDate *Date `json:"startDate,omitempty"`
  1131  	// The target date of the status update. (Optional.)
  1132  	TargetDate *Date `json:"targetDate,omitempty"`
  1133  	// The status of the status update. (Optional.)
  1134  	Status *ProjectV2StatusUpdateStatus `json:"status,omitempty"`
  1135  	// The body of the status update. (Optional.)
  1136  	Body *String `json:"body,omitempty"`
  1137  }
  1138  
  1139  // CreatePullRequestInput is an autogenerated input type of CreatePullRequest.
  1140  type CreatePullRequestInput struct {
  1141  	// The Node ID of the repository. (Required.)
  1142  	RepositoryID ID `json:"repositoryId"`
  1143  	// The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. (Required.)
  1144  	BaseRefName String `json:"baseRefName"`
  1145  	// The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head_ref_name` with a user like this: `username:branch`. (Required.)
  1146  	HeadRefName String `json:"headRefName"`
  1147  	// The title of the pull request. (Required.)
  1148  	Title String `json:"title"`
  1149  
  1150  	// A unique identifier for the client performing the mutation. (Optional.)
  1151  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1152  	// The Node ID of the head repository. (Optional.)
  1153  	HeadRepositoryID *ID `json:"headRepositoryId,omitempty"`
  1154  	// The contents of the pull request. (Optional.)
  1155  	Body *String `json:"body,omitempty"`
  1156  	// Indicates whether maintainers can modify the pull request. (Optional.)
  1157  	MaintainerCanModify *Boolean `json:"maintainerCanModify,omitempty"`
  1158  	// Indicates whether this pull request should be a draft. (Optional.)
  1159  	Draft *Boolean `json:"draft,omitempty"`
  1160  }
  1161  
  1162  // CreateRefInput is an autogenerated input type of CreateRef.
  1163  type CreateRefInput struct {
  1164  	// The Node ID of the Repository to create the Ref in. (Required.)
  1165  	RepositoryID ID `json:"repositoryId"`
  1166  	// The fully qualified name of the new Ref (ie: `refs/heads/my_new_branch`). (Required.)
  1167  	Name String `json:"name"`
  1168  	// The GitObjectID that the new Ref shall target. Must point to a commit. (Required.)
  1169  	Oid GitObjectID `json:"oid"`
  1170  
  1171  	// A unique identifier for the client performing the mutation. (Optional.)
  1172  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1173  }
  1174  
  1175  // CreateRepositoryInput is an autogenerated input type of CreateRepository.
  1176  type CreateRepositoryInput struct {
  1177  	// The name of the new repository. (Required.)
  1178  	Name String `json:"name"`
  1179  	// Indicates the repository's visibility level. (Required.)
  1180  	Visibility RepositoryVisibility `json:"visibility"`
  1181  
  1182  	// A unique identifier for the client performing the mutation. (Optional.)
  1183  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1184  	// The ID of the owner for the new repository. (Optional.)
  1185  	OwnerID *ID `json:"ownerId,omitempty"`
  1186  	// A short description of the new repository. (Optional.)
  1187  	Description *String `json:"description,omitempty"`
  1188  	// Whether this repository should be marked as a template such that anyone who can access it can create new repositories with the same files and directory structure. (Optional.)
  1189  	Template *Boolean `json:"template,omitempty"`
  1190  	// The URL for a web page about this repository. (Optional.)
  1191  	HomepageURL *URI `json:"homepageUrl,omitempty"`
  1192  	// Indicates if the repository should have the wiki feature enabled. (Optional.)
  1193  	HasWikiEnabled *Boolean `json:"hasWikiEnabled,omitempty"`
  1194  	// Indicates if the repository should have the issues feature enabled. (Optional.)
  1195  	HasIssuesEnabled *Boolean `json:"hasIssuesEnabled,omitempty"`
  1196  	// When an organization is specified as the owner, this ID identifies the team that should be granted access to the new repository. (Optional.)
  1197  	TeamID *ID `json:"teamId,omitempty"`
  1198  }
  1199  
  1200  // CreateRepositoryRulesetInput is an autogenerated input type of CreateRepositoryRuleset.
  1201  type CreateRepositoryRulesetInput struct {
  1202  	// The global relay id of the source in which a new ruleset should be created in. (Required.)
  1203  	SourceID ID `json:"sourceId"`
  1204  	// The name of the ruleset. (Required.)
  1205  	Name String `json:"name"`
  1206  	// The set of conditions for this ruleset. (Required.)
  1207  	Conditions RepositoryRuleConditionsInput `json:"conditions"`
  1208  	// The enforcement level for this ruleset. (Required.)
  1209  	Enforcement RuleEnforcement `json:"enforcement"`
  1210  
  1211  	// A unique identifier for the client performing the mutation. (Optional.)
  1212  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1213  	// The target of the ruleset. (Optional.)
  1214  	Target *RepositoryRulesetTarget `json:"target,omitempty"`
  1215  	// The list of rules for this ruleset. (Optional.)
  1216  	Rules *[]RepositoryRuleInput `json:"rules,omitempty"`
  1217  	// A list of actors that are allowed to bypass rules in this ruleset. (Optional.)
  1218  	BypassActors *[]RepositoryRulesetBypassActorInput `json:"bypassActors,omitempty"`
  1219  }
  1220  
  1221  // CreateSponsorsListingInput is an autogenerated input type of CreateSponsorsListing.
  1222  type CreateSponsorsListingInput struct {
  1223  
  1224  	// A unique identifier for the client performing the mutation. (Optional.)
  1225  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1226  	// The username of the organization to create a GitHub Sponsors profile for, if desired. Defaults to creating a GitHub Sponsors profile for the authenticated user if omitted. (Optional.)
  1227  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
  1228  	// The username of the supported fiscal host's GitHub organization, if you want to receive sponsorship payouts through a fiscal host rather than directly to a bank account. For example, 'Open-Source-Collective' for Open Source Collective or 'numfocus' for numFOCUS. Case insensitive. See https://docs.github.com/sponsors/receiving-sponsorships-through-github-sponsors/using-a-fiscal-host-to-receive-github-sponsors-payouts for more information. (Optional.)
  1229  	FiscalHostLogin *String `json:"fiscalHostLogin,omitempty"`
  1230  	// The URL for your profile page on the fiscal host's website, e.g., https://opencollective.com/babel or https://numfocus.org/project/bokeh. Required if fiscalHostLogin is specified. (Optional.)
  1231  	FiscallyHostedProjectProfileURL *String `json:"fiscallyHostedProjectProfileUrl,omitempty"`
  1232  	// The country or region where the sponsorable's bank account is located. Required if fiscalHostLogin is not specified, ignored when fiscalHostLogin is specified. (Optional.)
  1233  	BillingCountryOrRegionCode *SponsorsCountryOrRegionCode `json:"billingCountryOrRegionCode,omitempty"`
  1234  	// The country or region where the sponsorable resides. This is for tax purposes. Required if the sponsorable is yourself, ignored when sponsorableLogin specifies an organization. (Optional.)
  1235  	ResidenceCountryOrRegionCode *SponsorsCountryOrRegionCode `json:"residenceCountryOrRegionCode,omitempty"`
  1236  	// The email address we should use to contact you about the GitHub Sponsors profile being created. This will not be shared publicly. Must be a verified email address already on your GitHub account. Only relevant when the sponsorable is yourself. Defaults to your primary email address on file if omitted. (Optional.)
  1237  	ContactEmail *String `json:"contactEmail,omitempty"`
  1238  	// Provide an introduction to serve as the main focus that appears on your GitHub Sponsors profile. It's a great opportunity to help potential sponsors learn more about you, your work, and why their sponsorship is important to you. GitHub-flavored Markdown is supported. (Optional.)
  1239  	FullDescription *String `json:"fullDescription,omitempty"`
  1240  }
  1241  
  1242  // CreateSponsorsTierInput is an autogenerated input type of CreateSponsorsTier.
  1243  type CreateSponsorsTierInput struct {
  1244  	// The value of the new tier in US dollars. Valid values: 1-12000. (Required.)
  1245  	Amount Int `json:"amount"`
  1246  	// A description of what this tier is, what perks sponsors might receive, what a sponsorship at this tier means for you, etc. (Required.)
  1247  	Description String `json:"description"`
  1248  
  1249  	// A unique identifier for the client performing the mutation. (Optional.)
  1250  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1251  	// The ID of the user or organization who owns the GitHub Sponsors profile. Defaults to the current user if omitted and sponsorableLogin is not given. (Optional.)
  1252  	SponsorableID *ID `json:"sponsorableId,omitempty"`
  1253  	// The username of the user or organization who owns the GitHub Sponsors profile. Defaults to the current user if omitted and sponsorableId is not given. (Optional.)
  1254  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
  1255  	// Whether sponsorships using this tier should happen monthly/yearly or just once. (Optional.)
  1256  	IsRecurring *Boolean `json:"isRecurring,omitempty"`
  1257  	// Optional ID of the private repository that sponsors at this tier should gain read-only access to. Must be owned by an organization. (Optional.)
  1258  	RepositoryID *ID `json:"repositoryId,omitempty"`
  1259  	// Optional login of the organization owner of the private repository that sponsors at this tier should gain read-only access to. Necessary if repositoryName is given. Will be ignored if repositoryId is given. (Optional.)
  1260  	RepositoryOwnerLogin *String `json:"repositoryOwnerLogin,omitempty"`
  1261  	// Optional name of the private repository that sponsors at this tier should gain read-only access to. Must be owned by an organization. Necessary if repositoryOwnerLogin is given. Will be ignored if repositoryId is given. (Optional.)
  1262  	RepositoryName *String `json:"repositoryName,omitempty"`
  1263  	// Optional message new sponsors at this tier will receive. (Optional.)
  1264  	WelcomeMessage *String `json:"welcomeMessage,omitempty"`
  1265  	// Whether to make the tier available immediately for sponsors to choose. Defaults to creating a draft tier that will not be publicly visible. (Optional.)
  1266  	Publish *Boolean `json:"publish,omitempty"`
  1267  }
  1268  
  1269  // CreateSponsorshipInput is an autogenerated input type of CreateSponsorship.
  1270  type CreateSponsorshipInput struct {
  1271  
  1272  	// A unique identifier for the client performing the mutation. (Optional.)
  1273  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1274  	// The ID of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorLogin is not given. (Optional.)
  1275  	SponsorID *ID `json:"sponsorId,omitempty"`
  1276  	// The username of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorId is not given. (Optional.)
  1277  	SponsorLogin *String `json:"sponsorLogin,omitempty"`
  1278  	// The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. (Optional.)
  1279  	SponsorableID *ID `json:"sponsorableId,omitempty"`
  1280  	// The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. (Optional.)
  1281  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
  1282  	// The ID of one of sponsorable's existing tiers to sponsor at. Required if amount is not specified. (Optional.)
  1283  	TierID *ID `json:"tierId,omitempty"`
  1284  	// The amount to pay to the sponsorable in US dollars. Required if a tierId is not specified. Valid values: 1-12000. (Optional.)
  1285  	Amount *Int `json:"amount,omitempty"`
  1286  	// Whether the sponsorship should happen monthly/yearly or just this one time. Required if a tierId is not specified. (Optional.)
  1287  	IsRecurring *Boolean `json:"isRecurring,omitempty"`
  1288  	// Whether the sponsor should receive email updates from the sponsorable. (Optional.)
  1289  	ReceiveEmails *Boolean `json:"receiveEmails,omitempty"`
  1290  	// Specify whether others should be able to see that the sponsor is sponsoring the sponsorable. Public visibility still does not reveal which tier is used. (Optional.)
  1291  	PrivacyLevel *SponsorshipPrivacy `json:"privacyLevel,omitempty"`
  1292  }
  1293  
  1294  // CreateSponsorshipsInput is an autogenerated input type of CreateSponsorships.
  1295  type CreateSponsorshipsInput struct {
  1296  	// The username of the user or organization who is acting as the sponsor, paying for the sponsorships. (Required.)
  1297  	SponsorLogin String `json:"sponsorLogin"`
  1298  	// The list of maintainers to sponsor and for how much apiece. (Required.)
  1299  	Sponsorships []BulkSponsorship `json:"sponsorships"`
  1300  
  1301  	// A unique identifier for the client performing the mutation. (Optional.)
  1302  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1303  	// Whether the sponsor should receive email updates from the sponsorables. (Optional.)
  1304  	ReceiveEmails *Boolean `json:"receiveEmails,omitempty"`
  1305  	// Specify whether others should be able to see that the sponsor is sponsoring the sponsorables. Public visibility still does not reveal the dollar value of the sponsorship. (Optional.)
  1306  	PrivacyLevel *SponsorshipPrivacy `json:"privacyLevel,omitempty"`
  1307  	// Whether the sponsorships created should continue each billing cycle for the sponsor (monthly or annually), versus lasting only a single month. Defaults to one-time sponsorships. (Optional.)
  1308  	Recurring *Boolean `json:"recurring,omitempty"`
  1309  }
  1310  
  1311  // CreateTeamDiscussionCommentInput is an autogenerated input type of CreateTeamDiscussionComment.
  1312  type CreateTeamDiscussionCommentInput struct {
  1313  
  1314  	// A unique identifier for the client performing the mutation. (Optional.)
  1315  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1316  	// The ID of the discussion to which the comment belongs. This field is required. **Upcoming Change on 2024-07-01 UTC** **Description:** `discussionId` will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. (Optional.)
  1317  	DiscussionID *ID `json:"discussionId,omitempty"`
  1318  	// The content of the comment. This field is required. **Upcoming Change on 2024-07-01 UTC** **Description:** `body` will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. (Optional.)
  1319  	Body *String `json:"body,omitempty"`
  1320  }
  1321  
  1322  // CreateTeamDiscussionInput is an autogenerated input type of CreateTeamDiscussion.
  1323  type CreateTeamDiscussionInput struct {
  1324  
  1325  	// A unique identifier for the client performing the mutation. (Optional.)
  1326  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1327  	// The ID of the team to which the discussion belongs. This field is required. **Upcoming Change on 2024-07-01 UTC** **Description:** `teamId` will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. (Optional.)
  1328  	TeamID *ID `json:"teamId,omitempty"`
  1329  	// The title of the discussion. This field is required. **Upcoming Change on 2024-07-01 UTC** **Description:** `title` will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. (Optional.)
  1330  	Title *String `json:"title,omitempty"`
  1331  	// The content of the discussion. This field is required. **Upcoming Change on 2024-07-01 UTC** **Description:** `body` will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. (Optional.)
  1332  	Body *String `json:"body,omitempty"`
  1333  	// If true, restricts the visibility of this discussion to team members and organization owners. If false or not specified, allows any organization member to view this discussion. **Upcoming Change on 2024-07-01 UTC** **Description:** `private` will be removed. Follow the guide at https://github.blog/changelog/2023-02-08-sunset-notice-team-discussions/ to find a suitable replacement. **Reason:** The Team Discussions feature is deprecated in favor of Organization Discussions. (Optional.)
  1334  	Private *Boolean `json:"private,omitempty"`
  1335  }
  1336  
  1337  // CreateUserListInput is an autogenerated input type of CreateUserList.
  1338  type CreateUserListInput struct {
  1339  	// The name of the new list. (Required.)
  1340  	Name String `json:"name"`
  1341  
  1342  	// A unique identifier for the client performing the mutation. (Optional.)
  1343  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1344  	// A description of the list. (Optional.)
  1345  	Description *String `json:"description,omitempty"`
  1346  	// Whether or not the list is private. (Optional.)
  1347  	IsPrivate *Boolean `json:"isPrivate,omitempty"`
  1348  }
  1349  
  1350  // DeclineTopicSuggestionInput is an autogenerated input type of DeclineTopicSuggestion.
  1351  type DeclineTopicSuggestionInput struct {
  1352  
  1353  	// A unique identifier for the client performing the mutation. (Optional.)
  1354  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1355  	// The Node ID of the repository. **Upcoming Change on 2024-04-01 UTC** **Description:** `repositoryId` will be removed. **Reason:** Suggested topics are no longer supported. (Optional.)
  1356  	RepositoryID *ID `json:"repositoryId,omitempty"`
  1357  	// The name of the suggested topic. **Upcoming Change on 2024-04-01 UTC** **Description:** `name` will be removed. **Reason:** Suggested topics are no longer supported. (Optional.)
  1358  	Name *String `json:"name,omitempty"`
  1359  	// The reason why the suggested topic is declined. **Upcoming Change on 2024-04-01 UTC** **Description:** `reason` will be removed. **Reason:** Suggested topics are no longer supported. (Optional.)
  1360  	Reason *TopicSuggestionDeclineReason `json:"reason,omitempty"`
  1361  }
  1362  
  1363  // DeleteBranchProtectionRuleInput is an autogenerated input type of DeleteBranchProtectionRule.
  1364  type DeleteBranchProtectionRuleInput struct {
  1365  	// The global relay id of the branch protection rule to be deleted. (Required.)
  1366  	BranchProtectionRuleID ID `json:"branchProtectionRuleId"`
  1367  
  1368  	// A unique identifier for the client performing the mutation. (Optional.)
  1369  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1370  }
  1371  
  1372  // DeleteDeploymentInput is an autogenerated input type of DeleteDeployment.
  1373  type DeleteDeploymentInput struct {
  1374  	// The Node ID of the deployment to be deleted. (Required.)
  1375  	ID ID `json:"id"`
  1376  
  1377  	// A unique identifier for the client performing the mutation. (Optional.)
  1378  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1379  }
  1380  
  1381  // DeleteDiscussionCommentInput is an autogenerated input type of DeleteDiscussionComment.
  1382  type DeleteDiscussionCommentInput struct {
  1383  	// The Node id of the discussion comment to delete. (Required.)
  1384  	ID ID `json:"id"`
  1385  
  1386  	// A unique identifier for the client performing the mutation. (Optional.)
  1387  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1388  }
  1389  
  1390  // DeleteDiscussionInput is an autogenerated input type of DeleteDiscussion.
  1391  type DeleteDiscussionInput struct {
  1392  	// The id of the discussion to delete. (Required.)
  1393  	ID ID `json:"id"`
  1394  
  1395  	// A unique identifier for the client performing the mutation. (Optional.)
  1396  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1397  }
  1398  
  1399  // DeleteEnvironmentInput is an autogenerated input type of DeleteEnvironment.
  1400  type DeleteEnvironmentInput struct {
  1401  	// The Node ID of the environment to be deleted. (Required.)
  1402  	ID ID `json:"id"`
  1403  
  1404  	// A unique identifier for the client performing the mutation. (Optional.)
  1405  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1406  }
  1407  
  1408  // DeleteIpAllowListEntryInput is an autogenerated input type of DeleteIpAllowListEntry.
  1409  type DeleteIpAllowListEntryInput struct {
  1410  	// The ID of the IP allow list entry to delete. (Required.)
  1411  	IPAllowListEntryID ID `json:"ipAllowListEntryId"`
  1412  
  1413  	// A unique identifier for the client performing the mutation. (Optional.)
  1414  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1415  }
  1416  
  1417  // DeleteIssueCommentInput is an autogenerated input type of DeleteIssueComment.
  1418  type DeleteIssueCommentInput struct {
  1419  	// The ID of the comment to delete. (Required.)
  1420  	ID ID `json:"id"`
  1421  
  1422  	// A unique identifier for the client performing the mutation. (Optional.)
  1423  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1424  }
  1425  
  1426  // DeleteIssueInput is an autogenerated input type of DeleteIssue.
  1427  type DeleteIssueInput struct {
  1428  	// The ID of the issue to delete. (Required.)
  1429  	IssueID ID `json:"issueId"`
  1430  
  1431  	// A unique identifier for the client performing the mutation. (Optional.)
  1432  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1433  }
  1434  
  1435  // DeleteLabelInput is an autogenerated input type of DeleteLabel.
  1436  type DeleteLabelInput struct {
  1437  	// The Node ID of the label to be deleted. (Required.)
  1438  	ID ID `json:"id"`
  1439  
  1440  	// A unique identifier for the client performing the mutation. (Optional.)
  1441  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1442  }
  1443  
  1444  // DeleteLinkedBranchInput is an autogenerated input type of DeleteLinkedBranch.
  1445  type DeleteLinkedBranchInput struct {
  1446  	// The ID of the linked branch. (Required.)
  1447  	LinkedBranchID ID `json:"linkedBranchId"`
  1448  
  1449  	// A unique identifier for the client performing the mutation. (Optional.)
  1450  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1451  }
  1452  
  1453  // DeletePackageVersionInput is an autogenerated input type of DeletePackageVersion.
  1454  type DeletePackageVersionInput struct {
  1455  	// The ID of the package version to be deleted. (Required.)
  1456  	PackageVersionID ID `json:"packageVersionId"`
  1457  
  1458  	// A unique identifier for the client performing the mutation. (Optional.)
  1459  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1460  }
  1461  
  1462  // DeleteProjectCardInput is an autogenerated input type of DeleteProjectCard.
  1463  type DeleteProjectCardInput struct {
  1464  	// The id of the card to delete. (Required.)
  1465  	CardID ID `json:"cardId"`
  1466  
  1467  	// A unique identifier for the client performing the mutation. (Optional.)
  1468  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1469  }
  1470  
  1471  // DeleteProjectColumnInput is an autogenerated input type of DeleteProjectColumn.
  1472  type DeleteProjectColumnInput struct {
  1473  	// The id of the column to delete. (Required.)
  1474  	ColumnID ID `json:"columnId"`
  1475  
  1476  	// A unique identifier for the client performing the mutation. (Optional.)
  1477  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1478  }
  1479  
  1480  // DeleteProjectInput is an autogenerated input type of DeleteProject.
  1481  type DeleteProjectInput struct {
  1482  	// The Project ID to update. (Required.)
  1483  	ProjectID ID `json:"projectId"`
  1484  
  1485  	// A unique identifier for the client performing the mutation. (Optional.)
  1486  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1487  }
  1488  
  1489  // DeleteProjectV2FieldInput is an autogenerated input type of DeleteProjectV2Field.
  1490  type DeleteProjectV2FieldInput struct {
  1491  	// The ID of the field to delete. (Required.)
  1492  	FieldID ID `json:"fieldId"`
  1493  
  1494  	// A unique identifier for the client performing the mutation. (Optional.)
  1495  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1496  }
  1497  
  1498  // DeleteProjectV2Input is an autogenerated input type of DeleteProjectV2.
  1499  type DeleteProjectV2Input struct {
  1500  	// The ID of the Project to delete. (Required.)
  1501  	ProjectID ID `json:"projectId"`
  1502  
  1503  	// A unique identifier for the client performing the mutation. (Optional.)
  1504  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1505  }
  1506  
  1507  // DeleteProjectV2ItemInput is an autogenerated input type of DeleteProjectV2Item.
  1508  type DeleteProjectV2ItemInput struct {
  1509  	// The ID of the Project from which the item should be removed. (Required.)
  1510  	ProjectID ID `json:"projectId"`
  1511  	// The ID of the item to be removed. (Required.)
  1512  	ItemID ID `json:"itemId"`
  1513  
  1514  	// A unique identifier for the client performing the mutation. (Optional.)
  1515  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1516  }
  1517  
  1518  // DeleteProjectV2StatusUpdateInput is an autogenerated input type of DeleteProjectV2StatusUpdate.
  1519  type DeleteProjectV2StatusUpdateInput struct {
  1520  	// The ID of the status update to be removed. (Required.)
  1521  	StatusUpdateID ID `json:"statusUpdateId"`
  1522  
  1523  	// A unique identifier for the client performing the mutation. (Optional.)
  1524  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1525  }
  1526  
  1527  // DeleteProjectV2WorkflowInput is an autogenerated input type of DeleteProjectV2Workflow.
  1528  type DeleteProjectV2WorkflowInput struct {
  1529  	// The ID of the workflow to be removed. (Required.)
  1530  	WorkflowID ID `json:"workflowId"`
  1531  
  1532  	// A unique identifier for the client performing the mutation. (Optional.)
  1533  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1534  }
  1535  
  1536  // DeletePullRequestReviewCommentInput is an autogenerated input type of DeletePullRequestReviewComment.
  1537  type DeletePullRequestReviewCommentInput struct {
  1538  	// The ID of the comment to delete. (Required.)
  1539  	ID ID `json:"id"`
  1540  
  1541  	// A unique identifier for the client performing the mutation. (Optional.)
  1542  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1543  }
  1544  
  1545  // DeletePullRequestReviewInput is an autogenerated input type of DeletePullRequestReview.
  1546  type DeletePullRequestReviewInput struct {
  1547  	// The Node ID of the pull request review to delete. (Required.)
  1548  	PullRequestReviewID ID `json:"pullRequestReviewId"`
  1549  
  1550  	// A unique identifier for the client performing the mutation. (Optional.)
  1551  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1552  }
  1553  
  1554  // DeleteRefInput is an autogenerated input type of DeleteRef.
  1555  type DeleteRefInput struct {
  1556  	// The Node ID of the Ref to be deleted. (Required.)
  1557  	RefID ID `json:"refId"`
  1558  
  1559  	// A unique identifier for the client performing the mutation. (Optional.)
  1560  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1561  }
  1562  
  1563  // DeleteRepositoryRulesetInput is an autogenerated input type of DeleteRepositoryRuleset.
  1564  type DeleteRepositoryRulesetInput struct {
  1565  	// The global relay id of the repository ruleset to be deleted. (Required.)
  1566  	RepositoryRulesetID ID `json:"repositoryRulesetId"`
  1567  
  1568  	// A unique identifier for the client performing the mutation. (Optional.)
  1569  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1570  }
  1571  
  1572  // DeleteTeamDiscussionCommentInput is an autogenerated input type of DeleteTeamDiscussionComment.
  1573  type DeleteTeamDiscussionCommentInput struct {
  1574  	// The ID of the comment to delete. (Required.)
  1575  	ID ID `json:"id"`
  1576  
  1577  	// A unique identifier for the client performing the mutation. (Optional.)
  1578  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1579  }
  1580  
  1581  // DeleteTeamDiscussionInput is an autogenerated input type of DeleteTeamDiscussion.
  1582  type DeleteTeamDiscussionInput struct {
  1583  	// The discussion ID to delete. (Required.)
  1584  	ID ID `json:"id"`
  1585  
  1586  	// A unique identifier for the client performing the mutation. (Optional.)
  1587  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1588  }
  1589  
  1590  // DeleteUserListInput is an autogenerated input type of DeleteUserList.
  1591  type DeleteUserListInput struct {
  1592  	// The ID of the list to delete. (Required.)
  1593  	ListID ID `json:"listId"`
  1594  
  1595  	// A unique identifier for the client performing the mutation. (Optional.)
  1596  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1597  }
  1598  
  1599  // DeleteVerifiableDomainInput is an autogenerated input type of DeleteVerifiableDomain.
  1600  type DeleteVerifiableDomainInput struct {
  1601  	// The ID of the verifiable domain to delete. (Required.)
  1602  	ID ID `json:"id"`
  1603  
  1604  	// A unique identifier for the client performing the mutation. (Optional.)
  1605  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1606  }
  1607  
  1608  // DeploymentOrder represents ordering options for deployment connections.
  1609  type DeploymentOrder struct {
  1610  	// The field to order deployments by. (Required.)
  1611  	Field DeploymentOrderField `json:"field"`
  1612  	// The ordering direction. (Required.)
  1613  	Direction OrderDirection `json:"direction"`
  1614  }
  1615  
  1616  // DequeuePullRequestInput is an autogenerated input type of DequeuePullRequest.
  1617  type DequeuePullRequestInput struct {
  1618  	// The ID of the pull request to be dequeued. (Required.)
  1619  	ID ID `json:"id"`
  1620  
  1621  	// A unique identifier for the client performing the mutation. (Optional.)
  1622  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1623  }
  1624  
  1625  // DisablePullRequestAutoMergeInput is an autogenerated input type of DisablePullRequestAutoMerge.
  1626  type DisablePullRequestAutoMergeInput struct {
  1627  	// ID of the pull request to disable auto merge on. (Required.)
  1628  	PullRequestID ID `json:"pullRequestId"`
  1629  
  1630  	// A unique identifier for the client performing the mutation. (Optional.)
  1631  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1632  }
  1633  
  1634  // DiscussionOrder represents ways in which lists of discussions can be ordered upon return.
  1635  type DiscussionOrder struct {
  1636  	// The field by which to order discussions. (Required.)
  1637  	Field DiscussionOrderField `json:"field"`
  1638  	// The direction in which to order discussions by the specified field. (Required.)
  1639  	Direction OrderDirection `json:"direction"`
  1640  }
  1641  
  1642  // DiscussionPollOptionOrder represents ordering options for discussion poll option connections.
  1643  type DiscussionPollOptionOrder struct {
  1644  	// The field to order poll options by. (Required.)
  1645  	Field DiscussionPollOptionOrderField `json:"field"`
  1646  	// The ordering direction. (Required.)
  1647  	Direction OrderDirection `json:"direction"`
  1648  }
  1649  
  1650  // DismissPullRequestReviewInput is an autogenerated input type of DismissPullRequestReview.
  1651  type DismissPullRequestReviewInput struct {
  1652  	// The Node ID of the pull request review to modify. (Required.)
  1653  	PullRequestReviewID ID `json:"pullRequestReviewId"`
  1654  	// The contents of the pull request review dismissal message. (Required.)
  1655  	Message String `json:"message"`
  1656  
  1657  	// A unique identifier for the client performing the mutation. (Optional.)
  1658  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1659  }
  1660  
  1661  // DismissRepositoryVulnerabilityAlertInput is an autogenerated input type of DismissRepositoryVulnerabilityAlert.
  1662  type DismissRepositoryVulnerabilityAlertInput struct {
  1663  	// The Dependabot alert ID to dismiss. (Required.)
  1664  	RepositoryVulnerabilityAlertID ID `json:"repositoryVulnerabilityAlertId"`
  1665  	// The reason the Dependabot alert is being dismissed. (Required.)
  1666  	DismissReason DismissReason `json:"dismissReason"`
  1667  
  1668  	// A unique identifier for the client performing the mutation. (Optional.)
  1669  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1670  }
  1671  
  1672  // DraftPullRequestReviewComment specifies a review comment to be left with a Pull Request Review.
  1673  type DraftPullRequestReviewComment struct {
  1674  	// Path to the file being commented on. (Required.)
  1675  	Path String `json:"path"`
  1676  	// Position in the file to leave a comment on. (Required.)
  1677  	Position Int `json:"position"`
  1678  	// Body of the comment to leave. (Required.)
  1679  	Body String `json:"body"`
  1680  }
  1681  
  1682  // DraftPullRequestReviewThread specifies a review comment thread to be left with a Pull Request Review.
  1683  type DraftPullRequestReviewThread struct {
  1684  	// Path to the file being commented on. (Required.)
  1685  	Path String `json:"path"`
  1686  	// The line of the blob to which the thread refers. The end of the line range for multi-line comments. (Required.)
  1687  	Line Int `json:"line"`
  1688  	// Body of the comment to leave. (Required.)
  1689  	Body String `json:"body"`
  1690  
  1691  	// The side of the diff on which the line resides. For multi-line comments, this is the side for the end of the line range. (Optional.)
  1692  	Side *DiffSide `json:"side,omitempty"`
  1693  	// The first line of the range to which the comment refers. (Optional.)
  1694  	StartLine *Int `json:"startLine,omitempty"`
  1695  	// The side of the diff on which the start line resides. (Optional.)
  1696  	StartSide *DiffSide `json:"startSide,omitempty"`
  1697  }
  1698  
  1699  // EnablePullRequestAutoMergeInput is an autogenerated input type of EnablePullRequestAutoMerge.
  1700  type EnablePullRequestAutoMergeInput struct {
  1701  	// ID of the pull request to enable auto-merge on. (Required.)
  1702  	PullRequestID ID `json:"pullRequestId"`
  1703  
  1704  	// A unique identifier for the client performing the mutation. (Optional.)
  1705  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1706  	// Commit headline to use for the commit when the PR is mergable; if omitted, a default message will be used. NOTE: when merging with a merge queue any input value for commit headline is ignored. (Optional.)
  1707  	CommitHeadline *String `json:"commitHeadline,omitempty"`
  1708  	// Commit body to use for the commit when the PR is mergable; if omitted, a default message will be used. NOTE: when merging with a merge queue any input value for commit message is ignored. (Optional.)
  1709  	CommitBody *String `json:"commitBody,omitempty"`
  1710  	// The merge method to use. If omitted, defaults to `MERGE`. NOTE: when merging with a merge queue any input value for merge method is ignored. (Optional.)
  1711  	MergeMethod *PullRequestMergeMethod `json:"mergeMethod,omitempty"`
  1712  	// The email address to associate with this merge. (Optional.)
  1713  	AuthorEmail *String `json:"authorEmail,omitempty"`
  1714  	// The expected head OID of the pull request. (Optional.)
  1715  	ExpectedHeadOid *GitObjectID `json:"expectedHeadOid,omitempty"`
  1716  }
  1717  
  1718  // EnqueuePullRequestInput is an autogenerated input type of EnqueuePullRequest.
  1719  type EnqueuePullRequestInput struct {
  1720  	// The ID of the pull request to enqueue. (Required.)
  1721  	PullRequestID ID `json:"pullRequestId"`
  1722  
  1723  	// A unique identifier for the client performing the mutation. (Optional.)
  1724  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1725  	// Add the pull request to the front of the queue. (Optional.)
  1726  	Jump *Boolean `json:"jump,omitempty"`
  1727  	// The expected head OID of the pull request. (Optional.)
  1728  	ExpectedHeadOid *GitObjectID `json:"expectedHeadOid,omitempty"`
  1729  }
  1730  
  1731  // EnterpriseAdministratorInvitationOrder represents ordering options for enterprise administrator invitation connections.
  1732  type EnterpriseAdministratorInvitationOrder struct {
  1733  	// The field to order enterprise administrator invitations by. (Required.)
  1734  	Field EnterpriseAdministratorInvitationOrderField `json:"field"`
  1735  	// The ordering direction. (Required.)
  1736  	Direction OrderDirection `json:"direction"`
  1737  }
  1738  
  1739  // EnterpriseMemberInvitationOrder represents ordering options for enterprise administrator invitation connections.
  1740  type EnterpriseMemberInvitationOrder struct {
  1741  	// The field to order enterprise member invitations by. (Required.)
  1742  	Field EnterpriseMemberInvitationOrderField `json:"field"`
  1743  	// The ordering direction. (Required.)
  1744  	Direction OrderDirection `json:"direction"`
  1745  }
  1746  
  1747  // EnterpriseMemberOrder represents ordering options for enterprise member connections.
  1748  type EnterpriseMemberOrder struct {
  1749  	// The field to order enterprise members by. (Required.)
  1750  	Field EnterpriseMemberOrderField `json:"field"`
  1751  	// The ordering direction. (Required.)
  1752  	Direction OrderDirection `json:"direction"`
  1753  }
  1754  
  1755  // EnterpriseOrder represents ordering options for enterprises.
  1756  type EnterpriseOrder struct {
  1757  	// The field to order enterprises by. (Required.)
  1758  	Field EnterpriseOrderField `json:"field"`
  1759  	// The ordering direction. (Required.)
  1760  	Direction OrderDirection `json:"direction"`
  1761  }
  1762  
  1763  // EnterpriseServerInstallationOrder represents ordering options for Enterprise Server installation connections.
  1764  type EnterpriseServerInstallationOrder struct {
  1765  	// The field to order Enterprise Server installations by. (Required.)
  1766  	Field EnterpriseServerInstallationOrderField `json:"field"`
  1767  	// The ordering direction. (Required.)
  1768  	Direction OrderDirection `json:"direction"`
  1769  }
  1770  
  1771  // EnterpriseServerUserAccountEmailOrder represents ordering options for Enterprise Server user account email connections.
  1772  type EnterpriseServerUserAccountEmailOrder struct {
  1773  	// The field to order emails by. (Required.)
  1774  	Field EnterpriseServerUserAccountEmailOrderField `json:"field"`
  1775  	// The ordering direction. (Required.)
  1776  	Direction OrderDirection `json:"direction"`
  1777  }
  1778  
  1779  // EnterpriseServerUserAccountOrder represents ordering options for Enterprise Server user account connections.
  1780  type EnterpriseServerUserAccountOrder struct {
  1781  	// The field to order user accounts by. (Required.)
  1782  	Field EnterpriseServerUserAccountOrderField `json:"field"`
  1783  	// The ordering direction. (Required.)
  1784  	Direction OrderDirection `json:"direction"`
  1785  }
  1786  
  1787  // EnterpriseServerUserAccountsUploadOrder represents ordering options for Enterprise Server user accounts upload connections.
  1788  type EnterpriseServerUserAccountsUploadOrder struct {
  1789  	// The field to order user accounts uploads by. (Required.)
  1790  	Field EnterpriseServerUserAccountsUploadOrderField `json:"field"`
  1791  	// The ordering direction. (Required.)
  1792  	Direction OrderDirection `json:"direction"`
  1793  }
  1794  
  1795  // Environments represents ordering options for environments.
  1796  type Environments struct {
  1797  	// The field to order environments by. (Required.)
  1798  	Field EnvironmentOrderField `json:"field"`
  1799  	// The direction in which to order environments by the specified field. (Required.)
  1800  	Direction OrderDirection `json:"direction"`
  1801  }
  1802  
  1803  // FileAddition represents a command to add a file at the given path with the given contents as part of a commit. Any existing file at that that path will be replaced.
  1804  type FileAddition struct {
  1805  	// The path in the repository where the file will be located. (Required.)
  1806  	Path String `json:"path"`
  1807  	// The base64 encoded contents of the file. (Required.)
  1808  	Contents Base64String `json:"contents"`
  1809  }
  1810  
  1811  // FileChanges represents a description of a set of changes to a file tree to be made as part of a git commit, modeled as zero or more file `additions` and zero or more file `deletions`. Both fields are optional; omitting both will produce a commit with no file changes. `deletions` and `additions` describe changes to files identified by their path in the git tree using unix-style path separators, i.e. `/`. The root of a git tree is an empty string, so paths are not slash-prefixed. `path` values must be unique across all `additions` and `deletions` provided. Any duplication will result in a validation error. ### Encoding File contents must be provided in full for each `FileAddition`. The `contents` of a `FileAddition` must be encoded using RFC 4648 compliant base64, i.e. correct padding is required and no characters outside the standard alphabet may be used. Invalid base64 encoding will be rejected with a validation error. The encoded contents may be binary. For text files, no assumptions are made about the character encoding of the file contents (after base64 decoding). No charset transcoding or line-ending normalization will be performed; it is the client's responsibility to manage the character encoding of files they provide. However, for maximum compatibility we recommend using UTF-8 encoding and ensuring that all files in a repository use a consistent line-ending convention (`\n` or `\r\n`), and that all files end with a newline. ### Modeling file changes Each of the the five types of conceptual changes that can be made in a git commit can be described using the `FileChanges` type as follows: 1. New file addition: create file `hello world\n` at path `docs/README.txt`: { "additions" [ { "path": "docs/README.txt", "contents": base64encode("hello world\n") } ] } 2. Existing file modification: change existing `docs/README.txt` to have new content `new content here\n`: { "additions" [ { "path": "docs/README.txt", "contents": base64encode("new content here\n") } ] } 3. Existing file deletion: remove existing file `docs/README.txt`. Note that the path is required to exist -- specifying a path that does not exist on the given branch will abort the commit and return an error. { "deletions" [ { "path": "docs/README.txt" } ] } 4. File rename with no changes: rename `docs/README.txt` with previous content `hello world\n` to the same content at `newdocs/README.txt`: { "deletions" [ { "path": "docs/README.txt", } ], "additions" [ { "path": "newdocs/README.txt", "contents": base64encode("hello world\n") } ] } 5. File rename with changes: rename `docs/README.txt` with previous content `hello world\n` to a file at path `newdocs/README.txt` with content `new contents\n`: { "deletions" [ { "path": "docs/README.txt", } ], "additions" [ { "path": "newdocs/README.txt", "contents": base64encode("new contents\n") } ] }.
  1812  type FileChanges struct {
  1813  
  1814  	// Files to delete. (Optional.)
  1815  	Deletions *[]FileDeletion `json:"deletions,omitempty"`
  1816  	// File to add or change. (Optional.)
  1817  	Additions *[]FileAddition `json:"additions,omitempty"`
  1818  }
  1819  
  1820  // FileDeletion represents a command to delete the file at the given path as part of a commit.
  1821  type FileDeletion struct {
  1822  	// The path to delete. (Required.)
  1823  	Path String `json:"path"`
  1824  }
  1825  
  1826  // FileExtensionRestrictionParametersInput represents prevent commits that include files with specified file extensions from being pushed to the commit graph. NOTE: This rule is in beta and subject to change.
  1827  type FileExtensionRestrictionParametersInput struct {
  1828  	// The file extensions that are restricted from being pushed to the commit graph. (Required.)
  1829  	RestrictedFileExtensions []String `json:"restrictedFileExtensions"`
  1830  }
  1831  
  1832  // FilePathRestrictionParametersInput represents prevent commits that include changes in specified file paths from being pushed to the commit graph. NOTE: This rule is in beta and subject to change.
  1833  type FilePathRestrictionParametersInput struct {
  1834  	// The file paths that are restricted from being pushed to the commit graph. (Required.)
  1835  	RestrictedFilePaths []String `json:"restrictedFilePaths"`
  1836  }
  1837  
  1838  // FollowOrganizationInput is an autogenerated input type of FollowOrganization.
  1839  type FollowOrganizationInput struct {
  1840  	// ID of the organization to follow. (Required.)
  1841  	OrganizationID ID `json:"organizationId"`
  1842  
  1843  	// A unique identifier for the client performing the mutation. (Optional.)
  1844  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1845  }
  1846  
  1847  // FollowUserInput is an autogenerated input type of FollowUser.
  1848  type FollowUserInput struct {
  1849  	// ID of the user to follow. (Required.)
  1850  	UserID ID `json:"userId"`
  1851  
  1852  	// A unique identifier for the client performing the mutation. (Optional.)
  1853  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1854  }
  1855  
  1856  // GistOrder represents ordering options for gist connections.
  1857  type GistOrder struct {
  1858  	// The field to order repositories by. (Required.)
  1859  	Field GistOrderField `json:"field"`
  1860  	// The ordering direction. (Required.)
  1861  	Direction OrderDirection `json:"direction"`
  1862  }
  1863  
  1864  // GrantEnterpriseOrganizationsMigratorRoleInput is an autogenerated input type of GrantEnterpriseOrganizationsMigratorRole.
  1865  type GrantEnterpriseOrganizationsMigratorRoleInput struct {
  1866  	// The ID of the enterprise to which all organizations managed by it will be granted the migrator role. (Required.)
  1867  	EnterpriseID ID `json:"enterpriseId"`
  1868  	// The login of the user to grant the migrator role. (Required.)
  1869  	Login String `json:"login"`
  1870  
  1871  	// A unique identifier for the client performing the mutation. (Optional.)
  1872  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1873  }
  1874  
  1875  // GrantMigratorRoleInput is an autogenerated input type of GrantMigratorRole.
  1876  type GrantMigratorRoleInput struct {
  1877  	// The ID of the organization that the user/team belongs to. (Required.)
  1878  	OrganizationID ID `json:"organizationId"`
  1879  	// The user login or Team slug to grant the migrator role. (Required.)
  1880  	Actor String `json:"actor"`
  1881  	// Specifies the type of the actor, can be either USER or TEAM. (Required.)
  1882  	ActorType ActorType `json:"actorType"`
  1883  
  1884  	// A unique identifier for the client performing the mutation. (Optional.)
  1885  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1886  }
  1887  
  1888  // ImportProjectInput is an autogenerated input type of ImportProject.
  1889  type ImportProjectInput struct {
  1890  	// The name of the Organization or User to create the Project under. (Required.)
  1891  	OwnerName String `json:"ownerName"`
  1892  	// The name of Project. (Required.)
  1893  	Name String `json:"name"`
  1894  	// A list of columns containing issues and pull requests. (Required.)
  1895  	ColumnImports []ProjectColumnImport `json:"columnImports"`
  1896  
  1897  	// A unique identifier for the client performing the mutation. (Optional.)
  1898  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1899  	// The description of Project. (Optional.)
  1900  	Body *String `json:"body,omitempty"`
  1901  	// Whether the Project is public or not. (Optional.)
  1902  	Public *Boolean `json:"public,omitempty"`
  1903  }
  1904  
  1905  // InviteEnterpriseAdminInput is an autogenerated input type of InviteEnterpriseAdmin.
  1906  type InviteEnterpriseAdminInput struct {
  1907  	// The ID of the enterprise to which you want to invite an administrator. (Required.)
  1908  	EnterpriseID ID `json:"enterpriseId"`
  1909  
  1910  	// A unique identifier for the client performing the mutation. (Optional.)
  1911  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1912  	// The login of a user to invite as an administrator. (Optional.)
  1913  	Invitee *String `json:"invitee,omitempty"`
  1914  	// The email of the person to invite as an administrator. (Optional.)
  1915  	Email *String `json:"email,omitempty"`
  1916  	// The role of the administrator. (Optional.)
  1917  	Role *EnterpriseAdministratorRole `json:"role,omitempty"`
  1918  }
  1919  
  1920  // InviteEnterpriseMemberInput is an autogenerated input type of InviteEnterpriseMember.
  1921  type InviteEnterpriseMemberInput struct {
  1922  	// The ID of the enterprise to which you want to invite an unaffiliated member. (Required.)
  1923  	EnterpriseID ID `json:"enterpriseId"`
  1924  
  1925  	// A unique identifier for the client performing the mutation. (Optional.)
  1926  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  1927  	// The login of a user to invite as an unaffiliated member. (Optional.)
  1928  	Invitee *String `json:"invitee,omitempty"`
  1929  	// The email of the person to invite as an unaffiliated member. (Optional.)
  1930  	Email *String `json:"email,omitempty"`
  1931  }
  1932  
  1933  // IpAllowListEntryOrder represents ordering options for IP allow list entry connections.
  1934  type IpAllowListEntryOrder struct {
  1935  	// The field to order IP allow list entries by. (Required.)
  1936  	Field IpAllowListEntryOrderField `json:"field"`
  1937  	// The ordering direction. (Required.)
  1938  	Direction OrderDirection `json:"direction"`
  1939  }
  1940  
  1941  // IssueCommentOrder represents ways in which lists of issue comments can be ordered upon return.
  1942  type IssueCommentOrder struct {
  1943  	// The field in which to order issue comments by. (Required.)
  1944  	Field IssueCommentOrderField `json:"field"`
  1945  	// The direction in which to order issue comments by the specified field. (Required.)
  1946  	Direction OrderDirection `json:"direction"`
  1947  }
  1948  
  1949  // IssueFilters represents ways in which to filter lists of issues.
  1950  type IssueFilters struct {
  1951  
  1952  	// List issues assigned to given name. Pass in `null` for issues with no assigned user, and `*` for issues assigned to any user. (Optional.)
  1953  	Assignee *String `json:"assignee,omitempty"`
  1954  	// List issues created by given name. (Optional.)
  1955  	CreatedBy *String `json:"createdBy,omitempty"`
  1956  	// List issues where the list of label names exist on the issue. (Optional.)
  1957  	Labels *[]String `json:"labels,omitempty"`
  1958  	// List issues where the given name is mentioned in the issue. (Optional.)
  1959  	Mentioned *String `json:"mentioned,omitempty"`
  1960  	// List issues by given milestone argument. If an string representation of an integer is passed, it should refer to a milestone by its database ID. Pass in `null` for issues with no milestone, and `*` for issues that are assigned to any milestone. (Optional.)
  1961  	Milestone *String `json:"milestone,omitempty"`
  1962  	// List issues by given milestone argument. If an string representation of an integer is passed, it should refer to a milestone by its number field. Pass in `null` for issues with no milestone, and `*` for issues that are assigned to any milestone. (Optional.)
  1963  	MilestoneNumber *String `json:"milestoneNumber,omitempty"`
  1964  	// List issues that have been updated at or after the given date. (Optional.)
  1965  	Since *DateTime `json:"since,omitempty"`
  1966  	// List issues filtered by the list of states given. (Optional.)
  1967  	States *[]IssueState `json:"states,omitempty"`
  1968  	// List issues subscribed to by viewer. (Optional.)
  1969  	ViewerSubscribed *Boolean `json:"viewerSubscribed,omitempty"`
  1970  }
  1971  
  1972  // IssueOrder represents ways in which lists of issues can be ordered upon return.
  1973  type IssueOrder struct {
  1974  	// The field in which to order issues by. (Required.)
  1975  	Field IssueOrderField `json:"field"`
  1976  	// The direction in which to order issues by the specified field. (Required.)
  1977  	Direction OrderDirection `json:"direction"`
  1978  }
  1979  
  1980  // LabelOrder represents ways in which lists of labels can be ordered upon return.
  1981  type LabelOrder struct {
  1982  	// The field in which to order labels by. (Required.)
  1983  	Field LabelOrderField `json:"field"`
  1984  	// The direction in which to order labels by the specified field. (Required.)
  1985  	Direction OrderDirection `json:"direction"`
  1986  }
  1987  
  1988  // LanguageOrder represents ordering options for language connections.
  1989  type LanguageOrder struct {
  1990  	// The field to order languages by. (Required.)
  1991  	Field LanguageOrderField `json:"field"`
  1992  	// The ordering direction. (Required.)
  1993  	Direction OrderDirection `json:"direction"`
  1994  }
  1995  
  1996  // LinkProjectV2ToRepositoryInput is an autogenerated input type of LinkProjectV2ToRepository.
  1997  type LinkProjectV2ToRepositoryInput struct {
  1998  	// The ID of the project to link to the repository. (Required.)
  1999  	ProjectID ID `json:"projectId"`
  2000  	// The ID of the repository to link to the project. (Required.)
  2001  	RepositoryID ID `json:"repositoryId"`
  2002  
  2003  	// A unique identifier for the client performing the mutation. (Optional.)
  2004  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2005  }
  2006  
  2007  // LinkProjectV2ToTeamInput is an autogenerated input type of LinkProjectV2ToTeam.
  2008  type LinkProjectV2ToTeamInput struct {
  2009  	// The ID of the project to link to the team. (Required.)
  2010  	ProjectID ID `json:"projectId"`
  2011  	// The ID of the team to link to the project. (Required.)
  2012  	TeamID ID `json:"teamId"`
  2013  
  2014  	// A unique identifier for the client performing the mutation. (Optional.)
  2015  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2016  }
  2017  
  2018  // LinkRepositoryToProjectInput is an autogenerated input type of LinkRepositoryToProject.
  2019  type LinkRepositoryToProjectInput struct {
  2020  	// The ID of the Project to link to a Repository. (Required.)
  2021  	ProjectID ID `json:"projectId"`
  2022  	// The ID of the Repository to link to a Project. (Required.)
  2023  	RepositoryID ID `json:"repositoryId"`
  2024  
  2025  	// A unique identifier for the client performing the mutation. (Optional.)
  2026  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2027  }
  2028  
  2029  // LockLockableInput is an autogenerated input type of LockLockable.
  2030  type LockLockableInput struct {
  2031  	// ID of the item to be locked. (Required.)
  2032  	LockableID ID `json:"lockableId"`
  2033  
  2034  	// A unique identifier for the client performing the mutation. (Optional.)
  2035  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2036  	// A reason for why the item will be locked. (Optional.)
  2037  	LockReason *LockReason `json:"lockReason,omitempty"`
  2038  }
  2039  
  2040  // MannequinOrder represents ordering options for mannequins.
  2041  type MannequinOrder struct {
  2042  	// The field to order mannequins by. (Required.)
  2043  	Field MannequinOrderField `json:"field"`
  2044  	// The ordering direction. (Required.)
  2045  	Direction OrderDirection `json:"direction"`
  2046  }
  2047  
  2048  // MarkDiscussionCommentAsAnswerInput is an autogenerated input type of MarkDiscussionCommentAsAnswer.
  2049  type MarkDiscussionCommentAsAnswerInput struct {
  2050  	// The Node ID of the discussion comment to mark as an answer. (Required.)
  2051  	ID ID `json:"id"`
  2052  
  2053  	// A unique identifier for the client performing the mutation. (Optional.)
  2054  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2055  }
  2056  
  2057  // MarkFileAsViewedInput is an autogenerated input type of MarkFileAsViewed.
  2058  type MarkFileAsViewedInput struct {
  2059  	// The Node ID of the pull request. (Required.)
  2060  	PullRequestID ID `json:"pullRequestId"`
  2061  	// The path of the file to mark as viewed. (Required.)
  2062  	Path String `json:"path"`
  2063  
  2064  	// A unique identifier for the client performing the mutation. (Optional.)
  2065  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2066  }
  2067  
  2068  // MarkNotificationAsDoneInput is an autogenerated input type of MarkNotificationAsDone.
  2069  type MarkNotificationAsDoneInput struct {
  2070  	// The NotificationThread id. (Required.)
  2071  	ID ID `json:"id"`
  2072  
  2073  	// A unique identifier for the client performing the mutation. (Optional.)
  2074  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2075  }
  2076  
  2077  // MarkProjectV2AsTemplateInput is an autogenerated input type of MarkProjectV2AsTemplate.
  2078  type MarkProjectV2AsTemplateInput struct {
  2079  	// The ID of the Project to mark as a template. (Required.)
  2080  	ProjectID ID `json:"projectId"`
  2081  
  2082  	// A unique identifier for the client performing the mutation. (Optional.)
  2083  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2084  }
  2085  
  2086  // MarkPullRequestReadyForReviewInput is an autogenerated input type of MarkPullRequestReadyForReview.
  2087  type MarkPullRequestReadyForReviewInput struct {
  2088  	// ID of the pull request to be marked as ready for review. (Required.)
  2089  	PullRequestID ID `json:"pullRequestId"`
  2090  
  2091  	// A unique identifier for the client performing the mutation. (Optional.)
  2092  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2093  }
  2094  
  2095  // MaxFilePathLengthParametersInput represents prevent commits that include file paths that exceed a specified character limit from being pushed to the commit graph. NOTE: This rule is in beta and subject to change.
  2096  type MaxFilePathLengthParametersInput struct {
  2097  	// The maximum amount of characters allowed in file paths. (Required.)
  2098  	MaxFilePathLength Int `json:"maxFilePathLength"`
  2099  }
  2100  
  2101  // MaxFileSizeParametersInput represents prevent commits that exceed a specified file size limit from being pushed to the commit. NOTE: This rule is in beta and subject to change.
  2102  type MaxFileSizeParametersInput struct {
  2103  	// The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). (Required.)
  2104  	MaxFileSize Int `json:"maxFileSize"`
  2105  }
  2106  
  2107  // MergeBranchInput is an autogenerated input type of MergeBranch.
  2108  type MergeBranchInput struct {
  2109  	// The Node ID of the Repository containing the base branch that will be modified. (Required.)
  2110  	RepositoryID ID `json:"repositoryId"`
  2111  	// The name of the base branch that the provided head will be merged into. (Required.)
  2112  	Base String `json:"base"`
  2113  	// The head to merge into the base branch. This can be a branch name or a commit GitObjectID. (Required.)
  2114  	Head String `json:"head"`
  2115  
  2116  	// A unique identifier for the client performing the mutation. (Optional.)
  2117  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2118  	// Message to use for the merge commit. If omitted, a default will be used. (Optional.)
  2119  	CommitMessage *String `json:"commitMessage,omitempty"`
  2120  	// The email address to associate with this commit. (Optional.)
  2121  	AuthorEmail *String `json:"authorEmail,omitempty"`
  2122  }
  2123  
  2124  // MergePullRequestInput is an autogenerated input type of MergePullRequest.
  2125  type MergePullRequestInput struct {
  2126  	// ID of the pull request to be merged. (Required.)
  2127  	PullRequestID ID `json:"pullRequestId"`
  2128  
  2129  	// A unique identifier for the client performing the mutation. (Optional.)
  2130  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2131  	// Commit headline to use for the merge commit; if omitted, a default message will be used. (Optional.)
  2132  	CommitHeadline *String `json:"commitHeadline,omitempty"`
  2133  	// Commit body to use for the merge commit; if omitted, a default message will be used. (Optional.)
  2134  	CommitBody *String `json:"commitBody,omitempty"`
  2135  	// OID that the pull request head ref must match to allow merge; if omitted, no check is performed. (Optional.)
  2136  	ExpectedHeadOid *GitObjectID `json:"expectedHeadOid,omitempty"`
  2137  	// The merge method to use. If omitted, defaults to 'MERGE'. (Optional.)
  2138  	MergeMethod *PullRequestMergeMethod `json:"mergeMethod,omitempty"`
  2139  	// The email address to associate with this merge. (Optional.)
  2140  	AuthorEmail *String `json:"authorEmail,omitempty"`
  2141  }
  2142  
  2143  // MergeQueueParametersInput represents merges must be performed via a merge queue.
  2144  type MergeQueueParametersInput struct {
  2145  	// 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. (Required.)
  2146  	CheckResponseTimeoutMinutes Int `json:"checkResponseTimeoutMinutes"`
  2147  	// 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. (Required.)
  2148  	GroupingStrategy MergeQueueGroupingStrategy `json:"groupingStrategy"`
  2149  	// Limit the number of queued pull requests requesting checks and workflow runs at the same time. (Required.)
  2150  	MaxEntriesToBuild Int `json:"maxEntriesToBuild"`
  2151  	// The maximum number of PRs that will be merged together in a group. (Required.)
  2152  	MaxEntriesToMerge Int `json:"maxEntriesToMerge"`
  2153  	// Method to use when merging changes from queued pull requests. (Required.)
  2154  	MergeMethod MergeQueueMergeMethod `json:"mergeMethod"`
  2155  	// The minimum number of PRs that will be merged together in a group. (Required.)
  2156  	MinEntriesToMerge Int `json:"minEntriesToMerge"`
  2157  	// 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. (Required.)
  2158  	MinEntriesToMergeWaitMinutes Int `json:"minEntriesToMergeWaitMinutes"`
  2159  }
  2160  
  2161  // MilestoneOrder represents ordering options for milestone connections.
  2162  type MilestoneOrder struct {
  2163  	// The field to order milestones by. (Required.)
  2164  	Field MilestoneOrderField `json:"field"`
  2165  	// The ordering direction. (Required.)
  2166  	Direction OrderDirection `json:"direction"`
  2167  }
  2168  
  2169  // MinimizeCommentInput is an autogenerated input type of MinimizeComment.
  2170  type MinimizeCommentInput struct {
  2171  	// The Node ID of the subject to modify. (Required.)
  2172  	SubjectID ID `json:"subjectId"`
  2173  	// The classification of comment. (Required.)
  2174  	Classifier ReportedContentClassifiers `json:"classifier"`
  2175  
  2176  	// A unique identifier for the client performing the mutation. (Optional.)
  2177  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2178  }
  2179  
  2180  // MoveProjectCardInput is an autogenerated input type of MoveProjectCard.
  2181  type MoveProjectCardInput struct {
  2182  	// The id of the card to move. (Required.)
  2183  	CardID ID `json:"cardId"`
  2184  	// The id of the column to move it into. (Required.)
  2185  	ColumnID ID `json:"columnId"`
  2186  
  2187  	// A unique identifier for the client performing the mutation. (Optional.)
  2188  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2189  	// Place the new card after the card with this id. Pass null to place it at the top. (Optional.)
  2190  	AfterCardID *ID `json:"afterCardId,omitempty"`
  2191  }
  2192  
  2193  // MoveProjectColumnInput is an autogenerated input type of MoveProjectColumn.
  2194  type MoveProjectColumnInput struct {
  2195  	// The id of the column to move. (Required.)
  2196  	ColumnID ID `json:"columnId"`
  2197  
  2198  	// A unique identifier for the client performing the mutation. (Optional.)
  2199  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2200  	// Place the new column after the column with this id. Pass null to place it at the front. (Optional.)
  2201  	AfterColumnID *ID `json:"afterColumnId,omitempty"`
  2202  }
  2203  
  2204  // OrgEnterpriseOwnerOrder represents ordering options for an organization's enterprise owner connections.
  2205  type OrgEnterpriseOwnerOrder struct {
  2206  	// The field to order enterprise owners by. (Required.)
  2207  	Field OrgEnterpriseOwnerOrderField `json:"field"`
  2208  	// The ordering direction. (Required.)
  2209  	Direction OrderDirection `json:"direction"`
  2210  }
  2211  
  2212  // OrganizationOrder represents ordering options for organization connections.
  2213  type OrganizationOrder struct {
  2214  	// The field to order organizations by. (Required.)
  2215  	Field OrganizationOrderField `json:"field"`
  2216  	// The ordering direction. (Required.)
  2217  	Direction OrderDirection `json:"direction"`
  2218  }
  2219  
  2220  // PackageFileOrder represents ways in which lists of package files can be ordered upon return.
  2221  type PackageFileOrder struct {
  2222  
  2223  	// The field in which to order package files by. (Optional.)
  2224  	Field *PackageFileOrderField `json:"field,omitempty"`
  2225  	// The direction in which to order package files by the specified field. (Optional.)
  2226  	Direction *OrderDirection `json:"direction,omitempty"`
  2227  }
  2228  
  2229  // PackageOrder represents ways in which lists of packages can be ordered upon return.
  2230  type PackageOrder struct {
  2231  
  2232  	// The field in which to order packages by. (Optional.)
  2233  	Field *PackageOrderField `json:"field,omitempty"`
  2234  	// The direction in which to order packages by the specified field. (Optional.)
  2235  	Direction *OrderDirection `json:"direction,omitempty"`
  2236  }
  2237  
  2238  // PackageVersionOrder represents ways in which lists of package versions can be ordered upon return.
  2239  type PackageVersionOrder struct {
  2240  
  2241  	// The field in which to order package versions by. (Optional.)
  2242  	Field *PackageVersionOrderField `json:"field,omitempty"`
  2243  	// The direction in which to order package versions by the specified field. (Optional.)
  2244  	Direction *OrderDirection `json:"direction,omitempty"`
  2245  }
  2246  
  2247  // PinEnvironmentInput is an autogenerated input type of PinEnvironment.
  2248  type PinEnvironmentInput struct {
  2249  	// The ID of the environment to modify. (Required.)
  2250  	EnvironmentID ID `json:"environmentId"`
  2251  	// The desired state of the environment. If true, environment will be pinned. If false, it will be unpinned. (Required.)
  2252  	Pinned Boolean `json:"pinned"`
  2253  
  2254  	// A unique identifier for the client performing the mutation. (Optional.)
  2255  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2256  }
  2257  
  2258  // PinIssueInput is an autogenerated input type of PinIssue.
  2259  type PinIssueInput struct {
  2260  	// The ID of the issue to be pinned. (Required.)
  2261  	IssueID ID `json:"issueId"`
  2262  
  2263  	// A unique identifier for the client performing the mutation. (Optional.)
  2264  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2265  }
  2266  
  2267  // PinnedEnvironmentOrder represents ordering options for pinned environments.
  2268  type PinnedEnvironmentOrder struct {
  2269  	// The field to order pinned environments by. (Required.)
  2270  	Field PinnedEnvironmentOrderField `json:"field"`
  2271  	// The direction in which to order pinned environments by the specified field. (Required.)
  2272  	Direction OrderDirection `json:"direction"`
  2273  }
  2274  
  2275  // ProjectCardImport represents an issue or PR and its owning repository to be used in a project card.
  2276  type ProjectCardImport struct {
  2277  	// Repository name with owner (owner/repository). (Required.)
  2278  	Repository String `json:"repository"`
  2279  	// The issue or pull request number. (Required.)
  2280  	Number Int `json:"number"`
  2281  }
  2282  
  2283  // ProjectColumnImport represents a project column and a list of its issues and PRs.
  2284  type ProjectColumnImport struct {
  2285  	// The name of the column. (Required.)
  2286  	ColumnName String `json:"columnName"`
  2287  	// The position of the column, starting from 0. (Required.)
  2288  	Position Int `json:"position"`
  2289  
  2290  	// A list of issues and pull requests in the column. (Optional.)
  2291  	Issues *[]ProjectCardImport `json:"issues,omitempty"`
  2292  }
  2293  
  2294  // ProjectOrder represents ways in which lists of projects can be ordered upon return.
  2295  type ProjectOrder struct {
  2296  	// The field in which to order projects by. (Required.)
  2297  	Field ProjectOrderField `json:"field"`
  2298  	// The direction in which to order projects by the specified field. (Required.)
  2299  	Direction OrderDirection `json:"direction"`
  2300  }
  2301  
  2302  // ProjectV2Collaborator represents a collaborator to update on a project. Only one of the userId or teamId should be provided.
  2303  type ProjectV2Collaborator struct {
  2304  	// The role to grant the collaborator. (Required.)
  2305  	Role ProjectV2Roles `json:"role"`
  2306  
  2307  	// The ID of the user as a collaborator. (Optional.)
  2308  	UserID *ID `json:"userId,omitempty"`
  2309  	// The ID of the team as a collaborator. (Optional.)
  2310  	TeamID *ID `json:"teamId,omitempty"`
  2311  }
  2312  
  2313  // ProjectV2FieldOrder represents ordering options for project v2 field connections.
  2314  type ProjectV2FieldOrder struct {
  2315  	// The field to order the project v2 fields by. (Required.)
  2316  	Field ProjectV2FieldOrderField `json:"field"`
  2317  	// The ordering direction. (Required.)
  2318  	Direction OrderDirection `json:"direction"`
  2319  }
  2320  
  2321  // ProjectV2FieldValue represents the values that can be used to update a field of an item inside a Project. Only 1 value can be updated at a time.
  2322  type ProjectV2FieldValue struct {
  2323  
  2324  	// The text to set on the field. (Optional.)
  2325  	Text *String `json:"text,omitempty"`
  2326  	// The number to set on the field. (Optional.)
  2327  	Number *Float `json:"number,omitempty"`
  2328  	// The ISO 8601 date to set on the field. (Optional.)
  2329  	Date *Date `json:"date,omitempty"`
  2330  	// The id of the single select option to set on the field. (Optional.)
  2331  	SingleSelectOptionID *String `json:"singleSelectOptionId,omitempty"`
  2332  	// The id of the iteration to set on the field. (Optional.)
  2333  	IterationID *String `json:"iterationId,omitempty"`
  2334  }
  2335  
  2336  // ProjectV2Filters represents ways in which to filter lists of projects.
  2337  type ProjectV2Filters struct {
  2338  
  2339  	// List project v2 filtered by the state given. (Optional.)
  2340  	State *ProjectV2State `json:"state,omitempty"`
  2341  }
  2342  
  2343  // ProjectV2ItemFieldValueOrder represents ordering options for project v2 item field value connections.
  2344  type ProjectV2ItemFieldValueOrder struct {
  2345  	// The field to order the project v2 item field values by. (Required.)
  2346  	Field ProjectV2ItemFieldValueOrderField `json:"field"`
  2347  	// The ordering direction. (Required.)
  2348  	Direction OrderDirection `json:"direction"`
  2349  }
  2350  
  2351  // ProjectV2ItemOrder represents ordering options for project v2 item connections.
  2352  type ProjectV2ItemOrder struct {
  2353  	// The field to order the project v2 items by. (Required.)
  2354  	Field ProjectV2ItemOrderField `json:"field"`
  2355  	// The ordering direction. (Required.)
  2356  	Direction OrderDirection `json:"direction"`
  2357  }
  2358  
  2359  // ProjectV2Order represents ways in which lists of projects can be ordered upon return.
  2360  type ProjectV2Order struct {
  2361  	// The field in which to order projects by. (Required.)
  2362  	Field ProjectV2OrderField `json:"field"`
  2363  	// The direction in which to order projects by the specified field. (Required.)
  2364  	Direction OrderDirection `json:"direction"`
  2365  }
  2366  
  2367  // ProjectV2SingleSelectFieldOptionInput represents represents a single select field option.
  2368  type ProjectV2SingleSelectFieldOptionInput struct {
  2369  	// The name of the option. (Required.)
  2370  	Name String `json:"name"`
  2371  	// The display color of the option. (Required.)
  2372  	Color ProjectV2SingleSelectFieldOptionColor `json:"color"`
  2373  	// The description text of the option. (Required.)
  2374  	Description String `json:"description"`
  2375  }
  2376  
  2377  // ProjectV2StatusOrder represents ways in which project v2 status updates can be ordered.
  2378  type ProjectV2StatusOrder struct {
  2379  	// The field by which to order nodes. (Required.)
  2380  	Field ProjectV2StatusUpdateOrderField `json:"field"`
  2381  	// The direction in which to order nodes. (Required.)
  2382  	Direction OrderDirection `json:"direction"`
  2383  }
  2384  
  2385  // ProjectV2ViewOrder represents ordering options for project v2 view connections.
  2386  type ProjectV2ViewOrder struct {
  2387  	// The field to order the project v2 views by. (Required.)
  2388  	Field ProjectV2ViewOrderField `json:"field"`
  2389  	// The ordering direction. (Required.)
  2390  	Direction OrderDirection `json:"direction"`
  2391  }
  2392  
  2393  // ProjectV2WorkflowOrder represents ordering options for project v2 workflows connections.
  2394  type ProjectV2WorkflowOrder struct {
  2395  	// The field to order the project v2 workflows by. (Required.)
  2396  	Field ProjectV2WorkflowsOrderField `json:"field"`
  2397  	// The ordering direction. (Required.)
  2398  	Direction OrderDirection `json:"direction"`
  2399  }
  2400  
  2401  // PropertyTargetDefinitionInput represents a property that must match.
  2402  type PropertyTargetDefinitionInput struct {
  2403  	// The name of the property. (Required.)
  2404  	Name String `json:"name"`
  2405  	// The values to match for. (Required.)
  2406  	PropertyValues []String `json:"propertyValues"`
  2407  
  2408  	// The source of the property. Choose 'custom' or 'system'. Defaults to 'custom' if not specified. (Optional.)
  2409  	Source *String `json:"source,omitempty"`
  2410  }
  2411  
  2412  // PublishSponsorsTierInput is an autogenerated input type of PublishSponsorsTier.
  2413  type PublishSponsorsTierInput struct {
  2414  	// The ID of the draft tier to publish. (Required.)
  2415  	TierID ID `json:"tierId"`
  2416  
  2417  	// A unique identifier for the client performing the mutation. (Optional.)
  2418  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2419  }
  2420  
  2421  // PullRequestOrder represents ways in which lists of issues can be ordered upon return.
  2422  type PullRequestOrder struct {
  2423  	// The field in which to order pull requests by. (Required.)
  2424  	Field PullRequestOrderField `json:"field"`
  2425  	// The direction in which to order pull requests by the specified field. (Required.)
  2426  	Direction OrderDirection `json:"direction"`
  2427  }
  2428  
  2429  // PullRequestParametersInput represents require all commits be made to a non-target branch and submitted via a pull request before they can be merged.
  2430  type PullRequestParametersInput struct {
  2431  	// New, reviewable commits pushed will dismiss previous pull request review approvals. (Required.)
  2432  	DismissStaleReviewsOnPush Boolean `json:"dismissStaleReviewsOnPush"`
  2433  	// Require an approving review in pull requests that modify files that have a designated code owner. (Required.)
  2434  	RequireCodeOwnerReview Boolean `json:"requireCodeOwnerReview"`
  2435  	// Whether the most recent reviewable push must be approved by someone other than the person who pushed it. (Required.)
  2436  	RequireLastPushApproval Boolean `json:"requireLastPushApproval"`
  2437  	// The number of approving reviews that are required before a pull request can be merged. (Required.)
  2438  	RequiredApprovingReviewCount Int `json:"requiredApprovingReviewCount"`
  2439  	// All conversations on code must be resolved before a pull request can be merged. (Required.)
  2440  	RequiredReviewThreadResolution Boolean `json:"requiredReviewThreadResolution"`
  2441  }
  2442  
  2443  // ReactionOrder represents ways in which lists of reactions can be ordered upon return.
  2444  type ReactionOrder struct {
  2445  	// The field in which to order reactions by. (Required.)
  2446  	Field ReactionOrderField `json:"field"`
  2447  	// The direction in which to order reactions by the specified field. (Required.)
  2448  	Direction OrderDirection `json:"direction"`
  2449  }
  2450  
  2451  // RefNameConditionTargetInput represents parameters to be used for the ref_name condition.
  2452  type RefNameConditionTargetInput struct {
  2453  	// Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. (Required.)
  2454  	Exclude []String `json:"exclude"`
  2455  	// Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. (Required.)
  2456  	Include []String `json:"include"`
  2457  }
  2458  
  2459  // RefOrder represents ways in which lists of git refs can be ordered upon return.
  2460  type RefOrder struct {
  2461  	// The field in which to order refs by. (Required.)
  2462  	Field RefOrderField `json:"field"`
  2463  	// The direction in which to order refs by the specified field. (Required.)
  2464  	Direction OrderDirection `json:"direction"`
  2465  }
  2466  
  2467  // RefUpdate represents a ref update.
  2468  type RefUpdate struct {
  2469  	// The fully qualified name of the ref to be update. For example `refs/heads/branch-name`. (Required.)
  2470  	Name GitRefname `json:"name"`
  2471  	// The value this ref should be updated to. (Required.)
  2472  	AfterOid GitObjectID `json:"afterOid"`
  2473  
  2474  	// The value this ref needs to point to before the update. (Optional.)
  2475  	BeforeOid *GitObjectID `json:"beforeOid,omitempty"`
  2476  	// Force a non fast-forward update. (Optional.)
  2477  	Force *Boolean `json:"force,omitempty"`
  2478  }
  2479  
  2480  // RegenerateEnterpriseIdentityProviderRecoveryCodesInput is an autogenerated input type of RegenerateEnterpriseIdentityProviderRecoveryCodes.
  2481  type RegenerateEnterpriseIdentityProviderRecoveryCodesInput struct {
  2482  	// The ID of the enterprise on which to set an identity provider. (Required.)
  2483  	EnterpriseID ID `json:"enterpriseId"`
  2484  
  2485  	// A unique identifier for the client performing the mutation. (Optional.)
  2486  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2487  }
  2488  
  2489  // RegenerateVerifiableDomainTokenInput is an autogenerated input type of RegenerateVerifiableDomainToken.
  2490  type RegenerateVerifiableDomainTokenInput struct {
  2491  	// The ID of the verifiable domain to regenerate the verification token of. (Required.)
  2492  	ID ID `json:"id"`
  2493  
  2494  	// A unique identifier for the client performing the mutation. (Optional.)
  2495  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2496  }
  2497  
  2498  // RejectDeploymentsInput is an autogenerated input type of RejectDeployments.
  2499  type RejectDeploymentsInput struct {
  2500  	// The node ID of the workflow run containing the pending deployments. (Required.)
  2501  	WorkflowRunID ID `json:"workflowRunId"`
  2502  	// The ids of environments to reject deployments. (Required.)
  2503  	EnvironmentIDs []ID `json:"environmentIds"`
  2504  
  2505  	// A unique identifier for the client performing the mutation. (Optional.)
  2506  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2507  	// Optional comment for rejecting deployments. (Optional.)
  2508  	Comment *String `json:"comment,omitempty"`
  2509  }
  2510  
  2511  // ReleaseOrder represents ways in which lists of releases can be ordered upon return.
  2512  type ReleaseOrder struct {
  2513  	// The field in which to order releases by. (Required.)
  2514  	Field ReleaseOrderField `json:"field"`
  2515  	// The direction in which to order releases by the specified field. (Required.)
  2516  	Direction OrderDirection `json:"direction"`
  2517  }
  2518  
  2519  // RemoveAssigneesFromAssignableInput is an autogenerated input type of RemoveAssigneesFromAssignable.
  2520  type RemoveAssigneesFromAssignableInput struct {
  2521  	// The id of the assignable object to remove assignees from. (Required.)
  2522  	AssignableID ID `json:"assignableId"`
  2523  	// The id of users to remove as assignees. (Required.)
  2524  	AssigneeIDs []ID `json:"assigneeIds"`
  2525  
  2526  	// A unique identifier for the client performing the mutation. (Optional.)
  2527  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2528  }
  2529  
  2530  // RemoveEnterpriseAdminInput is an autogenerated input type of RemoveEnterpriseAdmin.
  2531  type RemoveEnterpriseAdminInput struct {
  2532  	// The Enterprise ID from which to remove the administrator. (Required.)
  2533  	EnterpriseID ID `json:"enterpriseId"`
  2534  	// The login of the user to remove as an administrator. (Required.)
  2535  	Login String `json:"login"`
  2536  
  2537  	// A unique identifier for the client performing the mutation. (Optional.)
  2538  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2539  }
  2540  
  2541  // RemoveEnterpriseIdentityProviderInput is an autogenerated input type of RemoveEnterpriseIdentityProvider.
  2542  type RemoveEnterpriseIdentityProviderInput struct {
  2543  	// The ID of the enterprise from which to remove the identity provider. (Required.)
  2544  	EnterpriseID ID `json:"enterpriseId"`
  2545  
  2546  	// A unique identifier for the client performing the mutation. (Optional.)
  2547  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2548  }
  2549  
  2550  // RemoveEnterpriseMemberInput is an autogenerated input type of RemoveEnterpriseMember.
  2551  type RemoveEnterpriseMemberInput struct {
  2552  	// The ID of the enterprise from which the user should be removed. (Required.)
  2553  	EnterpriseID ID `json:"enterpriseId"`
  2554  	// The ID of the user to remove from the enterprise. (Required.)
  2555  	UserID ID `json:"userId"`
  2556  
  2557  	// A unique identifier for the client performing the mutation. (Optional.)
  2558  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2559  }
  2560  
  2561  // RemoveEnterpriseOrganizationInput is an autogenerated input type of RemoveEnterpriseOrganization.
  2562  type RemoveEnterpriseOrganizationInput struct {
  2563  	// The ID of the enterprise from which the organization should be removed. (Required.)
  2564  	EnterpriseID ID `json:"enterpriseId"`
  2565  	// The ID of the organization to remove from the enterprise. (Required.)
  2566  	OrganizationID ID `json:"organizationId"`
  2567  
  2568  	// A unique identifier for the client performing the mutation. (Optional.)
  2569  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2570  }
  2571  
  2572  // RemoveEnterpriseSupportEntitlementInput is an autogenerated input type of RemoveEnterpriseSupportEntitlement.
  2573  type RemoveEnterpriseSupportEntitlementInput struct {
  2574  	// The ID of the Enterprise which the admin belongs to. (Required.)
  2575  	EnterpriseID ID `json:"enterpriseId"`
  2576  	// The login of a member who will lose the support entitlement. (Required.)
  2577  	Login String `json:"login"`
  2578  
  2579  	// A unique identifier for the client performing the mutation. (Optional.)
  2580  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2581  }
  2582  
  2583  // RemoveLabelsFromLabelableInput is an autogenerated input type of RemoveLabelsFromLabelable.
  2584  type RemoveLabelsFromLabelableInput struct {
  2585  	// The id of the Labelable to remove labels from. (Required.)
  2586  	LabelableID ID `json:"labelableId"`
  2587  	// The ids of labels to remove. (Required.)
  2588  	LabelIDs []ID `json:"labelIds"`
  2589  
  2590  	// A unique identifier for the client performing the mutation. (Optional.)
  2591  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2592  }
  2593  
  2594  // RemoveOutsideCollaboratorInput is an autogenerated input type of RemoveOutsideCollaborator.
  2595  type RemoveOutsideCollaboratorInput struct {
  2596  	// The ID of the outside collaborator to remove. (Required.)
  2597  	UserID ID `json:"userId"`
  2598  	// The ID of the organization to remove the outside collaborator from. (Required.)
  2599  	OrganizationID ID `json:"organizationId"`
  2600  
  2601  	// A unique identifier for the client performing the mutation. (Optional.)
  2602  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2603  }
  2604  
  2605  // RemoveReactionInput is an autogenerated input type of RemoveReaction.
  2606  type RemoveReactionInput struct {
  2607  	// The Node ID of the subject to modify. (Required.)
  2608  	SubjectID ID `json:"subjectId"`
  2609  	// The name of the emoji reaction to remove. (Required.)
  2610  	Content ReactionContent `json:"content"`
  2611  
  2612  	// A unique identifier for the client performing the mutation. (Optional.)
  2613  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2614  }
  2615  
  2616  // RemoveStarInput is an autogenerated input type of RemoveStar.
  2617  type RemoveStarInput struct {
  2618  	// The Starrable ID to unstar. (Required.)
  2619  	StarrableID ID `json:"starrableId"`
  2620  
  2621  	// A unique identifier for the client performing the mutation. (Optional.)
  2622  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2623  }
  2624  
  2625  // RemoveUpvoteInput is an autogenerated input type of RemoveUpvote.
  2626  type RemoveUpvoteInput struct {
  2627  	// The Node ID of the discussion or comment to remove upvote. (Required.)
  2628  	SubjectID ID `json:"subjectId"`
  2629  
  2630  	// A unique identifier for the client performing the mutation. (Optional.)
  2631  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2632  }
  2633  
  2634  // ReopenDiscussionInput is an autogenerated input type of ReopenDiscussion.
  2635  type ReopenDiscussionInput struct {
  2636  	// ID of the discussion to be reopened. (Required.)
  2637  	DiscussionID ID `json:"discussionId"`
  2638  
  2639  	// A unique identifier for the client performing the mutation. (Optional.)
  2640  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2641  }
  2642  
  2643  // ReopenIssueInput is an autogenerated input type of ReopenIssue.
  2644  type ReopenIssueInput struct {
  2645  	// ID of the issue to be opened. (Required.)
  2646  	IssueID ID `json:"issueId"`
  2647  
  2648  	// A unique identifier for the client performing the mutation. (Optional.)
  2649  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2650  }
  2651  
  2652  // ReopenPullRequestInput is an autogenerated input type of ReopenPullRequest.
  2653  type ReopenPullRequestInput struct {
  2654  	// ID of the pull request to be reopened. (Required.)
  2655  	PullRequestID ID `json:"pullRequestId"`
  2656  
  2657  	// A unique identifier for the client performing the mutation. (Optional.)
  2658  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2659  }
  2660  
  2661  // ReorderEnvironmentInput is an autogenerated input type of ReorderEnvironment.
  2662  type ReorderEnvironmentInput struct {
  2663  	// The ID of the environment to modify. (Required.)
  2664  	EnvironmentID ID `json:"environmentId"`
  2665  	// The desired position of the environment. (Required.)
  2666  	Position Int `json:"position"`
  2667  
  2668  	// A unique identifier for the client performing the mutation. (Optional.)
  2669  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2670  }
  2671  
  2672  // RepositoryIdConditionTargetInput represents parameters to be used for the repository_id condition.
  2673  type RepositoryIdConditionTargetInput struct {
  2674  	// One of these repo IDs must match the repo. (Required.)
  2675  	RepositoryIDs []ID `json:"repositoryIds"`
  2676  }
  2677  
  2678  // RepositoryInvitationOrder represents ordering options for repository invitation connections.
  2679  type RepositoryInvitationOrder struct {
  2680  	// The field to order repository invitations by. (Required.)
  2681  	Field RepositoryInvitationOrderField `json:"field"`
  2682  	// The ordering direction. (Required.)
  2683  	Direction OrderDirection `json:"direction"`
  2684  }
  2685  
  2686  // RepositoryMigrationOrder represents ordering options for repository migrations.
  2687  type RepositoryMigrationOrder struct {
  2688  	// The field to order repository migrations by. (Required.)
  2689  	Field RepositoryMigrationOrderField `json:"field"`
  2690  	// The ordering direction. (Required.)
  2691  	Direction RepositoryMigrationOrderDirection `json:"direction"`
  2692  }
  2693  
  2694  // RepositoryNameConditionTargetInput represents parameters to be used for the repository_name condition.
  2695  type RepositoryNameConditionTargetInput struct {
  2696  	// Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. (Required.)
  2697  	Exclude []String `json:"exclude"`
  2698  	// Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. (Required.)
  2699  	Include []String `json:"include"`
  2700  
  2701  	// Target changes that match these patterns will be prevented except by those with bypass permissions. (Optional.)
  2702  	Protected *Boolean `json:"protected,omitempty"`
  2703  }
  2704  
  2705  // RepositoryOrder represents ordering options for repository connections.
  2706  type RepositoryOrder struct {
  2707  	// The field to order repositories by. (Required.)
  2708  	Field RepositoryOrderField `json:"field"`
  2709  	// The ordering direction. (Required.)
  2710  	Direction OrderDirection `json:"direction"`
  2711  }
  2712  
  2713  // RepositoryPropertyConditionTargetInput represents parameters to be used for the repository_property condition.
  2714  type RepositoryPropertyConditionTargetInput struct {
  2715  	// Array of repository properties that must not match. (Required.)
  2716  	Exclude []PropertyTargetDefinitionInput `json:"exclude"`
  2717  	// Array of repository properties that must match. (Required.)
  2718  	Include []PropertyTargetDefinitionInput `json:"include"`
  2719  }
  2720  
  2721  // RepositoryRuleConditionsInput specifies the conditions required for a ruleset to evaluate.
  2722  type RepositoryRuleConditionsInput struct {
  2723  
  2724  	// Configuration for the ref_name condition. (Optional.)
  2725  	RefName *RefNameConditionTargetInput `json:"refName,omitempty"`
  2726  	// Configuration for the repository_name condition. (Optional.)
  2727  	RepositoryName *RepositoryNameConditionTargetInput `json:"repositoryName,omitempty"`
  2728  	// Configuration for the repository_id condition. (Optional.)
  2729  	RepositoryID *RepositoryIdConditionTargetInput `json:"repositoryId,omitempty"`
  2730  	// Configuration for the repository_property condition. (Optional.)
  2731  	RepositoryProperty *RepositoryPropertyConditionTargetInput `json:"repositoryProperty,omitempty"`
  2732  }
  2733  
  2734  // RepositoryRuleInput specifies the attributes for a new or updated rule.
  2735  type RepositoryRuleInput struct {
  2736  	// The type of rule to create. (Required.)
  2737  	Type RepositoryRuleType `json:"type"`
  2738  
  2739  	// Optional ID of this rule when updating. (Optional.)
  2740  	ID *ID `json:"id,omitempty"`
  2741  	// The parameters for the rule. (Optional.)
  2742  	Parameters *RuleParametersInput `json:"parameters,omitempty"`
  2743  }
  2744  
  2745  // RepositoryRuleOrder represents ordering options for repository rules.
  2746  type RepositoryRuleOrder struct {
  2747  	// The field to order repository rules by. (Required.)
  2748  	Field RepositoryRuleOrderField `json:"field"`
  2749  	// The ordering direction. (Required.)
  2750  	Direction OrderDirection `json:"direction"`
  2751  }
  2752  
  2753  // RepositoryRulesetBypassActorInput specifies the attributes for a new or updated ruleset bypass actor. Only one of `actor_id`, `repository_role_database_id`, `organization_admin`, or `deploy_key` should be specified.
  2754  type RepositoryRulesetBypassActorInput struct {
  2755  	// The bypass mode for this actor. (Required.)
  2756  	BypassMode RepositoryRulesetBypassActorBypassMode `json:"bypassMode"`
  2757  
  2758  	// For Team and Integration bypasses, the Team or Integration ID. (Optional.)
  2759  	ActorID *ID `json:"actorId,omitempty"`
  2760  	// For role bypasses, the role database ID. (Optional.)
  2761  	RepositoryRoleDatabaseID *Int `json:"repositoryRoleDatabaseId,omitempty"`
  2762  	// For organization owner bypasses, true. (Optional.)
  2763  	OrganizationAdmin *Boolean `json:"organizationAdmin,omitempty"`
  2764  	// For deploy key bypasses, true. Can only use ALWAYS as the bypass mode. (Optional.)
  2765  	DeployKey *Boolean `json:"deployKey,omitempty"`
  2766  }
  2767  
  2768  // RequestReviewsInput is an autogenerated input type of RequestReviews.
  2769  type RequestReviewsInput struct {
  2770  	// The Node ID of the pull request to modify. (Required.)
  2771  	PullRequestID ID `json:"pullRequestId"`
  2772  
  2773  	// A unique identifier for the client performing the mutation. (Optional.)
  2774  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2775  	// The Node IDs of the user to request. (Optional.)
  2776  	UserIDs *[]ID `json:"userIds,omitempty"`
  2777  	// The Node IDs of the team to request. (Optional.)
  2778  	TeamIDs *[]ID `json:"teamIds,omitempty"`
  2779  	// Add users to the set rather than replace. (Optional.)
  2780  	Union *Boolean `json:"union,omitempty"`
  2781  }
  2782  
  2783  // RequiredDeploymentsParametersInput represents choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule.
  2784  type RequiredDeploymentsParametersInput struct {
  2785  	// The environments that must be successfully deployed to before branches can be merged. (Required.)
  2786  	RequiredDeploymentEnvironments []String `json:"requiredDeploymentEnvironments"`
  2787  }
  2788  
  2789  // RequiredStatusCheckInput specifies the attributes for a new or updated required status check.
  2790  type RequiredStatusCheckInput struct {
  2791  	// Status check context that must pass for commits to be accepted to the matching branch. (Required.)
  2792  	Context String `json:"context"`
  2793  
  2794  	// The ID of the App that must set the status in order for it to be accepted. Omit this value to use whichever app has recently been setting this status, or use "any" to allow any app to set the status. (Optional.)
  2795  	AppID *ID `json:"appId,omitempty"`
  2796  }
  2797  
  2798  // RequiredStatusChecksParametersInput represents 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.
  2799  type RequiredStatusChecksParametersInput struct {
  2800  	// Status checks that are required. (Required.)
  2801  	RequiredStatusChecks []StatusCheckConfigurationInput `json:"requiredStatusChecks"`
  2802  	// Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. (Required.)
  2803  	StrictRequiredStatusChecksPolicy Boolean `json:"strictRequiredStatusChecksPolicy"`
  2804  
  2805  	// Allow repositories and branches to be created if a check would otherwise prohibit it. (Optional.)
  2806  	DoNotEnforceOnCreate *Boolean `json:"doNotEnforceOnCreate,omitempty"`
  2807  }
  2808  
  2809  // RerequestCheckSuiteInput is an autogenerated input type of RerequestCheckSuite.
  2810  type RerequestCheckSuiteInput struct {
  2811  	// The Node ID of the repository. (Required.)
  2812  	RepositoryID ID `json:"repositoryId"`
  2813  	// The Node ID of the check suite. (Required.)
  2814  	CheckSuiteID ID `json:"checkSuiteId"`
  2815  
  2816  	// A unique identifier for the client performing the mutation. (Optional.)
  2817  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2818  }
  2819  
  2820  // ResolveReviewThreadInput is an autogenerated input type of ResolveReviewThread.
  2821  type ResolveReviewThreadInput struct {
  2822  	// The ID of the thread to resolve. (Required.)
  2823  	ThreadID ID `json:"threadId"`
  2824  
  2825  	// A unique identifier for the client performing the mutation. (Optional.)
  2826  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2827  }
  2828  
  2829  // RetireSponsorsTierInput is an autogenerated input type of RetireSponsorsTier.
  2830  type RetireSponsorsTierInput struct {
  2831  	// The ID of the published tier to retire. (Required.)
  2832  	TierID ID `json:"tierId"`
  2833  
  2834  	// A unique identifier for the client performing the mutation. (Optional.)
  2835  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2836  }
  2837  
  2838  // RevertPullRequestInput is an autogenerated input type of RevertPullRequest.
  2839  type RevertPullRequestInput struct {
  2840  	// The ID of the pull request to revert. (Required.)
  2841  	PullRequestID ID `json:"pullRequestId"`
  2842  
  2843  	// A unique identifier for the client performing the mutation. (Optional.)
  2844  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2845  	// The title of the revert pull request. (Optional.)
  2846  	Title *String `json:"title,omitempty"`
  2847  	// The description of the revert pull request. (Optional.)
  2848  	Body *String `json:"body,omitempty"`
  2849  	// Indicates whether the revert pull request should be a draft. (Optional.)
  2850  	Draft *Boolean `json:"draft,omitempty"`
  2851  }
  2852  
  2853  // RevokeEnterpriseOrganizationsMigratorRoleInput is an autogenerated input type of RevokeEnterpriseOrganizationsMigratorRole.
  2854  type RevokeEnterpriseOrganizationsMigratorRoleInput struct {
  2855  	// The ID of the enterprise to which all organizations managed by it will be granted the migrator role. (Required.)
  2856  	EnterpriseID ID `json:"enterpriseId"`
  2857  	// The login of the user to revoke the migrator role. (Required.)
  2858  	Login String `json:"login"`
  2859  
  2860  	// A unique identifier for the client performing the mutation. (Optional.)
  2861  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2862  }
  2863  
  2864  // RevokeMigratorRoleInput is an autogenerated input type of RevokeMigratorRole.
  2865  type RevokeMigratorRoleInput struct {
  2866  	// The ID of the organization that the user/team belongs to. (Required.)
  2867  	OrganizationID ID `json:"organizationId"`
  2868  	// The user login or Team slug to revoke the migrator role from. (Required.)
  2869  	Actor String `json:"actor"`
  2870  	// Specifies the type of the actor, can be either USER or TEAM. (Required.)
  2871  	ActorType ActorType `json:"actorType"`
  2872  
  2873  	// A unique identifier for the client performing the mutation. (Optional.)
  2874  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2875  }
  2876  
  2877  // RuleParametersInput specifies the parameters for a `RepositoryRule` object. Only one of the fields should be specified.
  2878  type RuleParametersInput struct {
  2879  
  2880  	// Parameters used for the `update` rule type. (Optional.)
  2881  	Update *UpdateParametersInput `json:"update,omitempty"`
  2882  	// Parameters used for the `merge_queue` rule type. (Optional.)
  2883  	MergeQueue *MergeQueueParametersInput `json:"mergeQueue,omitempty"`
  2884  	// Parameters used for the `required_deployments` rule type. (Optional.)
  2885  	RequiredDeployments *RequiredDeploymentsParametersInput `json:"requiredDeployments,omitempty"`
  2886  	// Parameters used for the `pull_request` rule type. (Optional.)
  2887  	PullRequest *PullRequestParametersInput `json:"pullRequest,omitempty"`
  2888  	// Parameters used for the `required_status_checks` rule type. (Optional.)
  2889  	RequiredStatusChecks *RequiredStatusChecksParametersInput `json:"requiredStatusChecks,omitempty"`
  2890  	// Parameters used for the `commit_message_pattern` rule type. (Optional.)
  2891  	CommitMessagePattern *CommitMessagePatternParametersInput `json:"commitMessagePattern,omitempty"`
  2892  	// Parameters used for the `commit_author_email_pattern` rule type. (Optional.)
  2893  	CommitAuthorEmailPattern *CommitAuthorEmailPatternParametersInput `json:"commitAuthorEmailPattern,omitempty"`
  2894  	// Parameters used for the `committer_email_pattern` rule type. (Optional.)
  2895  	CommitterEmailPattern *CommitterEmailPatternParametersInput `json:"committerEmailPattern,omitempty"`
  2896  	// Parameters used for the `branch_name_pattern` rule type. (Optional.)
  2897  	BranchNamePattern *BranchNamePatternParametersInput `json:"branchNamePattern,omitempty"`
  2898  	// Parameters used for the `tag_name_pattern` rule type. (Optional.)
  2899  	TagNamePattern *TagNamePatternParametersInput `json:"tagNamePattern,omitempty"`
  2900  	// Parameters used for the `file_path_restriction` rule type. (Optional.)
  2901  	FilePathRestriction *FilePathRestrictionParametersInput `json:"filePathRestriction,omitempty"`
  2902  	// Parameters used for the `max_file_path_length` rule type. (Optional.)
  2903  	MaxFilePathLength *MaxFilePathLengthParametersInput `json:"maxFilePathLength,omitempty"`
  2904  	// Parameters used for the `file_extension_restriction` rule type. (Optional.)
  2905  	FileExtensionRestriction *FileExtensionRestrictionParametersInput `json:"fileExtensionRestriction,omitempty"`
  2906  	// Parameters used for the `max_file_size` rule type. (Optional.)
  2907  	MaxFileSize *MaxFileSizeParametersInput `json:"maxFileSize,omitempty"`
  2908  	// Parameters used for the `workflows` rule type. (Optional.)
  2909  	Workflows *WorkflowsParametersInput `json:"workflows,omitempty"`
  2910  	// Parameters used for the `code_scanning` rule type. (Optional.)
  2911  	CodeScanning *CodeScanningParametersInput `json:"codeScanning,omitempty"`
  2912  }
  2913  
  2914  // SavedReplyOrder represents ordering options for saved reply connections.
  2915  type SavedReplyOrder struct {
  2916  	// The field to order saved replies by. (Required.)
  2917  	Field SavedReplyOrderField `json:"field"`
  2918  	// The ordering direction. (Required.)
  2919  	Direction OrderDirection `json:"direction"`
  2920  }
  2921  
  2922  // SecurityAdvisoryIdentifierFilter represents an advisory identifier to filter results on.
  2923  type SecurityAdvisoryIdentifierFilter struct {
  2924  	// The identifier type. (Required.)
  2925  	Type SecurityAdvisoryIdentifierType `json:"type"`
  2926  	// The identifier string. Supports exact or partial matching. (Required.)
  2927  	Value String `json:"value"`
  2928  }
  2929  
  2930  // SecurityAdvisoryOrder represents ordering options for security advisory connections.
  2931  type SecurityAdvisoryOrder struct {
  2932  	// The field to order security advisories by. (Required.)
  2933  	Field SecurityAdvisoryOrderField `json:"field"`
  2934  	// The ordering direction. (Required.)
  2935  	Direction OrderDirection `json:"direction"`
  2936  }
  2937  
  2938  // SecurityVulnerabilityOrder represents ordering options for security vulnerability connections.
  2939  type SecurityVulnerabilityOrder struct {
  2940  	// The field to order security vulnerabilities by. (Required.)
  2941  	Field SecurityVulnerabilityOrderField `json:"field"`
  2942  	// The ordering direction. (Required.)
  2943  	Direction OrderDirection `json:"direction"`
  2944  }
  2945  
  2946  // SetEnterpriseIdentityProviderInput is an autogenerated input type of SetEnterpriseIdentityProvider.
  2947  type SetEnterpriseIdentityProviderInput struct {
  2948  	// The ID of the enterprise on which to set an identity provider. (Required.)
  2949  	EnterpriseID ID `json:"enterpriseId"`
  2950  	// The URL endpoint for the identity provider's SAML SSO. (Required.)
  2951  	SsoURL URI `json:"ssoUrl"`
  2952  	// The x509 certificate used by the identity provider to sign assertions and responses. (Required.)
  2953  	IdpCertificate String `json:"idpCertificate"`
  2954  	// The signature algorithm used to sign SAML requests for the identity provider. (Required.)
  2955  	SignatureMethod SamlSignatureAlgorithm `json:"signatureMethod"`
  2956  	// The digest algorithm used to sign SAML requests for the identity provider. (Required.)
  2957  	DigestMethod SamlDigestAlgorithm `json:"digestMethod"`
  2958  
  2959  	// A unique identifier for the client performing the mutation. (Optional.)
  2960  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2961  	// The Issuer Entity ID for the SAML identity provider. (Optional.)
  2962  	Issuer *String `json:"issuer,omitempty"`
  2963  }
  2964  
  2965  // SetOrganizationInteractionLimitInput is an autogenerated input type of SetOrganizationInteractionLimit.
  2966  type SetOrganizationInteractionLimitInput struct {
  2967  	// The ID of the organization to set a limit for. (Required.)
  2968  	OrganizationID ID `json:"organizationId"`
  2969  	// The limit to set. (Required.)
  2970  	Limit RepositoryInteractionLimit `json:"limit"`
  2971  
  2972  	// A unique identifier for the client performing the mutation. (Optional.)
  2973  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2974  	// When this limit should expire. (Optional.)
  2975  	Expiry *RepositoryInteractionLimitExpiry `json:"expiry,omitempty"`
  2976  }
  2977  
  2978  // SetRepositoryInteractionLimitInput is an autogenerated input type of SetRepositoryInteractionLimit.
  2979  type SetRepositoryInteractionLimitInput struct {
  2980  	// The ID of the repository to set a limit for. (Required.)
  2981  	RepositoryID ID `json:"repositoryId"`
  2982  	// The limit to set. (Required.)
  2983  	Limit RepositoryInteractionLimit `json:"limit"`
  2984  
  2985  	// A unique identifier for the client performing the mutation. (Optional.)
  2986  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  2987  	// When this limit should expire. (Optional.)
  2988  	Expiry *RepositoryInteractionLimitExpiry `json:"expiry,omitempty"`
  2989  }
  2990  
  2991  // SetUserInteractionLimitInput is an autogenerated input type of SetUserInteractionLimit.
  2992  type SetUserInteractionLimitInput struct {
  2993  	// The ID of the user to set a limit for. (Required.)
  2994  	UserID ID `json:"userId"`
  2995  	// The limit to set. (Required.)
  2996  	Limit RepositoryInteractionLimit `json:"limit"`
  2997  
  2998  	// A unique identifier for the client performing the mutation. (Optional.)
  2999  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3000  	// When this limit should expire. (Optional.)
  3001  	Expiry *RepositoryInteractionLimitExpiry `json:"expiry,omitempty"`
  3002  }
  3003  
  3004  // SponsorAndLifetimeValueOrder represents ordering options for connections to get sponsor entities and associated USD amounts for GitHub Sponsors.
  3005  type SponsorAndLifetimeValueOrder struct {
  3006  	// The field to order results by. (Required.)
  3007  	Field SponsorAndLifetimeValueOrderField `json:"field"`
  3008  	// The ordering direction. (Required.)
  3009  	Direction OrderDirection `json:"direction"`
  3010  }
  3011  
  3012  // SponsorOrder represents ordering options for connections to get sponsor entities for GitHub Sponsors.
  3013  type SponsorOrder struct {
  3014  	// The field to order sponsor entities by. (Required.)
  3015  	Field SponsorOrderField `json:"field"`
  3016  	// The ordering direction. (Required.)
  3017  	Direction OrderDirection `json:"direction"`
  3018  }
  3019  
  3020  // SponsorableOrder represents ordering options for connections to get sponsorable entities for GitHub Sponsors.
  3021  type SponsorableOrder struct {
  3022  	// The field to order sponsorable entities by. (Required.)
  3023  	Field SponsorableOrderField `json:"field"`
  3024  	// The ordering direction. (Required.)
  3025  	Direction OrderDirection `json:"direction"`
  3026  }
  3027  
  3028  // SponsorsActivityOrder represents ordering options for GitHub Sponsors activity connections.
  3029  type SponsorsActivityOrder struct {
  3030  	// The field to order activity by. (Required.)
  3031  	Field SponsorsActivityOrderField `json:"field"`
  3032  	// The ordering direction. (Required.)
  3033  	Direction OrderDirection `json:"direction"`
  3034  }
  3035  
  3036  // SponsorsTierOrder represents ordering options for Sponsors tiers connections.
  3037  type SponsorsTierOrder struct {
  3038  	// The field to order tiers by. (Required.)
  3039  	Field SponsorsTierOrderField `json:"field"`
  3040  	// The ordering direction. (Required.)
  3041  	Direction OrderDirection `json:"direction"`
  3042  }
  3043  
  3044  // SponsorshipNewsletterOrder represents ordering options for sponsorship newsletter connections.
  3045  type SponsorshipNewsletterOrder struct {
  3046  	// The field to order sponsorship newsletters by. (Required.)
  3047  	Field SponsorshipNewsletterOrderField `json:"field"`
  3048  	// The ordering direction. (Required.)
  3049  	Direction OrderDirection `json:"direction"`
  3050  }
  3051  
  3052  // SponsorshipOrder represents ordering options for sponsorship connections.
  3053  type SponsorshipOrder struct {
  3054  	// The field to order sponsorship by. (Required.)
  3055  	Field SponsorshipOrderField `json:"field"`
  3056  	// The ordering direction. (Required.)
  3057  	Direction OrderDirection `json:"direction"`
  3058  }
  3059  
  3060  // StarOrder represents ways in which star connections can be ordered.
  3061  type StarOrder struct {
  3062  	// The field in which to order nodes by. (Required.)
  3063  	Field StarOrderField `json:"field"`
  3064  	// The direction in which to order nodes. (Required.)
  3065  	Direction OrderDirection `json:"direction"`
  3066  }
  3067  
  3068  // StartOrganizationMigrationInput is an autogenerated input type of StartOrganizationMigration.
  3069  type StartOrganizationMigrationInput struct {
  3070  	// The URL of the organization to migrate. (Required.)
  3071  	SourceOrgURL URI `json:"sourceOrgUrl"`
  3072  	// The name of the target organization. (Required.)
  3073  	TargetOrgName String `json:"targetOrgName"`
  3074  	// The ID of the enterprise the target organization belongs to. (Required.)
  3075  	TargetEnterpriseID ID `json:"targetEnterpriseId"`
  3076  	// The migration source access token. (Required.)
  3077  	SourceAccessToken String `json:"sourceAccessToken"`
  3078  
  3079  	// A unique identifier for the client performing the mutation. (Optional.)
  3080  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3081  }
  3082  
  3083  // StartRepositoryMigrationInput is an autogenerated input type of StartRepositoryMigration.
  3084  type StartRepositoryMigrationInput struct {
  3085  	// The ID of the migration source. (Required.)
  3086  	SourceID ID `json:"sourceId"`
  3087  	// The ID of the organization that will own the imported repository. (Required.)
  3088  	OwnerID ID `json:"ownerId"`
  3089  	// The URL of the source repository. (Required.)
  3090  	SourceRepositoryURL URI `json:"sourceRepositoryUrl"`
  3091  	// The name of the imported repository. (Required.)
  3092  	RepositoryName String `json:"repositoryName"`
  3093  
  3094  	// A unique identifier for the client performing the mutation. (Optional.)
  3095  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3096  	// Whether to continue the migration on error. Defaults to `true`. (Optional.)
  3097  	ContinueOnError *Boolean `json:"continueOnError,omitempty"`
  3098  	// The signed URL to access the user-uploaded git archive. (Optional.)
  3099  	GitArchiveURL *String `json:"gitArchiveUrl,omitempty"`
  3100  	// The signed URL to access the user-uploaded metadata archive. (Optional.)
  3101  	MetadataArchiveURL *String `json:"metadataArchiveUrl,omitempty"`
  3102  	// The migration source access token. (Optional.)
  3103  	AccessToken *String `json:"accessToken,omitempty"`
  3104  	// The GitHub personal access token of the user importing to the target repository. (Optional.)
  3105  	GitHubPat *String `json:"githubPat,omitempty"`
  3106  	// Whether to skip migrating releases for the repository. (Optional.)
  3107  	SkipReleases *Boolean `json:"skipReleases,omitempty"`
  3108  	// The visibility of the imported repository. (Optional.)
  3109  	TargetRepoVisibility *String `json:"targetRepoVisibility,omitempty"`
  3110  	// Whether to lock the source repository. (Optional.)
  3111  	LockSource *Boolean `json:"lockSource,omitempty"`
  3112  }
  3113  
  3114  // StatusCheckConfigurationInput represents required status check.
  3115  type StatusCheckConfigurationInput struct {
  3116  	// The status check context name that must be present on the commit. (Required.)
  3117  	Context String `json:"context"`
  3118  
  3119  	// The optional integration ID that this status check must originate from. (Optional.)
  3120  	IntegrationID *Int `json:"integrationId,omitempty"`
  3121  }
  3122  
  3123  // SubmitPullRequestReviewInput is an autogenerated input type of SubmitPullRequestReview.
  3124  type SubmitPullRequestReviewInput struct {
  3125  	// The event to send to the Pull Request Review. (Required.)
  3126  	Event PullRequestReviewEvent `json:"event"`
  3127  
  3128  	// A unique identifier for the client performing the mutation. (Optional.)
  3129  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3130  	// The Pull Request ID to submit any pending reviews. (Optional.)
  3131  	PullRequestID *ID `json:"pullRequestId,omitempty"`
  3132  	// The Pull Request Review ID to submit. (Optional.)
  3133  	PullRequestReviewID *ID `json:"pullRequestReviewId,omitempty"`
  3134  	// The text field to set on the Pull Request Review. (Optional.)
  3135  	Body *String `json:"body,omitempty"`
  3136  }
  3137  
  3138  // TagNamePatternParametersInput represents parameters to be used for the tag_name_pattern rule.
  3139  type TagNamePatternParametersInput struct {
  3140  	// The operator to use for matching. (Required.)
  3141  	Operator String `json:"operator"`
  3142  	// The pattern to match with. (Required.)
  3143  	Pattern String `json:"pattern"`
  3144  
  3145  	// How this rule will appear to users. (Optional.)
  3146  	Name *String `json:"name,omitempty"`
  3147  	// If true, the rule will fail if the pattern matches. (Optional.)
  3148  	Negate *Boolean `json:"negate,omitempty"`
  3149  }
  3150  
  3151  // TeamDiscussionCommentOrder represents ways in which team discussion comment connections can be ordered.
  3152  type TeamDiscussionCommentOrder struct {
  3153  	// The field by which to order nodes. (Required.)
  3154  	Field TeamDiscussionCommentOrderField `json:"field"`
  3155  	// The direction in which to order nodes. (Required.)
  3156  	Direction OrderDirection `json:"direction"`
  3157  }
  3158  
  3159  // TeamDiscussionOrder represents ways in which team discussion connections can be ordered.
  3160  type TeamDiscussionOrder struct {
  3161  	// The field by which to order nodes. (Required.)
  3162  	Field TeamDiscussionOrderField `json:"field"`
  3163  	// The direction in which to order nodes. (Required.)
  3164  	Direction OrderDirection `json:"direction"`
  3165  }
  3166  
  3167  // TeamMemberOrder represents ordering options for team member connections.
  3168  type TeamMemberOrder struct {
  3169  	// The field to order team members by. (Required.)
  3170  	Field TeamMemberOrderField `json:"field"`
  3171  	// The ordering direction. (Required.)
  3172  	Direction OrderDirection `json:"direction"`
  3173  }
  3174  
  3175  // TeamOrder represents ways in which team connections can be ordered.
  3176  type TeamOrder struct {
  3177  	// The field in which to order nodes by. (Required.)
  3178  	Field TeamOrderField `json:"field"`
  3179  	// The direction in which to order nodes. (Required.)
  3180  	Direction OrderDirection `json:"direction"`
  3181  }
  3182  
  3183  // TeamRepositoryOrder represents ordering options for team repository connections.
  3184  type TeamRepositoryOrder struct {
  3185  	// The field to order repositories by. (Required.)
  3186  	Field TeamRepositoryOrderField `json:"field"`
  3187  	// The ordering direction. (Required.)
  3188  	Direction OrderDirection `json:"direction"`
  3189  }
  3190  
  3191  // TransferEnterpriseOrganizationInput is an autogenerated input type of TransferEnterpriseOrganization.
  3192  type TransferEnterpriseOrganizationInput struct {
  3193  	// The ID of the organization to transfer. (Required.)
  3194  	OrganizationID ID `json:"organizationId"`
  3195  	// The ID of the enterprise where the organization should be transferred. (Required.)
  3196  	DestinationEnterpriseID ID `json:"destinationEnterpriseId"`
  3197  
  3198  	// A unique identifier for the client performing the mutation. (Optional.)
  3199  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3200  }
  3201  
  3202  // TransferIssueInput is an autogenerated input type of TransferIssue.
  3203  type TransferIssueInput struct {
  3204  	// The Node ID of the issue to be transferred. (Required.)
  3205  	IssueID ID `json:"issueId"`
  3206  	// The Node ID of the repository the issue should be transferred to. (Required.)
  3207  	RepositoryID ID `json:"repositoryId"`
  3208  
  3209  	// A unique identifier for the client performing the mutation. (Optional.)
  3210  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3211  	// Whether to create labels if they don't exist in the target repository (matched by name). (Optional.)
  3212  	CreateLabelsIfMissing *Boolean `json:"createLabelsIfMissing,omitempty"`
  3213  }
  3214  
  3215  // UnarchiveProjectV2ItemInput is an autogenerated input type of UnarchiveProjectV2Item.
  3216  type UnarchiveProjectV2ItemInput struct {
  3217  	// The ID of the Project to archive the item from. (Required.)
  3218  	ProjectID ID `json:"projectId"`
  3219  	// The ID of the ProjectV2Item to unarchive. (Required.)
  3220  	ItemID ID `json:"itemId"`
  3221  
  3222  	// A unique identifier for the client performing the mutation. (Optional.)
  3223  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3224  }
  3225  
  3226  // UnarchiveRepositoryInput is an autogenerated input type of UnarchiveRepository.
  3227  type UnarchiveRepositoryInput struct {
  3228  	// The ID of the repository to unarchive. (Required.)
  3229  	RepositoryID ID `json:"repositoryId"`
  3230  
  3231  	// A unique identifier for the client performing the mutation. (Optional.)
  3232  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3233  }
  3234  
  3235  // UnfollowOrganizationInput is an autogenerated input type of UnfollowOrganization.
  3236  type UnfollowOrganizationInput struct {
  3237  	// ID of the organization to unfollow. (Required.)
  3238  	OrganizationID ID `json:"organizationId"`
  3239  
  3240  	// A unique identifier for the client performing the mutation. (Optional.)
  3241  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3242  }
  3243  
  3244  // UnfollowUserInput is an autogenerated input type of UnfollowUser.
  3245  type UnfollowUserInput struct {
  3246  	// ID of the user to unfollow. (Required.)
  3247  	UserID ID `json:"userId"`
  3248  
  3249  	// A unique identifier for the client performing the mutation. (Optional.)
  3250  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3251  }
  3252  
  3253  // UnlinkProjectV2FromRepositoryInput is an autogenerated input type of UnlinkProjectV2FromRepository.
  3254  type UnlinkProjectV2FromRepositoryInput struct {
  3255  	// The ID of the project to unlink from the repository. (Required.)
  3256  	ProjectID ID `json:"projectId"`
  3257  	// The ID of the repository to unlink from the project. (Required.)
  3258  	RepositoryID ID `json:"repositoryId"`
  3259  
  3260  	// A unique identifier for the client performing the mutation. (Optional.)
  3261  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3262  }
  3263  
  3264  // UnlinkProjectV2FromTeamInput is an autogenerated input type of UnlinkProjectV2FromTeam.
  3265  type UnlinkProjectV2FromTeamInput struct {
  3266  	// The ID of the project to unlink from the team. (Required.)
  3267  	ProjectID ID `json:"projectId"`
  3268  	// The ID of the team to unlink from the project. (Required.)
  3269  	TeamID ID `json:"teamId"`
  3270  
  3271  	// A unique identifier for the client performing the mutation. (Optional.)
  3272  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3273  }
  3274  
  3275  // UnlinkRepositoryFromProjectInput is an autogenerated input type of UnlinkRepositoryFromProject.
  3276  type UnlinkRepositoryFromProjectInput struct {
  3277  	// The ID of the Project linked to the Repository. (Required.)
  3278  	ProjectID ID `json:"projectId"`
  3279  	// The ID of the Repository linked to the Project. (Required.)
  3280  	RepositoryID ID `json:"repositoryId"`
  3281  
  3282  	// A unique identifier for the client performing the mutation. (Optional.)
  3283  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3284  }
  3285  
  3286  // UnlockLockableInput is an autogenerated input type of UnlockLockable.
  3287  type UnlockLockableInput struct {
  3288  	// ID of the item to be unlocked. (Required.)
  3289  	LockableID ID `json:"lockableId"`
  3290  
  3291  	// A unique identifier for the client performing the mutation. (Optional.)
  3292  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3293  }
  3294  
  3295  // UnmarkDiscussionCommentAsAnswerInput is an autogenerated input type of UnmarkDiscussionCommentAsAnswer.
  3296  type UnmarkDiscussionCommentAsAnswerInput struct {
  3297  	// The Node ID of the discussion comment to unmark as an answer. (Required.)
  3298  	ID ID `json:"id"`
  3299  
  3300  	// A unique identifier for the client performing the mutation. (Optional.)
  3301  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3302  }
  3303  
  3304  // UnmarkFileAsViewedInput is an autogenerated input type of UnmarkFileAsViewed.
  3305  type UnmarkFileAsViewedInput struct {
  3306  	// The Node ID of the pull request. (Required.)
  3307  	PullRequestID ID `json:"pullRequestId"`
  3308  	// The path of the file to mark as unviewed. (Required.)
  3309  	Path String `json:"path"`
  3310  
  3311  	// A unique identifier for the client performing the mutation. (Optional.)
  3312  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3313  }
  3314  
  3315  // UnmarkIssueAsDuplicateInput is an autogenerated input type of UnmarkIssueAsDuplicate.
  3316  type UnmarkIssueAsDuplicateInput struct {
  3317  	// ID of the issue or pull request currently marked as a duplicate. (Required.)
  3318  	DuplicateID ID `json:"duplicateId"`
  3319  	// ID of the issue or pull request currently considered canonical/authoritative/original. (Required.)
  3320  	CanonicalID ID `json:"canonicalId"`
  3321  
  3322  	// A unique identifier for the client performing the mutation. (Optional.)
  3323  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3324  }
  3325  
  3326  // UnmarkProjectV2AsTemplateInput is an autogenerated input type of UnmarkProjectV2AsTemplate.
  3327  type UnmarkProjectV2AsTemplateInput struct {
  3328  	// The ID of the Project to unmark as a template. (Required.)
  3329  	ProjectID ID `json:"projectId"`
  3330  
  3331  	// A unique identifier for the client performing the mutation. (Optional.)
  3332  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3333  }
  3334  
  3335  // UnminimizeCommentInput is an autogenerated input type of UnminimizeComment.
  3336  type UnminimizeCommentInput struct {
  3337  	// The Node ID of the subject to modify. (Required.)
  3338  	SubjectID ID `json:"subjectId"`
  3339  
  3340  	// A unique identifier for the client performing the mutation. (Optional.)
  3341  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3342  }
  3343  
  3344  // UnpinIssueInput is an autogenerated input type of UnpinIssue.
  3345  type UnpinIssueInput struct {
  3346  	// The ID of the issue to be unpinned. (Required.)
  3347  	IssueID ID `json:"issueId"`
  3348  
  3349  	// A unique identifier for the client performing the mutation. (Optional.)
  3350  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3351  }
  3352  
  3353  // UnresolveReviewThreadInput is an autogenerated input type of UnresolveReviewThread.
  3354  type UnresolveReviewThreadInput struct {
  3355  	// The ID of the thread to unresolve. (Required.)
  3356  	ThreadID ID `json:"threadId"`
  3357  
  3358  	// A unique identifier for the client performing the mutation. (Optional.)
  3359  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3360  }
  3361  
  3362  // UnsubscribeFromNotificationsInput is an autogenerated input type of UnsubscribeFromNotifications.
  3363  type UnsubscribeFromNotificationsInput struct {
  3364  	// The NotificationThread IDs of the objects to unsubscribe from. (Required.)
  3365  	IDs []ID `json:"ids"`
  3366  
  3367  	// A unique identifier for the client performing the mutation. (Optional.)
  3368  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3369  }
  3370  
  3371  // UpdateBranchProtectionRuleInput is an autogenerated input type of UpdateBranchProtectionRule.
  3372  type UpdateBranchProtectionRuleInput struct {
  3373  	// The global relay id of the branch protection rule to be updated. (Required.)
  3374  	BranchProtectionRuleID ID `json:"branchProtectionRuleId"`
  3375  
  3376  	// A unique identifier for the client performing the mutation. (Optional.)
  3377  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3378  	// The glob-like pattern used to determine matching branches. (Optional.)
  3379  	Pattern *String `json:"pattern,omitempty"`
  3380  	// Are approving reviews required to update matching branches. (Optional.)
  3381  	RequiresApprovingReviews *Boolean `json:"requiresApprovingReviews,omitempty"`
  3382  	// Number of approving reviews required to update matching branches. (Optional.)
  3383  	RequiredApprovingReviewCount *Int `json:"requiredApprovingReviewCount,omitempty"`
  3384  	// Are commits required to be signed. (Optional.)
  3385  	RequiresCommitSignatures *Boolean `json:"requiresCommitSignatures,omitempty"`
  3386  	// Are merge commits prohibited from being pushed to this branch. (Optional.)
  3387  	RequiresLinearHistory *Boolean `json:"requiresLinearHistory,omitempty"`
  3388  	// Is branch creation a protected operation. (Optional.)
  3389  	BlocksCreations *Boolean `json:"blocksCreations,omitempty"`
  3390  	// Are force pushes allowed on this branch. (Optional.)
  3391  	AllowsForcePushes *Boolean `json:"allowsForcePushes,omitempty"`
  3392  	// Can this branch be deleted. (Optional.)
  3393  	AllowsDeletions *Boolean `json:"allowsDeletions,omitempty"`
  3394  	// Can admins override branch protection. (Optional.)
  3395  	IsAdminEnforced *Boolean `json:"isAdminEnforced,omitempty"`
  3396  	// Are status checks required to update matching branches. (Optional.)
  3397  	RequiresStatusChecks *Boolean `json:"requiresStatusChecks,omitempty"`
  3398  	// Are branches required to be up to date before merging. (Optional.)
  3399  	RequiresStrictStatusChecks *Boolean `json:"requiresStrictStatusChecks,omitempty"`
  3400  	// Are reviews from code owners required to update matching branches. (Optional.)
  3401  	RequiresCodeOwnerReviews *Boolean `json:"requiresCodeOwnerReviews,omitempty"`
  3402  	// Will new commits pushed to matching branches dismiss pull request review approvals. (Optional.)
  3403  	DismissesStaleReviews *Boolean `json:"dismissesStaleReviews,omitempty"`
  3404  	// Is dismissal of pull request reviews restricted. (Optional.)
  3405  	RestrictsReviewDismissals *Boolean `json:"restrictsReviewDismissals,omitempty"`
  3406  	// A list of User, Team, or App IDs allowed to dismiss reviews on pull requests targeting matching branches. (Optional.)
  3407  	ReviewDismissalActorIDs *[]ID `json:"reviewDismissalActorIds,omitempty"`
  3408  	// A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. (Optional.)
  3409  	BypassPullRequestActorIDs *[]ID `json:"bypassPullRequestActorIds,omitempty"`
  3410  	// A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. (Optional.)
  3411  	BypassForcePushActorIDs *[]ID `json:"bypassForcePushActorIds,omitempty"`
  3412  	// Is pushing to matching branches restricted. (Optional.)
  3413  	RestrictsPushes *Boolean `json:"restrictsPushes,omitempty"`
  3414  	// A list of User, Team, or App IDs allowed to push to matching branches. (Optional.)
  3415  	PushActorIDs *[]ID `json:"pushActorIds,omitempty"`
  3416  	// List of required status check contexts that must pass for commits to be accepted to matching branches. (Optional.)
  3417  	RequiredStatusCheckContexts *[]String `json:"requiredStatusCheckContexts,omitempty"`
  3418  	// The list of required status checks. (Optional.)
  3419  	RequiredStatusChecks *[]RequiredStatusCheckInput `json:"requiredStatusChecks,omitempty"`
  3420  	// Are successful deployments required before merging. (Optional.)
  3421  	RequiresDeployments *Boolean `json:"requiresDeployments,omitempty"`
  3422  	// The list of required deployment environments. (Optional.)
  3423  	RequiredDeploymentEnvironments *[]String `json:"requiredDeploymentEnvironments,omitempty"`
  3424  	// Are conversations required to be resolved before merging. (Optional.)
  3425  	RequiresConversationResolution *Boolean `json:"requiresConversationResolution,omitempty"`
  3426  	// Whether the most recent push must be approved by someone other than the person who pushed it. (Optional.)
  3427  	RequireLastPushApproval *Boolean `json:"requireLastPushApproval,omitempty"`
  3428  	// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. (Optional.)
  3429  	LockBranch *Boolean `json:"lockBranch,omitempty"`
  3430  	// Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. (Optional.)
  3431  	LockAllowsFetchAndMerge *Boolean `json:"lockAllowsFetchAndMerge,omitempty"`
  3432  }
  3433  
  3434  // UpdateCheckRunInput is an autogenerated input type of UpdateCheckRun.
  3435  type UpdateCheckRunInput struct {
  3436  	// The node ID of the repository. (Required.)
  3437  	RepositoryID ID `json:"repositoryId"`
  3438  	// The node of the check. (Required.)
  3439  	CheckRunID ID `json:"checkRunId"`
  3440  
  3441  	// A unique identifier for the client performing the mutation. (Optional.)
  3442  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3443  	// The name of the check. (Optional.)
  3444  	Name *String `json:"name,omitempty"`
  3445  	// The URL of the integrator's site that has the full details of the check. (Optional.)
  3446  	DetailsURL *URI `json:"detailsUrl,omitempty"`
  3447  	// A reference for the run on the integrator's system. (Optional.)
  3448  	ExternalID *String `json:"externalId,omitempty"`
  3449  	// The current status. (Optional.)
  3450  	Status *RequestableCheckStatusState `json:"status,omitempty"`
  3451  	// The time that the check run began. (Optional.)
  3452  	StartedAt *DateTime `json:"startedAt,omitempty"`
  3453  	// The final conclusion of the check. (Optional.)
  3454  	Conclusion *CheckConclusionState `json:"conclusion,omitempty"`
  3455  	// The time that the check run finished. (Optional.)
  3456  	CompletedAt *DateTime `json:"completedAt,omitempty"`
  3457  	// Descriptive details about the run. (Optional.)
  3458  	Output *CheckRunOutput `json:"output,omitempty"`
  3459  	// Possible further actions the integrator can perform, which a user may trigger. (Optional.)
  3460  	Actions *[]CheckRunAction `json:"actions,omitempty"`
  3461  }
  3462  
  3463  // UpdateCheckSuitePreferencesInput is an autogenerated input type of UpdateCheckSuitePreferences.
  3464  type UpdateCheckSuitePreferencesInput struct {
  3465  	// The Node ID of the repository. (Required.)
  3466  	RepositoryID ID `json:"repositoryId"`
  3467  	// The check suite preferences to modify. (Required.)
  3468  	AutoTriggerPreferences []CheckSuiteAutoTriggerPreference `json:"autoTriggerPreferences"`
  3469  
  3470  	// A unique identifier for the client performing the mutation. (Optional.)
  3471  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3472  }
  3473  
  3474  // UpdateDiscussionCommentInput is an autogenerated input type of UpdateDiscussionComment.
  3475  type UpdateDiscussionCommentInput struct {
  3476  	// The Node ID of the discussion comment to update. (Required.)
  3477  	CommentID ID `json:"commentId"`
  3478  	// The new contents of the comment body. (Required.)
  3479  	Body String `json:"body"`
  3480  
  3481  	// A unique identifier for the client performing the mutation. (Optional.)
  3482  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3483  }
  3484  
  3485  // UpdateDiscussionInput is an autogenerated input type of UpdateDiscussion.
  3486  type UpdateDiscussionInput struct {
  3487  	// The Node ID of the discussion to update. (Required.)
  3488  	DiscussionID ID `json:"discussionId"`
  3489  
  3490  	// A unique identifier for the client performing the mutation. (Optional.)
  3491  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3492  	// The new discussion title. (Optional.)
  3493  	Title *String `json:"title,omitempty"`
  3494  	// The new contents of the discussion body. (Optional.)
  3495  	Body *String `json:"body,omitempty"`
  3496  	// The Node ID of a discussion category within the same repository to change this discussion to. (Optional.)
  3497  	CategoryID *ID `json:"categoryId,omitempty"`
  3498  }
  3499  
  3500  // UpdateEnterpriseAdministratorRoleInput is an autogenerated input type of UpdateEnterpriseAdministratorRole.
  3501  type UpdateEnterpriseAdministratorRoleInput struct {
  3502  	// The ID of the Enterprise which the admin belongs to. (Required.)
  3503  	EnterpriseID ID `json:"enterpriseId"`
  3504  	// The login of a administrator whose role is being changed. (Required.)
  3505  	Login String `json:"login"`
  3506  	// The new role for the Enterprise administrator. (Required.)
  3507  	Role EnterpriseAdministratorRole `json:"role"`
  3508  
  3509  	// A unique identifier for the client performing the mutation. (Optional.)
  3510  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3511  }
  3512  
  3513  // UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput is an autogenerated input type of UpdateEnterpriseAllowPrivateRepositoryForkingSetting.
  3514  type UpdateEnterpriseAllowPrivateRepositoryForkingSettingInput struct {
  3515  	// The ID of the enterprise on which to set the allow private repository forking setting. (Required.)
  3516  	EnterpriseID ID `json:"enterpriseId"`
  3517  	// The value for the allow private repository forking setting on the enterprise. (Required.)
  3518  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3519  
  3520  	// A unique identifier for the client performing the mutation. (Optional.)
  3521  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3522  	// The value for the allow private repository forking policy on the enterprise. (Optional.)
  3523  	PolicyValue *EnterpriseAllowPrivateRepositoryForkingPolicyValue `json:"policyValue,omitempty"`
  3524  }
  3525  
  3526  // UpdateEnterpriseDefaultRepositoryPermissionSettingInput is an autogenerated input type of UpdateEnterpriseDefaultRepositoryPermissionSetting.
  3527  type UpdateEnterpriseDefaultRepositoryPermissionSettingInput struct {
  3528  	// The ID of the enterprise on which to set the base repository permission setting. (Required.)
  3529  	EnterpriseID ID `json:"enterpriseId"`
  3530  	// The value for the base repository permission setting on the enterprise. (Required.)
  3531  	SettingValue EnterpriseDefaultRepositoryPermissionSettingValue `json:"settingValue"`
  3532  
  3533  	// A unique identifier for the client performing the mutation. (Optional.)
  3534  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3535  }
  3536  
  3537  // UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput is an autogenerated input type of UpdateEnterpriseMembersCanChangeRepositoryVisibilitySetting.
  3538  type UpdateEnterpriseMembersCanChangeRepositoryVisibilitySettingInput struct {
  3539  	// The ID of the enterprise on which to set the members can change repository visibility setting. (Required.)
  3540  	EnterpriseID ID `json:"enterpriseId"`
  3541  	// The value for the members can change repository visibility setting on the enterprise. (Required.)
  3542  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3543  
  3544  	// A unique identifier for the client performing the mutation. (Optional.)
  3545  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3546  }
  3547  
  3548  // UpdateEnterpriseMembersCanCreateRepositoriesSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanCreateRepositoriesSetting.
  3549  type UpdateEnterpriseMembersCanCreateRepositoriesSettingInput struct {
  3550  	// The ID of the enterprise on which to set the members can create repositories setting. (Required.)
  3551  	EnterpriseID ID `json:"enterpriseId"`
  3552  
  3553  	// A unique identifier for the client performing the mutation. (Optional.)
  3554  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3555  	// Value for the members can create repositories setting on the enterprise. This or the granular public/private/internal allowed fields (but not both) must be provided. (Optional.)
  3556  	SettingValue *EnterpriseMembersCanCreateRepositoriesSettingValue `json:"settingValue,omitempty"`
  3557  	// When false, allow member organizations to set their own repository creation member privileges. (Optional.)
  3558  	MembersCanCreateRepositoriesPolicyEnabled *Boolean `json:"membersCanCreateRepositoriesPolicyEnabled,omitempty"`
  3559  	// Allow members to create public repositories. Defaults to current value. (Optional.)
  3560  	MembersCanCreatePublicRepositories *Boolean `json:"membersCanCreatePublicRepositories,omitempty"`
  3561  	// Allow members to create private repositories. Defaults to current value. (Optional.)
  3562  	MembersCanCreatePrivateRepositories *Boolean `json:"membersCanCreatePrivateRepositories,omitempty"`
  3563  	// Allow members to create internal repositories. Defaults to current value. (Optional.)
  3564  	MembersCanCreateInternalRepositories *Boolean `json:"membersCanCreateInternalRepositories,omitempty"`
  3565  }
  3566  
  3567  // UpdateEnterpriseMembersCanDeleteIssuesSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanDeleteIssuesSetting.
  3568  type UpdateEnterpriseMembersCanDeleteIssuesSettingInput struct {
  3569  	// The ID of the enterprise on which to set the members can delete issues setting. (Required.)
  3570  	EnterpriseID ID `json:"enterpriseId"`
  3571  	// The value for the members can delete issues setting on the enterprise. (Required.)
  3572  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3573  
  3574  	// A unique identifier for the client performing the mutation. (Optional.)
  3575  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3576  }
  3577  
  3578  // UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanDeleteRepositoriesSetting.
  3579  type UpdateEnterpriseMembersCanDeleteRepositoriesSettingInput struct {
  3580  	// The ID of the enterprise on which to set the members can delete repositories setting. (Required.)
  3581  	EnterpriseID ID `json:"enterpriseId"`
  3582  	// The value for the members can delete repositories setting on the enterprise. (Required.)
  3583  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3584  
  3585  	// A unique identifier for the client performing the mutation. (Optional.)
  3586  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3587  }
  3588  
  3589  // UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanInviteCollaboratorsSetting.
  3590  type UpdateEnterpriseMembersCanInviteCollaboratorsSettingInput struct {
  3591  	// The ID of the enterprise on which to set the members can invite collaborators setting. (Required.)
  3592  	EnterpriseID ID `json:"enterpriseId"`
  3593  	// The value for the members can invite collaborators setting on the enterprise. (Required.)
  3594  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3595  
  3596  	// A unique identifier for the client performing the mutation. (Optional.)
  3597  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3598  }
  3599  
  3600  // UpdateEnterpriseMembersCanMakePurchasesSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanMakePurchasesSetting.
  3601  type UpdateEnterpriseMembersCanMakePurchasesSettingInput struct {
  3602  	// The ID of the enterprise on which to set the members can make purchases setting. (Required.)
  3603  	EnterpriseID ID `json:"enterpriseId"`
  3604  	// The value for the members can make purchases setting on the enterprise. (Required.)
  3605  	SettingValue EnterpriseMembersCanMakePurchasesSettingValue `json:"settingValue"`
  3606  
  3607  	// A unique identifier for the client performing the mutation. (Optional.)
  3608  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3609  }
  3610  
  3611  // UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanUpdateProtectedBranchesSetting.
  3612  type UpdateEnterpriseMembersCanUpdateProtectedBranchesSettingInput struct {
  3613  	// The ID of the enterprise on which to set the members can update protected branches setting. (Required.)
  3614  	EnterpriseID ID `json:"enterpriseId"`
  3615  	// The value for the members can update protected branches setting on the enterprise. (Required.)
  3616  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3617  
  3618  	// A unique identifier for the client performing the mutation. (Optional.)
  3619  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3620  }
  3621  
  3622  // UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput is an autogenerated input type of UpdateEnterpriseMembersCanViewDependencyInsightsSetting.
  3623  type UpdateEnterpriseMembersCanViewDependencyInsightsSettingInput struct {
  3624  	// The ID of the enterprise on which to set the members can view dependency insights setting. (Required.)
  3625  	EnterpriseID ID `json:"enterpriseId"`
  3626  	// The value for the members can view dependency insights setting on the enterprise. (Required.)
  3627  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3628  
  3629  	// A unique identifier for the client performing the mutation. (Optional.)
  3630  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3631  }
  3632  
  3633  // UpdateEnterpriseOrganizationProjectsSettingInput is an autogenerated input type of UpdateEnterpriseOrganizationProjectsSetting.
  3634  type UpdateEnterpriseOrganizationProjectsSettingInput struct {
  3635  	// The ID of the enterprise on which to set the organization projects setting. (Required.)
  3636  	EnterpriseID ID `json:"enterpriseId"`
  3637  	// The value for the organization projects setting on the enterprise. (Required.)
  3638  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3639  
  3640  	// A unique identifier for the client performing the mutation. (Optional.)
  3641  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3642  }
  3643  
  3644  // UpdateEnterpriseOwnerOrganizationRoleInput is an autogenerated input type of UpdateEnterpriseOwnerOrganizationRole.
  3645  type UpdateEnterpriseOwnerOrganizationRoleInput struct {
  3646  	// The ID of the Enterprise which the owner belongs to. (Required.)
  3647  	EnterpriseID ID `json:"enterpriseId"`
  3648  	// The ID of the organization for membership change. (Required.)
  3649  	OrganizationID ID `json:"organizationId"`
  3650  	// The role to assume in the organization. (Required.)
  3651  	OrganizationRole RoleInOrganization `json:"organizationRole"`
  3652  
  3653  	// A unique identifier for the client performing the mutation. (Optional.)
  3654  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3655  }
  3656  
  3657  // UpdateEnterpriseProfileInput is an autogenerated input type of UpdateEnterpriseProfile.
  3658  type UpdateEnterpriseProfileInput struct {
  3659  	// The Enterprise ID to update. (Required.)
  3660  	EnterpriseID ID `json:"enterpriseId"`
  3661  
  3662  	// A unique identifier for the client performing the mutation. (Optional.)
  3663  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3664  	// The name of the enterprise. (Optional.)
  3665  	Name *String `json:"name,omitempty"`
  3666  	// The description of the enterprise. (Optional.)
  3667  	Description *String `json:"description,omitempty"`
  3668  	// The URL of the enterprise's website. (Optional.)
  3669  	WebsiteURL *String `json:"websiteUrl,omitempty"`
  3670  	// The location of the enterprise. (Optional.)
  3671  	Location *String `json:"location,omitempty"`
  3672  }
  3673  
  3674  // UpdateEnterpriseRepositoryProjectsSettingInput is an autogenerated input type of UpdateEnterpriseRepositoryProjectsSetting.
  3675  type UpdateEnterpriseRepositoryProjectsSettingInput struct {
  3676  	// The ID of the enterprise on which to set the repository projects setting. (Required.)
  3677  	EnterpriseID ID `json:"enterpriseId"`
  3678  	// The value for the repository projects setting on the enterprise. (Required.)
  3679  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3680  
  3681  	// A unique identifier for the client performing the mutation. (Optional.)
  3682  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3683  }
  3684  
  3685  // UpdateEnterpriseTeamDiscussionsSettingInput is an autogenerated input type of UpdateEnterpriseTeamDiscussionsSetting.
  3686  type UpdateEnterpriseTeamDiscussionsSettingInput struct {
  3687  	// The ID of the enterprise on which to set the team discussions setting. (Required.)
  3688  	EnterpriseID ID `json:"enterpriseId"`
  3689  	// The value for the team discussions setting on the enterprise. (Required.)
  3690  	SettingValue EnterpriseEnabledDisabledSettingValue `json:"settingValue"`
  3691  
  3692  	// A unique identifier for the client performing the mutation. (Optional.)
  3693  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3694  }
  3695  
  3696  // UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput is an autogenerated input type of UpdateEnterpriseTwoFactorAuthenticationRequiredSetting.
  3697  type UpdateEnterpriseTwoFactorAuthenticationRequiredSettingInput struct {
  3698  	// The ID of the enterprise on which to set the two factor authentication required setting. (Required.)
  3699  	EnterpriseID ID `json:"enterpriseId"`
  3700  	// The value for the two factor authentication required setting on the enterprise. (Required.)
  3701  	SettingValue EnterpriseEnabledSettingValue `json:"settingValue"`
  3702  
  3703  	// A unique identifier for the client performing the mutation. (Optional.)
  3704  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3705  }
  3706  
  3707  // UpdateEnvironmentInput is an autogenerated input type of UpdateEnvironment.
  3708  type UpdateEnvironmentInput struct {
  3709  	// The node ID of the environment. (Required.)
  3710  	EnvironmentID ID `json:"environmentId"`
  3711  
  3712  	// A unique identifier for the client performing the mutation. (Optional.)
  3713  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3714  	// The wait timer in minutes. (Optional.)
  3715  	WaitTimer *Int `json:"waitTimer,omitempty"`
  3716  	// The ids of users or teams that can approve deployments to this environment. (Optional.)
  3717  	Reviewers *[]ID `json:"reviewers,omitempty"`
  3718  	// Whether deployments to this environment can be approved by the user who created the deployment. (Optional.)
  3719  	PreventSelfReview *Boolean `json:"preventSelfReview,omitempty"`
  3720  }
  3721  
  3722  // UpdateIpAllowListEnabledSettingInput is an autogenerated input type of UpdateIpAllowListEnabledSetting.
  3723  type UpdateIpAllowListEnabledSettingInput struct {
  3724  	// The ID of the owner on which to set the IP allow list enabled setting. (Required.)
  3725  	OwnerID ID `json:"ownerId"`
  3726  	// The value for the IP allow list enabled setting. (Required.)
  3727  	SettingValue IpAllowListEnabledSettingValue `json:"settingValue"`
  3728  
  3729  	// A unique identifier for the client performing the mutation. (Optional.)
  3730  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3731  }
  3732  
  3733  // UpdateIpAllowListEntryInput is an autogenerated input type of UpdateIpAllowListEntry.
  3734  type UpdateIpAllowListEntryInput struct {
  3735  	// The ID of the IP allow list entry to update. (Required.)
  3736  	IPAllowListEntryID ID `json:"ipAllowListEntryId"`
  3737  	// An IP address or range of addresses in CIDR notation. (Required.)
  3738  	AllowListValue String `json:"allowListValue"`
  3739  	// Whether the IP allow list entry is active when an IP allow list is enabled. (Required.)
  3740  	IsActive Boolean `json:"isActive"`
  3741  
  3742  	// A unique identifier for the client performing the mutation. (Optional.)
  3743  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3744  	// An optional name for the IP allow list entry. (Optional.)
  3745  	Name *String `json:"name,omitempty"`
  3746  }
  3747  
  3748  // UpdateIpAllowListForInstalledAppsEnabledSettingInput is an autogenerated input type of UpdateIpAllowListForInstalledAppsEnabledSetting.
  3749  type UpdateIpAllowListForInstalledAppsEnabledSettingInput struct {
  3750  	// The ID of the owner. (Required.)
  3751  	OwnerID ID `json:"ownerId"`
  3752  	// The value for the IP allow list configuration for installed GitHub Apps setting. (Required.)
  3753  	SettingValue IpAllowListForInstalledAppsEnabledSettingValue `json:"settingValue"`
  3754  
  3755  	// A unique identifier for the client performing the mutation. (Optional.)
  3756  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3757  }
  3758  
  3759  // UpdateIssueCommentInput is an autogenerated input type of UpdateIssueComment.
  3760  type UpdateIssueCommentInput struct {
  3761  	// The ID of the IssueComment to modify. (Required.)
  3762  	ID ID `json:"id"`
  3763  	// The updated text of the comment. (Required.)
  3764  	Body String `json:"body"`
  3765  
  3766  	// A unique identifier for the client performing the mutation. (Optional.)
  3767  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3768  }
  3769  
  3770  // UpdateIssueInput is an autogenerated input type of UpdateIssue.
  3771  type UpdateIssueInput struct {
  3772  	// The ID of the Issue to modify. (Required.)
  3773  	ID ID `json:"id"`
  3774  
  3775  	// A unique identifier for the client performing the mutation. (Optional.)
  3776  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3777  	// The title for the issue. (Optional.)
  3778  	Title *String `json:"title,omitempty"`
  3779  	// The body for the issue description. (Optional.)
  3780  	Body *String `json:"body,omitempty"`
  3781  	// An array of Node IDs of users for this issue. (Optional.)
  3782  	AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
  3783  	// The Node ID of the milestone for this issue. (Optional.)
  3784  	MilestoneID *ID `json:"milestoneId,omitempty"`
  3785  	// An array of Node IDs of labels for this issue. (Optional.)
  3786  	LabelIDs *[]ID `json:"labelIds,omitempty"`
  3787  	// The desired issue state. (Optional.)
  3788  	State *IssueState `json:"state,omitempty"`
  3789  	// An array of Node IDs for projects associated with this issue. (Optional.)
  3790  	ProjectIDs *[]ID `json:"projectIds,omitempty"`
  3791  }
  3792  
  3793  // UpdateLabelInput is an autogenerated input type of UpdateLabel.
  3794  type UpdateLabelInput struct {
  3795  	// The Node ID of the label to be updated. (Required.)
  3796  	ID ID `json:"id"`
  3797  
  3798  	// A unique identifier for the client performing the mutation. (Optional.)
  3799  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3800  	// A 6 character hex code, without the leading #, identifying the updated color of the label. (Optional.)
  3801  	Color *String `json:"color,omitempty"`
  3802  	// A brief description of the label, such as its purpose. (Optional.)
  3803  	Description *String `json:"description,omitempty"`
  3804  	// The updated name of the label. (Optional.)
  3805  	Name *String `json:"name,omitempty"`
  3806  }
  3807  
  3808  // UpdateNotificationRestrictionSettingInput is an autogenerated input type of UpdateNotificationRestrictionSetting.
  3809  type UpdateNotificationRestrictionSettingInput struct {
  3810  	// The ID of the owner on which to set the restrict notifications setting. (Required.)
  3811  	OwnerID ID `json:"ownerId"`
  3812  	// The value for the restrict notifications setting. (Required.)
  3813  	SettingValue NotificationRestrictionSettingValue `json:"settingValue"`
  3814  
  3815  	// A unique identifier for the client performing the mutation. (Optional.)
  3816  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3817  }
  3818  
  3819  // UpdateOrganizationAllowPrivateRepositoryForkingSettingInput is an autogenerated input type of UpdateOrganizationAllowPrivateRepositoryForkingSetting.
  3820  type UpdateOrganizationAllowPrivateRepositoryForkingSettingInput struct {
  3821  	// The ID of the organization on which to set the allow private repository forking setting. (Required.)
  3822  	OrganizationID ID `json:"organizationId"`
  3823  	// Enable forking of private repositories in the organization?. (Required.)
  3824  	ForkingEnabled Boolean `json:"forkingEnabled"`
  3825  
  3826  	// A unique identifier for the client performing the mutation. (Optional.)
  3827  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3828  }
  3829  
  3830  // UpdateOrganizationWebCommitSignoffSettingInput is an autogenerated input type of UpdateOrganizationWebCommitSignoffSetting.
  3831  type UpdateOrganizationWebCommitSignoffSettingInput struct {
  3832  	// The ID of the organization on which to set the web commit signoff setting. (Required.)
  3833  	OrganizationID ID `json:"organizationId"`
  3834  	// Enable signoff on web-based commits for repositories in the organization?. (Required.)
  3835  	WebCommitSignoffRequired Boolean `json:"webCommitSignoffRequired"`
  3836  
  3837  	// A unique identifier for the client performing the mutation. (Optional.)
  3838  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3839  }
  3840  
  3841  // UpdateParametersInput represents only allow users with bypass permission to update matching refs.
  3842  type UpdateParametersInput struct {
  3843  	// Branch can pull changes from its upstream repository. (Required.)
  3844  	UpdateAllowsFetchAndMerge Boolean `json:"updateAllowsFetchAndMerge"`
  3845  }
  3846  
  3847  // UpdatePatreonSponsorabilityInput is an autogenerated input type of UpdatePatreonSponsorability.
  3848  type UpdatePatreonSponsorabilityInput struct {
  3849  	// Whether Patreon tiers should be shown on the GitHub Sponsors profile page, allowing potential sponsors to make their payment through Patreon instead of GitHub. (Required.)
  3850  	EnablePatreonSponsorships Boolean `json:"enablePatreonSponsorships"`
  3851  
  3852  	// A unique identifier for the client performing the mutation. (Optional.)
  3853  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3854  	// The username of the organization with the GitHub Sponsors profile, if any. Defaults to the GitHub Sponsors profile for the authenticated user if omitted. (Optional.)
  3855  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
  3856  }
  3857  
  3858  // UpdateProjectCardInput is an autogenerated input type of UpdateProjectCard.
  3859  type UpdateProjectCardInput struct {
  3860  	// The ProjectCard ID to update. (Required.)
  3861  	ProjectCardID ID `json:"projectCardId"`
  3862  
  3863  	// A unique identifier for the client performing the mutation. (Optional.)
  3864  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3865  	// Whether or not the ProjectCard should be archived. (Optional.)
  3866  	IsArchived *Boolean `json:"isArchived,omitempty"`
  3867  	// The note of ProjectCard. (Optional.)
  3868  	Note *String `json:"note,omitempty"`
  3869  }
  3870  
  3871  // UpdateProjectColumnInput is an autogenerated input type of UpdateProjectColumn.
  3872  type UpdateProjectColumnInput struct {
  3873  	// The ProjectColumn ID to update. (Required.)
  3874  	ProjectColumnID ID `json:"projectColumnId"`
  3875  	// The name of project column. (Required.)
  3876  	Name String `json:"name"`
  3877  
  3878  	// A unique identifier for the client performing the mutation. (Optional.)
  3879  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3880  }
  3881  
  3882  // UpdateProjectInput is an autogenerated input type of UpdateProject.
  3883  type UpdateProjectInput struct {
  3884  	// The Project ID to update. (Required.)
  3885  	ProjectID ID `json:"projectId"`
  3886  
  3887  	// A unique identifier for the client performing the mutation. (Optional.)
  3888  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3889  	// The name of project. (Optional.)
  3890  	Name *String `json:"name,omitempty"`
  3891  	// The description of project. (Optional.)
  3892  	Body *String `json:"body,omitempty"`
  3893  	// Whether the project is open or closed. (Optional.)
  3894  	State *ProjectState `json:"state,omitempty"`
  3895  	// Whether the project is public or not. (Optional.)
  3896  	Public *Boolean `json:"public,omitempty"`
  3897  }
  3898  
  3899  // UpdateProjectV2CollaboratorsInput is an autogenerated input type of UpdateProjectV2Collaborators.
  3900  type UpdateProjectV2CollaboratorsInput struct {
  3901  	// The ID of the project to update the collaborators for. (Required.)
  3902  	ProjectID ID `json:"projectId"`
  3903  	// The collaborators to update. (Required.)
  3904  	Collaborators []ProjectV2Collaborator `json:"collaborators"`
  3905  
  3906  	// A unique identifier for the client performing the mutation. (Optional.)
  3907  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3908  }
  3909  
  3910  // UpdateProjectV2DraftIssueInput is an autogenerated input type of UpdateProjectV2DraftIssue.
  3911  type UpdateProjectV2DraftIssueInput struct {
  3912  	// The ID of the draft issue to update. (Required.)
  3913  	DraftIssueID ID `json:"draftIssueId"`
  3914  
  3915  	// A unique identifier for the client performing the mutation. (Optional.)
  3916  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3917  	// The title of the draft issue. (Optional.)
  3918  	Title *String `json:"title,omitempty"`
  3919  	// The body of the draft issue. (Optional.)
  3920  	Body *String `json:"body,omitempty"`
  3921  	// The IDs of the assignees of the draft issue. (Optional.)
  3922  	AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
  3923  }
  3924  
  3925  // UpdateProjectV2Input is an autogenerated input type of UpdateProjectV2.
  3926  type UpdateProjectV2Input struct {
  3927  	// The ID of the Project to update. (Required.)
  3928  	ProjectID ID `json:"projectId"`
  3929  
  3930  	// A unique identifier for the client performing the mutation. (Optional.)
  3931  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3932  	// Set the title of the project. (Optional.)
  3933  	Title *String `json:"title,omitempty"`
  3934  	// Set the short description of the project. (Optional.)
  3935  	ShortDescription *String `json:"shortDescription,omitempty"`
  3936  	// Set the readme description of the project. (Optional.)
  3937  	Readme *String `json:"readme,omitempty"`
  3938  	// Set the project to closed or open. (Optional.)
  3939  	Closed *Boolean `json:"closed,omitempty"`
  3940  	// Set the project to public or private. (Optional.)
  3941  	Public *Boolean `json:"public,omitempty"`
  3942  }
  3943  
  3944  // UpdateProjectV2ItemFieldValueInput is an autogenerated input type of UpdateProjectV2ItemFieldValue.
  3945  type UpdateProjectV2ItemFieldValueInput struct {
  3946  	// The ID of the Project. (Required.)
  3947  	ProjectID ID `json:"projectId"`
  3948  	// The ID of the item to be updated. (Required.)
  3949  	ItemID ID `json:"itemId"`
  3950  	// The ID of the field to be updated. (Required.)
  3951  	FieldID ID `json:"fieldId"`
  3952  	// The value which will be set on the field. (Required.)
  3953  	Value ProjectV2FieldValue `json:"value"`
  3954  
  3955  	// A unique identifier for the client performing the mutation. (Optional.)
  3956  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3957  }
  3958  
  3959  // UpdateProjectV2ItemPositionInput is an autogenerated input type of UpdateProjectV2ItemPosition.
  3960  type UpdateProjectV2ItemPositionInput struct {
  3961  	// The ID of the Project. (Required.)
  3962  	ProjectID ID `json:"projectId"`
  3963  	// The ID of the item to be moved. (Required.)
  3964  	ItemID ID `json:"itemId"`
  3965  
  3966  	// A unique identifier for the client performing the mutation. (Optional.)
  3967  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3968  	// The ID of the item to position this item after. If omitted or set to null the item will be moved to top. (Optional.)
  3969  	AfterID *ID `json:"afterId,omitempty"`
  3970  }
  3971  
  3972  // UpdateProjectV2StatusUpdateInput is an autogenerated input type of UpdateProjectV2StatusUpdate.
  3973  type UpdateProjectV2StatusUpdateInput struct {
  3974  	// The ID of the status update to be updated. (Required.)
  3975  	StatusUpdateID ID `json:"statusUpdateId"`
  3976  
  3977  	// A unique identifier for the client performing the mutation. (Optional.)
  3978  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3979  	// The start date of the status update. (Optional.)
  3980  	StartDate *Date `json:"startDate,omitempty"`
  3981  	// The target date of the status update. (Optional.)
  3982  	TargetDate *Date `json:"targetDate,omitempty"`
  3983  	// The status of the status update. (Optional.)
  3984  	Status *ProjectV2StatusUpdateStatus `json:"status,omitempty"`
  3985  	// The body of the status update. (Optional.)
  3986  	Body *String `json:"body,omitempty"`
  3987  }
  3988  
  3989  // UpdatePullRequestBranchInput is an autogenerated input type of UpdatePullRequestBranch.
  3990  type UpdatePullRequestBranchInput struct {
  3991  	// The Node ID of the pull request. (Required.)
  3992  	PullRequestID ID `json:"pullRequestId"`
  3993  
  3994  	// A unique identifier for the client performing the mutation. (Optional.)
  3995  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  3996  	// The head ref oid for the upstream branch. (Optional.)
  3997  	ExpectedHeadOid *GitObjectID `json:"expectedHeadOid,omitempty"`
  3998  	// The update branch method to use. If omitted, defaults to 'MERGE'. (Optional.)
  3999  	UpdateMethod *PullRequestBranchUpdateMethod `json:"updateMethod,omitempty"`
  4000  }
  4001  
  4002  // UpdatePullRequestInput is an autogenerated input type of UpdatePullRequest.
  4003  type UpdatePullRequestInput struct {
  4004  	// The Node ID of the pull request. (Required.)
  4005  	PullRequestID ID `json:"pullRequestId"`
  4006  
  4007  	// A unique identifier for the client performing the mutation. (Optional.)
  4008  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4009  	// The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. (Optional.)
  4010  	BaseRefName *String `json:"baseRefName,omitempty"`
  4011  	// The title of the pull request. (Optional.)
  4012  	Title *String `json:"title,omitempty"`
  4013  	// The contents of the pull request. (Optional.)
  4014  	Body *String `json:"body,omitempty"`
  4015  	// The target state of the pull request. (Optional.)
  4016  	State *PullRequestUpdateState `json:"state,omitempty"`
  4017  	// Indicates whether maintainers can modify the pull request. (Optional.)
  4018  	MaintainerCanModify *Boolean `json:"maintainerCanModify,omitempty"`
  4019  	// An array of Node IDs of users for this pull request. (Optional.)
  4020  	AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
  4021  	// The Node ID of the milestone for this pull request. (Optional.)
  4022  	MilestoneID *ID `json:"milestoneId,omitempty"`
  4023  	// An array of Node IDs of labels for this pull request. (Optional.)
  4024  	LabelIDs *[]ID `json:"labelIds,omitempty"`
  4025  	// An array of Node IDs for projects associated with this pull request. (Optional.)
  4026  	ProjectIDs *[]ID `json:"projectIds,omitempty"`
  4027  }
  4028  
  4029  // UpdatePullRequestReviewCommentInput is an autogenerated input type of UpdatePullRequestReviewComment.
  4030  type UpdatePullRequestReviewCommentInput struct {
  4031  	// The Node ID of the comment to modify. (Required.)
  4032  	PullRequestReviewCommentID ID `json:"pullRequestReviewCommentId"`
  4033  	// The text of the comment. (Required.)
  4034  	Body String `json:"body"`
  4035  
  4036  	// A unique identifier for the client performing the mutation. (Optional.)
  4037  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4038  }
  4039  
  4040  // UpdatePullRequestReviewInput is an autogenerated input type of UpdatePullRequestReview.
  4041  type UpdatePullRequestReviewInput struct {
  4042  	// The Node ID of the pull request review to modify. (Required.)
  4043  	PullRequestReviewID ID `json:"pullRequestReviewId"`
  4044  	// The contents of the pull request review body. (Required.)
  4045  	Body String `json:"body"`
  4046  
  4047  	// A unique identifier for the client performing the mutation. (Optional.)
  4048  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4049  }
  4050  
  4051  // UpdateRefInput is an autogenerated input type of UpdateRef.
  4052  type UpdateRefInput struct {
  4053  	// The Node ID of the Ref to be updated. (Required.)
  4054  	RefID ID `json:"refId"`
  4055  	// The GitObjectID that the Ref shall be updated to target. (Required.)
  4056  	Oid GitObjectID `json:"oid"`
  4057  
  4058  	// A unique identifier for the client performing the mutation. (Optional.)
  4059  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4060  	// Permit updates of branch Refs that are not fast-forwards?. (Optional.)
  4061  	Force *Boolean `json:"force,omitempty"`
  4062  }
  4063  
  4064  // UpdateRefsInput is an autogenerated input type of UpdateRefs.
  4065  type UpdateRefsInput struct {
  4066  	// The Node ID of the repository. (Required.)
  4067  	RepositoryID ID `json:"repositoryId"`
  4068  	// A list of ref updates. (Required.)
  4069  	RefUpdates []RefUpdate `json:"refUpdates"`
  4070  
  4071  	// A unique identifier for the client performing the mutation. (Optional.)
  4072  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4073  }
  4074  
  4075  // UpdateRepositoryInput is an autogenerated input type of UpdateRepository.
  4076  type UpdateRepositoryInput struct {
  4077  	// The ID of the repository to update. (Required.)
  4078  	RepositoryID ID `json:"repositoryId"`
  4079  
  4080  	// A unique identifier for the client performing the mutation. (Optional.)
  4081  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4082  	// The new name of the repository. (Optional.)
  4083  	Name *String `json:"name,omitempty"`
  4084  	// A new description for the repository. Pass an empty string to erase the existing description. (Optional.)
  4085  	Description *String `json:"description,omitempty"`
  4086  	// Whether this repository should be marked as a template such that anyone who can access it can create new repositories with the same files and directory structure. (Optional.)
  4087  	Template *Boolean `json:"template,omitempty"`
  4088  	// The URL for a web page about this repository. Pass an empty string to erase the existing URL. (Optional.)
  4089  	HomepageURL *URI `json:"homepageUrl,omitempty"`
  4090  	// Indicates if the repository should have the wiki feature enabled. (Optional.)
  4091  	HasWikiEnabled *Boolean `json:"hasWikiEnabled,omitempty"`
  4092  	// Indicates if the repository should have the issues feature enabled. (Optional.)
  4093  	HasIssuesEnabled *Boolean `json:"hasIssuesEnabled,omitempty"`
  4094  	// Indicates if the repository should have the project boards feature enabled. (Optional.)
  4095  	HasProjectsEnabled *Boolean `json:"hasProjectsEnabled,omitempty"`
  4096  	// Indicates if the repository should have the discussions feature enabled. (Optional.)
  4097  	HasDiscussionsEnabled *Boolean `json:"hasDiscussionsEnabled,omitempty"`
  4098  	// Indicates if the repository displays a Sponsor button for financial contributions. (Optional.)
  4099  	HasSponsorshipsEnabled *Boolean `json:"hasSponsorshipsEnabled,omitempty"`
  4100  }
  4101  
  4102  // UpdateRepositoryRulesetInput is an autogenerated input type of UpdateRepositoryRuleset.
  4103  type UpdateRepositoryRulesetInput struct {
  4104  	// The global relay id of the repository ruleset to be updated. (Required.)
  4105  	RepositoryRulesetID ID `json:"repositoryRulesetId"`
  4106  
  4107  	// A unique identifier for the client performing the mutation. (Optional.)
  4108  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4109  	// The name of the ruleset. (Optional.)
  4110  	Name *String `json:"name,omitempty"`
  4111  	// The target of the ruleset. (Optional.)
  4112  	Target *RepositoryRulesetTarget `json:"target,omitempty"`
  4113  	// The list of rules for this ruleset. (Optional.)
  4114  	Rules *[]RepositoryRuleInput `json:"rules,omitempty"`
  4115  	// The list of conditions for this ruleset. (Optional.)
  4116  	Conditions *RepositoryRuleConditionsInput `json:"conditions,omitempty"`
  4117  	// The enforcement level for this ruleset. (Optional.)
  4118  	Enforcement *RuleEnforcement `json:"enforcement,omitempty"`
  4119  	// A list of actors that are allowed to bypass rules in this ruleset. (Optional.)
  4120  	BypassActors *[]RepositoryRulesetBypassActorInput `json:"bypassActors,omitempty"`
  4121  }
  4122  
  4123  // UpdateRepositoryWebCommitSignoffSettingInput is an autogenerated input type of UpdateRepositoryWebCommitSignoffSetting.
  4124  type UpdateRepositoryWebCommitSignoffSettingInput struct {
  4125  	// The ID of the repository to update. (Required.)
  4126  	RepositoryID ID `json:"repositoryId"`
  4127  	// Indicates if the repository should require signoff on web-based commits. (Required.)
  4128  	WebCommitSignoffRequired Boolean `json:"webCommitSignoffRequired"`
  4129  
  4130  	// A unique identifier for the client performing the mutation. (Optional.)
  4131  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4132  }
  4133  
  4134  // UpdateSponsorshipPreferencesInput is an autogenerated input type of UpdateSponsorshipPreferences.
  4135  type UpdateSponsorshipPreferencesInput struct {
  4136  
  4137  	// A unique identifier for the client performing the mutation. (Optional.)
  4138  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4139  	// The ID of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorLogin is not given. (Optional.)
  4140  	SponsorID *ID `json:"sponsorId,omitempty"`
  4141  	// The username of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorId is not given. (Optional.)
  4142  	SponsorLogin *String `json:"sponsorLogin,omitempty"`
  4143  	// The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. (Optional.)
  4144  	SponsorableID *ID `json:"sponsorableId,omitempty"`
  4145  	// The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. (Optional.)
  4146  	SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
  4147  	// Whether the sponsor should receive email updates from the sponsorable. (Optional.)
  4148  	ReceiveEmails *Boolean `json:"receiveEmails,omitempty"`
  4149  	// Specify whether others should be able to see that the sponsor is sponsoring the sponsorable. Public visibility still does not reveal which tier is used. (Optional.)
  4150  	PrivacyLevel *SponsorshipPrivacy `json:"privacyLevel,omitempty"`
  4151  }
  4152  
  4153  // UpdateSubscriptionInput is an autogenerated input type of UpdateSubscription.
  4154  type UpdateSubscriptionInput struct {
  4155  	// The Node ID of the subscribable object to modify. (Required.)
  4156  	SubscribableID ID `json:"subscribableId"`
  4157  	// The new state of the subscription. (Required.)
  4158  	State SubscriptionState `json:"state"`
  4159  
  4160  	// A unique identifier for the client performing the mutation. (Optional.)
  4161  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4162  }
  4163  
  4164  // UpdateTeamDiscussionCommentInput is an autogenerated input type of UpdateTeamDiscussionComment.
  4165  type UpdateTeamDiscussionCommentInput struct {
  4166  	// The ID of the comment to modify. (Required.)
  4167  	ID ID `json:"id"`
  4168  	// The updated text of the comment. (Required.)
  4169  	Body String `json:"body"`
  4170  
  4171  	// A unique identifier for the client performing the mutation. (Optional.)
  4172  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4173  	// The current version of the body content. (Optional.)
  4174  	BodyVersion *String `json:"bodyVersion,omitempty"`
  4175  }
  4176  
  4177  // UpdateTeamDiscussionInput is an autogenerated input type of UpdateTeamDiscussion.
  4178  type UpdateTeamDiscussionInput struct {
  4179  	// The Node ID of the discussion to modify. (Required.)
  4180  	ID ID `json:"id"`
  4181  
  4182  	// A unique identifier for the client performing the mutation. (Optional.)
  4183  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4184  	// The updated title of the discussion. (Optional.)
  4185  	Title *String `json:"title,omitempty"`
  4186  	// The updated text of the discussion. (Optional.)
  4187  	Body *String `json:"body,omitempty"`
  4188  	// The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. (Optional.)
  4189  	BodyVersion *String `json:"bodyVersion,omitempty"`
  4190  	// If provided, sets the pinned state of the updated discussion. (Optional.)
  4191  	Pinned *Boolean `json:"pinned,omitempty"`
  4192  }
  4193  
  4194  // UpdateTeamReviewAssignmentInput is an autogenerated input type of UpdateTeamReviewAssignment.
  4195  type UpdateTeamReviewAssignmentInput struct {
  4196  	// The Node ID of the team to update review assignments of. (Required.)
  4197  	ID ID `json:"id"`
  4198  	// Turn on or off review assignment. (Required.)
  4199  	Enabled Boolean `json:"enabled"`
  4200  
  4201  	// A unique identifier for the client performing the mutation. (Optional.)
  4202  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4203  	// The algorithm to use for review assignment. (Optional.)
  4204  	Algorithm *TeamReviewAssignmentAlgorithm `json:"algorithm,omitempty"`
  4205  	// The number of team members to assign. (Optional.)
  4206  	TeamMemberCount *Int `json:"teamMemberCount,omitempty"`
  4207  	// Notify the entire team of the PR if it is delegated. (Optional.)
  4208  	NotifyTeam *Boolean `json:"notifyTeam,omitempty"`
  4209  	// Remove the team review request when assigning. (Optional.)
  4210  	RemoveTeamRequest *Boolean `json:"removeTeamRequest,omitempty"`
  4211  	// Include the members of any child teams when assigning. (Optional.)
  4212  	IncludeChildTeamMembers *Boolean `json:"includeChildTeamMembers,omitempty"`
  4213  	// Count any members whose review has already been requested against the required number of members assigned to review. (Optional.)
  4214  	CountMembersAlreadyRequested *Boolean `json:"countMembersAlreadyRequested,omitempty"`
  4215  	// An array of team member IDs to exclude. (Optional.)
  4216  	ExcludedTeamMemberIDs *[]ID `json:"excludedTeamMemberIds,omitempty"`
  4217  }
  4218  
  4219  // UpdateTeamsRepositoryInput is an autogenerated input type of UpdateTeamsRepository.
  4220  type UpdateTeamsRepositoryInput struct {
  4221  	// Repository ID being granted access to. (Required.)
  4222  	RepositoryID ID `json:"repositoryId"`
  4223  	// A list of teams being granted access. Limit: 10. (Required.)
  4224  	TeamIDs []ID `json:"teamIds"`
  4225  	// Permission that should be granted to the teams. (Required.)
  4226  	Permission RepositoryPermission `json:"permission"`
  4227  
  4228  	// A unique identifier for the client performing the mutation. (Optional.)
  4229  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4230  }
  4231  
  4232  // UpdateTopicsInput is an autogenerated input type of UpdateTopics.
  4233  type UpdateTopicsInput struct {
  4234  	// The Node ID of the repository. (Required.)
  4235  	RepositoryID ID `json:"repositoryId"`
  4236  	// An array of topic names. (Required.)
  4237  	TopicNames []String `json:"topicNames"`
  4238  
  4239  	// A unique identifier for the client performing the mutation. (Optional.)
  4240  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4241  }
  4242  
  4243  // UpdateUserListInput is an autogenerated input type of UpdateUserList.
  4244  type UpdateUserListInput struct {
  4245  	// The ID of the list to update. (Required.)
  4246  	ListID ID `json:"listId"`
  4247  
  4248  	// A unique identifier for the client performing the mutation. (Optional.)
  4249  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4250  	// The name of the list. (Optional.)
  4251  	Name *String `json:"name,omitempty"`
  4252  	// A description of the list. (Optional.)
  4253  	Description *String `json:"description,omitempty"`
  4254  	// Whether or not the list is private. (Optional.)
  4255  	IsPrivate *Boolean `json:"isPrivate,omitempty"`
  4256  }
  4257  
  4258  // UpdateUserListsForItemInput is an autogenerated input type of UpdateUserListsForItem.
  4259  type UpdateUserListsForItemInput struct {
  4260  	// The item to add to the list. (Required.)
  4261  	ItemID ID `json:"itemId"`
  4262  	// The lists to which this item should belong. (Required.)
  4263  	ListIDs []ID `json:"listIds"`
  4264  
  4265  	// A unique identifier for the client performing the mutation. (Optional.)
  4266  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4267  	// The suggested lists to create and add this item to. (Optional.)
  4268  	SuggestedListIDs *[]ID `json:"suggestedListIds,omitempty"`
  4269  }
  4270  
  4271  // UserStatusOrder represents ordering options for user status connections.
  4272  type UserStatusOrder struct {
  4273  	// The field to order user statuses by. (Required.)
  4274  	Field UserStatusOrderField `json:"field"`
  4275  	// The ordering direction. (Required.)
  4276  	Direction OrderDirection `json:"direction"`
  4277  }
  4278  
  4279  // VerifiableDomainOrder represents ordering options for verifiable domain connections.
  4280  type VerifiableDomainOrder struct {
  4281  	// The field to order verifiable domains by. (Required.)
  4282  	Field VerifiableDomainOrderField `json:"field"`
  4283  	// The ordering direction. (Required.)
  4284  	Direction OrderDirection `json:"direction"`
  4285  }
  4286  
  4287  // VerifyVerifiableDomainInput is an autogenerated input type of VerifyVerifiableDomain.
  4288  type VerifyVerifiableDomainInput struct {
  4289  	// The ID of the verifiable domain to verify. (Required.)
  4290  	ID ID `json:"id"`
  4291  
  4292  	// A unique identifier for the client performing the mutation. (Optional.)
  4293  	ClientMutationID *String `json:"clientMutationId,omitempty"`
  4294  }
  4295  
  4296  // WorkflowFileReferenceInput represents a workflow that must run for this rule to pass.
  4297  type WorkflowFileReferenceInput struct {
  4298  	// The path to the workflow file. (Required.)
  4299  	Path String `json:"path"`
  4300  	// The ID of the repository where the workflow is defined. (Required.)
  4301  	RepositoryID Int `json:"repositoryId"`
  4302  
  4303  	// The ref (branch or tag) of the workflow file to use. (Optional.)
  4304  	Ref *String `json:"ref,omitempty"`
  4305  	// The commit SHA of the workflow file to use. (Optional.)
  4306  	Sha *String `json:"sha,omitempty"`
  4307  }
  4308  
  4309  // WorkflowRunOrder represents ways in which lists of workflow runs can be ordered upon return.
  4310  type WorkflowRunOrder struct {
  4311  	// The field by which to order workflows. (Required.)
  4312  	Field WorkflowRunOrderField `json:"field"`
  4313  	// The direction in which to order workflow runs by the specified field. (Required.)
  4314  	Direction OrderDirection `json:"direction"`
  4315  }
  4316  
  4317  // WorkflowsParametersInput represents require all changes made to a targeted branch to pass the specified workflows before they can be merged.
  4318  type WorkflowsParametersInput struct {
  4319  	// Workflows that must pass for this rule to pass. (Required.)
  4320  	Workflows []WorkflowFileReferenceInput `json:"workflows"`
  4321  
  4322  	// Allow repositories and branches to be created if a check would otherwise prohibit it. (Optional.)
  4323  	DoNotEnforceOnCreate *Boolean `json:"doNotEnforceOnCreate,omitempty"`
  4324  }
  4325  

View as plain text