forked from shurcooL/githubv4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinput.go
3350 lines (2849 loc) · 167 KB
/
input.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by gen.go; DO NOT EDIT.
package githubv4
// Input represents one of the Input structs:
//
// AbortQueuedMigrationsInput, AcceptEnterpriseAdministratorInvitationInput, AcceptTopicSuggestionInput, AddAssigneesToAssignableInput, AddCommentInput, AddDiscussionCommentInput, AddDiscussionPollVoteInput, AddEnterpriseOrganizationMemberInput, AddEnterpriseSupportEntitlementInput, AddLabelsToLabelableInput, AddProjectCardInput, AddProjectColumnInput, AddProjectV2DraftIssueInput, AddProjectV2ItemByIdInput, AddPullRequestReviewCommentInput, AddPullRequestReviewInput, AddPullRequestReviewThreadInput, AddReactionInput, AddStarInput, AddUpvoteInput, AddVerifiableDomainInput, ApproveDeploymentsInput, ApproveVerifiableDomainInput, ArchiveProjectV2ItemInput, ArchiveRepositoryInput, AuditLogOrder, CancelEnterpriseAdminInvitationInput, CancelSponsorshipInput, ChangeUserStatusInput, CheckAnnotationData, CheckAnnotationRange, CheckRunAction, CheckRunFilter, CheckRunOutput, CheckRunOutputImage, CheckSuiteAutoTriggerPreference, CheckSuiteFilter, ClearLabelsFromLabelableInput, ClearProjectV2ItemFieldValueInput, CloneProjectInput, CloneTemplateRepositoryInput, CloseIssueInput, ClosePullRequestInput, CommitAuthor, CommitContributionOrder, CommitMessage, CommittableBranch, ContributionOrder, ConvertProjectCardNoteToIssueInput, ConvertPullRequestToDraftInput, CopyProjectV2Input, CreateAttributionInvitationInput, CreateBranchProtectionRuleInput, CreateCheckRunInput, CreateCheckSuiteInput, CreateCommitOnBranchInput, CreateDiscussionInput, CreateEnterpriseOrganizationInput, CreateEnvironmentInput, CreateIpAllowListEntryInput, CreateIssueInput, CreateLinkedBranchInput, CreateMigrationSourceInput, CreateProjectInput, CreateProjectV2Input, CreatePullRequestInput, CreateRefInput, CreateRepositoryInput, CreateSponsorsListingInput, CreateSponsorsTierInput, CreateSponsorshipInput, CreateTeamDiscussionCommentInput, CreateTeamDiscussionInput, DeclineTopicSuggestionInput, DeleteBranchProtectionRuleInput, DeleteDeploymentInput, DeleteDiscussionCommentInput, DeleteDiscussionInput, DeleteEnvironmentInput, DeleteIpAllowListEntryInput, DeleteIssueCommentInput, DeleteIssueInput, DeleteLinkedBranchInput, DeleteProjectCardInput, DeleteProjectColumnInput, DeleteProjectInput, DeleteProjectV2Input, DeleteProjectV2ItemInput, DeletePullRequestReviewCommentInput, DeletePullRequestReviewInput, DeleteRefInput, DeleteTeamDiscussionCommentInput, DeleteTeamDiscussionInput, DeleteVerifiableDomainInput, DeploymentOrder, DisablePullRequestAutoMergeInput, DiscussionOrder, DiscussionPollOptionOrder, DismissPullRequestReviewInput, DismissRepositoryVulnerabilityAlertInput, DraftPullRequestReviewComment, DraftPullRequestReviewThread, EnablePullRequestAutoMergeInput, EnterpriseAdministratorInvitationOrder, EnterpriseMemberOrder, EnterpriseServerInstallationOrder, EnterpriseServerUserAccountEmailOrder, EnterpriseServerUserAccountOrder, EnterpriseServerUserAccountsUploadOrder, FileAddition, FileChanges, FileDeletion, FollowOrganizationInput, FollowUserInput, GistOrder, GrantEnterpriseOrganizationsMigratorRoleInput, GrantMigratorRoleInput, InviteEnterpriseAdminInput, IpAllowListEntryOrder, IssueCommentOrder, IssueFilters, IssueOrder, LabelOrder, LanguageOrder, LinkProjectV2ToRepositoryInput, LinkProjectV2ToTeamInput, LinkRepositoryToProjectInput, LockLockableInput, MannequinOrder, MarkDiscussionCommentAsAnswerInput, MarkFileAsViewedInput, MarkPullRequestReadyForReviewInput, MergeBranchInput, MergePullRequestInput, MilestoneOrder, MinimizeCommentInput, MoveProjectCardInput, MoveProjectColumnInput, OrgEnterpriseOwnerOrder, OrganizationOrder, PackageFileOrder, PackageOrder, PackageVersionOrder, PinIssueInput, ProjectOrder, ProjectV2FieldOrder, ProjectV2FieldValue, ProjectV2Filters, ProjectV2ItemFieldValueOrder, ProjectV2ItemOrder, ProjectV2Order, ProjectV2ViewOrder, ProjectV2WorkflowOrder, PublishSponsorsTierInput, PullRequestOrder, ReactionOrder, RefOrder, RegenerateEnterpriseIdentityProviderRecoveryCodesInput, RegenerateVerifiableDomainTokenInput, RejectDeploymentsInput, ReleaseOrder, RemoveAssigneesFromAssignableInput, RemoveEnterpriseAdminInput, RemoveEnterpriseIdentityProviderInput, RemoveEnterpriseMemberInput, RemoveEnterpriseOrganizationInput, RemoveEnterpriseSupportEntitlementInput, RemoveLabelsFromLabelableInput, RemoveOutsideCollaboratorInput, RemoveReactionInput, RemoveStarInput, RemoveUpvoteInput, ReopenIssueInput, ReopenPullRequestInput, RepositoryInvitationOrder, RepositoryMigrationOrder, RepositoryOrder, RequestReviewsInput, RequiredStatusCheckInput, RerequestCheckSuiteInput, ResolveReviewThreadInput, RetireSponsorsTierInput, RevertPullRequestInput, RevokeEnterpriseOrganizationsMigratorRoleInput, RevokeMigratorRoleInput, SavedReplyOrder, SecurityAdvisoryIdentifierFilter, SecurityAdvisoryOrder, SecurityVulnerabilityOrder, SetEnterpriseIdentityProviderInput, SetOrganizationInteractionLimitInput, SetRepositoryInteractionLimitInput, SetUserInteractionLimitInput, SponsorOrder, SponsorableOrder, SponsorsActivityOrder, SponsorsTierOrder, SponsorshipNewsletterOrder, SponsorshipOrder, StarOrder, StartOrganizationMigrationInput, StartRepositoryMigrationInput, SubmitPullRequestReviewInput, TeamDiscussionCommentOrder, TeamDiscussionOrder, TeamMemberOrder, TeamOrder, TeamRepositoryOrder, TransferEnterpriseOrganizationInput, TransferIssueInput, UnarchiveProjectV2ItemInput, UnarchiveRepositoryInput, UnfollowOrganizationInput, UnfollowUserInput, UnlinkProjectV2FromRepositoryInput, UnlinkProjectV2FromTeamInput, UnlinkRepositoryFromProjectInput, UnlockLockableInput, UnmarkDiscussionCommentAsAnswerInput, UnmarkFileAsViewedInput, UnmarkIssueAsDuplicateInput, UnminimizeCommentInput, UnpinIssueInput, UnresolveReviewThreadInput, 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, UpdateNotificationRestrictionSettingInput, UpdateOrganizationAllowPrivateRepositoryForkingSettingInput, UpdateOrganizationWebCommitSignoffSettingInput, UpdateProjectCardInput, UpdateProjectColumnInput, UpdateProjectInput, UpdateProjectV2DraftIssueInput, UpdateProjectV2Input, UpdateProjectV2ItemFieldValueInput, UpdateProjectV2ItemPositionInput, UpdatePullRequestBranchInput, UpdatePullRequestInput, UpdatePullRequestReviewCommentInput, UpdatePullRequestReviewInput, UpdateRefInput, UpdateRepositoryInput, UpdateRepositoryWebCommitSignoffSettingInput, UpdateSponsorshipPreferencesInput, UpdateSubscriptionInput, UpdateTeamDiscussionCommentInput, UpdateTeamDiscussionInput, UpdateTeamsRepositoryInput, UpdateTopicsInput, UserStatusOrder, VerifiableDomainOrder, VerifyVerifiableDomainInput, WorkflowRunOrder.
type Input interface{}
// AbortQueuedMigrationsInput is an autogenerated input type of AbortQueuedMigrations.
type AbortQueuedMigrationsInput struct {
// The ID of the organization that is running the migrations. (Required.)
OwnerID ID `json:"ownerId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AcceptEnterpriseAdministratorInvitationInput is an autogenerated input type of AcceptEnterpriseAdministratorInvitation.
type AcceptEnterpriseAdministratorInvitationInput struct {
// The id of the invitation being accepted. (Required.)
InvitationID ID `json:"invitationId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AcceptTopicSuggestionInput is an autogenerated input type of AcceptTopicSuggestion.
type AcceptTopicSuggestionInput struct {
// The Node ID of the repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// The name of the suggested topic. (Required.)
Name String `json:"name"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddAssigneesToAssignableInput is an autogenerated input type of AddAssigneesToAssignable.
type AddAssigneesToAssignableInput struct {
// The id of the assignable object to add assignees to. (Required.)
AssignableID ID `json:"assignableId"`
// The id of users to add as assignees. (Required.)
AssigneeIDs []ID `json:"assigneeIds"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddCommentInput is an autogenerated input type of AddComment.
type AddCommentInput struct {
// The Node ID of the subject to modify. (Required.)
SubjectID ID `json:"subjectId"`
// The contents of the comment. (Required.)
Body String `json:"body"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddDiscussionCommentInput is an autogenerated input type of AddDiscussionComment.
type AddDiscussionCommentInput struct {
// The Node ID of the discussion to comment on. (Required.)
DiscussionID ID `json:"discussionId"`
// The contents of the comment. (Required.)
Body String `json:"body"`
// The Node ID of the discussion comment within this discussion to reply to. (Optional.)
ReplyToID *ID `json:"replyToId,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddDiscussionPollVoteInput is an autogenerated input type of AddDiscussionPollVote.
type AddDiscussionPollVoteInput struct {
// The Node ID of the discussion poll option to vote for. (Required.)
PollOptionID ID `json:"pollOptionId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddEnterpriseOrganizationMemberInput is an autogenerated input type of AddEnterpriseOrganizationMember.
type AddEnterpriseOrganizationMemberInput struct {
// The ID of the enterprise which owns the organization. (Required.)
EnterpriseID ID `json:"enterpriseId"`
// The ID of the organization the users will be added to. (Required.)
OrganizationID ID `json:"organizationId"`
// The IDs of the enterprise members to add. (Required.)
UserIDs []ID `json:"userIds"`
// The role to assign the users in the organization. (Optional.)
Role *OrganizationMemberRole `json:"role,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddEnterpriseSupportEntitlementInput is an autogenerated input type of AddEnterpriseSupportEntitlement.
type AddEnterpriseSupportEntitlementInput struct {
// The ID of the Enterprise which the admin belongs to. (Required.)
EnterpriseID ID `json:"enterpriseId"`
// The login of a member who will receive the support entitlement. (Required.)
Login String `json:"login"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddLabelsToLabelableInput is an autogenerated input type of AddLabelsToLabelable.
type AddLabelsToLabelableInput struct {
// The id of the labelable object to add labels to. (Required.)
LabelableID ID `json:"labelableId"`
// The ids of the labels to add. (Required.)
LabelIDs []ID `json:"labelIds"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddProjectCardInput is an autogenerated input type of AddProjectCard.
type AddProjectCardInput struct {
// The Node ID of the ProjectColumn. (Required.)
ProjectColumnID ID `json:"projectColumnId"`
// The content of the card. Must be a member of the ProjectCardItem union. (Optional.)
ContentID *ID `json:"contentId,omitempty"`
// The note on the card. (Optional.)
Note *String `json:"note,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddProjectColumnInput is an autogenerated input type of AddProjectColumn.
type AddProjectColumnInput struct {
// The Node ID of the project. (Required.)
ProjectID ID `json:"projectId"`
// The name of the column. (Required.)
Name String `json:"name"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddProjectV2DraftIssueInput is an autogenerated input type of AddProjectV2DraftIssue.
type AddProjectV2DraftIssueInput struct {
// The ID of the Project to add the draft issue to. (Required.)
ProjectID ID `json:"projectId"`
// 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.)
Title String `json:"title"`
// The body of the draft issue. (Optional.)
Body *String `json:"body,omitempty"`
// The IDs of the assignees of the draft issue. (Optional.)
AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddProjectV2ItemByIdInput is an autogenerated input type of AddProjectV2ItemById.
type AddProjectV2ItemByIdInput struct {
// The ID of the Project to add the item to. (Required.)
ProjectID ID `json:"projectId"`
// The id of the Issue or Pull Request to add. (Required.)
ContentID ID `json:"contentId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddPullRequestReviewCommentInput is an autogenerated input type of AddPullRequestReviewComment.
type AddPullRequestReviewCommentInput struct {
// The text of the comment. (Required.)
Body String `json:"body"`
// The node ID of the pull request reviewing. (Optional.)
PullRequestID *ID `json:"pullRequestId,omitempty"`
// The Node ID of the review to modify. (Optional.)
PullRequestReviewID *ID `json:"pullRequestReviewId,omitempty"`
// The SHA of the commit to comment on. (Optional.)
CommitOID *GitObjectID `json:"commitOID,omitempty"`
// The relative path of the file to comment on. (Optional.)
Path *String `json:"path,omitempty"`
// The line index in the diff to comment on. (Optional.)
Position *Int `json:"position,omitempty"`
// The comment id to reply to. (Optional.)
InReplyTo *ID `json:"inReplyTo,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddPullRequestReviewInput is an autogenerated input type of AddPullRequestReview.
type AddPullRequestReviewInput struct {
// The Node ID of the pull request to modify. (Required.)
PullRequestID ID `json:"pullRequestId"`
// The commit OID the review pertains to. (Optional.)
CommitOID *GitObjectID `json:"commitOID,omitempty"`
// The contents of the review body comment. (Optional.)
Body *String `json:"body,omitempty"`
// The event to perform on the pull request review. (Optional.)
Event *PullRequestReviewEvent `json:"event,omitempty"`
// The review line comments. (Optional.)
Comments *[]*DraftPullRequestReviewComment `json:"comments,omitempty"`
// The review line comment threads. (Optional.)
Threads *[]*DraftPullRequestReviewThread `json:"threads,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddPullRequestReviewThreadInput is an autogenerated input type of AddPullRequestReviewThread.
type AddPullRequestReviewThreadInput struct {
// Path to the file being commented on. (Required.)
Path String `json:"path"`
// Body of the thread's first comment. (Required.)
Body String `json:"body"`
// The line of the blob to which the thread refers. The end of the line range for multi-line comments. (Required.)
Line Int `json:"line"`
// The node ID of the pull request reviewing. (Optional.)
PullRequestID *ID `json:"pullRequestId,omitempty"`
// The Node ID of the review to modify. (Optional.)
PullRequestReviewID *ID `json:"pullRequestReviewId,omitempty"`
// 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.)
Side *DiffSide `json:"side,omitempty"`
// The first line of the range to which the comment refers. (Optional.)
StartLine *Int `json:"startLine,omitempty"`
// The side of the diff on which the start line resides. (Optional.)
StartSide *DiffSide `json:"startSide,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddReactionInput is an autogenerated input type of AddReaction.
type AddReactionInput struct {
// The Node ID of the subject to modify. (Required.)
SubjectID ID `json:"subjectId"`
// The name of the emoji to react with. (Required.)
Content ReactionContent `json:"content"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddStarInput is an autogenerated input type of AddStar.
type AddStarInput struct {
// The Starrable ID to star. (Required.)
StarrableID ID `json:"starrableId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddUpvoteInput is an autogenerated input type of AddUpvote.
type AddUpvoteInput struct {
// The Node ID of the discussion or comment to upvote. (Required.)
SubjectID ID `json:"subjectId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AddVerifiableDomainInput is an autogenerated input type of AddVerifiableDomain.
type AddVerifiableDomainInput struct {
// The ID of the owner to add the domain to. (Required.)
OwnerID ID `json:"ownerId"`
// The URL of the domain. (Required.)
Domain URI `json:"domain"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ApproveDeploymentsInput is an autogenerated input type of ApproveDeployments.
type ApproveDeploymentsInput struct {
// The node ID of the workflow run containing the pending deployments. (Required.)
WorkflowRunID ID `json:"workflowRunId"`
// The ids of environments to reject deployments. (Required.)
EnvironmentIDs []ID `json:"environmentIds"`
// Optional comment for approving deployments. (Optional.)
Comment *String `json:"comment,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ApproveVerifiableDomainInput is an autogenerated input type of ApproveVerifiableDomain.
type ApproveVerifiableDomainInput struct {
// The ID of the verifiable domain to approve. (Required.)
ID ID `json:"id"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ArchiveProjectV2ItemInput is an autogenerated input type of ArchiveProjectV2Item.
type ArchiveProjectV2ItemInput struct {
// The ID of the Project to archive the item from. (Required.)
ProjectID ID `json:"projectId"`
// The ID of the ProjectV2Item to archive. (Required.)
ItemID ID `json:"itemId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ArchiveRepositoryInput is an autogenerated input type of ArchiveRepository.
type ArchiveRepositoryInput struct {
// The ID of the repository to mark as archived. (Required.)
RepositoryID ID `json:"repositoryId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// AuditLogOrder represents ordering options for Audit Log connections.
type AuditLogOrder struct {
// The field to order Audit Logs by. (Optional.)
Field *AuditLogOrderField `json:"field,omitempty"`
// The ordering direction. (Optional.)
Direction *OrderDirection `json:"direction,omitempty"`
}
// CancelEnterpriseAdminInvitationInput is an autogenerated input type of CancelEnterpriseAdminInvitation.
type CancelEnterpriseAdminInvitationInput struct {
// The Node ID of the pending enterprise administrator invitation. (Required.)
InvitationID ID `json:"invitationId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CancelSponsorshipInput is an autogenerated input type of CancelSponsorship.
type CancelSponsorshipInput struct {
// The ID of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorLogin is not given. (Optional.)
SponsorID *ID `json:"sponsorId,omitempty"`
// The username of the user or organization who is acting as the sponsor, paying for the sponsorship. Required if sponsorId is not given. (Optional.)
SponsorLogin *String `json:"sponsorLogin,omitempty"`
// The ID of the user or organization who is receiving the sponsorship. Required if sponsorableLogin is not given. (Optional.)
SponsorableID *ID `json:"sponsorableId,omitempty"`
// The username of the user or organization who is receiving the sponsorship. Required if sponsorableId is not given. (Optional.)
SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ChangeUserStatusInput is an autogenerated input type of ChangeUserStatus.
type ChangeUserStatusInput struct {
// The emoji to represent your status. Can either be a native Unicode emoji or an emoji name with colons, e.g., :grinning:. (Optional.)
Emoji *String `json:"emoji,omitempty"`
// A short description of your current status. (Optional.)
Message *String `json:"message,omitempty"`
// The ID of the organization whose members will be allowed to see the status. If omitted, the status will be publicly visible. (Optional.)
OrganizationID *ID `json:"organizationId,omitempty"`
// Whether this status should indicate you are not fully available on GitHub, e.g., you are away. (Optional.)
LimitedAvailability *Boolean `json:"limitedAvailability,omitempty"`
// If set, the user status will not be shown after this date. (Optional.)
ExpiresAt *DateTime `json:"expiresAt,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CheckAnnotationData represents information from a check run analysis to specific lines of code.
type CheckAnnotationData struct {
// The path of the file to add an annotation to. (Required.)
Path String `json:"path"`
// The location of the annotation. (Required.)
Location CheckAnnotationRange `json:"location"`
// Represents an annotation's information level. (Required.)
AnnotationLevel CheckAnnotationLevel `json:"annotationLevel"`
// A short description of the feedback for these lines of code. (Required.)
Message String `json:"message"`
// The title that represents the annotation. (Optional.)
Title *String `json:"title,omitempty"`
// Details about this annotation. (Optional.)
RawDetails *String `json:"rawDetails,omitempty"`
}
// CheckAnnotationRange represents information from a check run analysis to specific lines of code.
type CheckAnnotationRange struct {
// The starting line of the range. (Required.)
StartLine Int `json:"startLine"`
// The ending line of the range. (Required.)
EndLine Int `json:"endLine"`
// The starting column of the range. (Optional.)
StartColumn *Int `json:"startColumn,omitempty"`
// The ending column of the range. (Optional.)
EndColumn *Int `json:"endColumn,omitempty"`
}
// CheckRunAction represents possible further actions the integrator can perform.
type CheckRunAction struct {
// The text to be displayed on a button in the web UI. (Required.)
Label String `json:"label"`
// A short explanation of what this action would do. (Required.)
Description String `json:"description"`
// A reference for the action on the integrator's system. (Required.)
Identifier String `json:"identifier"`
}
// CheckRunFilter represents the filters that are available when fetching check runs.
type CheckRunFilter struct {
// Filters the check runs by this type. (Optional.)
CheckType *CheckRunType `json:"checkType,omitempty"`
// Filters the check runs created by this application ID. (Optional.)
AppID *Int `json:"appId,omitempty"`
// Filters the check runs by this name. (Optional.)
CheckName *String `json:"checkName,omitempty"`
// Filters the check runs by this status. Superceded by statuses. (Optional.)
Status *CheckStatusState `json:"status,omitempty"`
// Filters the check runs by this status. Overrides status. (Optional.)
Statuses *[]CheckStatusState `json:"statuses,omitempty"`
// Filters the check runs by these conclusions. (Optional.)
Conclusions *[]CheckConclusionState `json:"conclusions,omitempty"`
}
// CheckRunOutput represents descriptive details about the check run.
type CheckRunOutput struct {
// A title to provide for this check run. (Required.)
Title String `json:"title"`
// The summary of the check run (supports Commonmark). (Required.)
Summary String `json:"summary"`
// The details of the check run (supports Commonmark). (Optional.)
Text *String `json:"text,omitempty"`
// The annotations that are made as part of the check run. (Optional.)
Annotations *[]CheckAnnotationData `json:"annotations,omitempty"`
// Images attached to the check run output displayed in the GitHub pull request UI. (Optional.)
Images *[]CheckRunOutputImage `json:"images,omitempty"`
}
// CheckRunOutputImage represents images attached to the check run output displayed in the GitHub pull request UI.
type CheckRunOutputImage struct {
// The alternative text for the image. (Required.)
Alt String `json:"alt"`
// The full URL of the image. (Required.)
ImageURL URI `json:"imageUrl"`
// A short image description. (Optional.)
Caption *String `json:"caption,omitempty"`
}
// CheckSuiteAutoTriggerPreference represents the auto-trigger preferences that are available for check suites.
type CheckSuiteAutoTriggerPreference struct {
// The node ID of the application that owns the check suite. (Required.)
AppID ID `json:"appId"`
// Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository. (Required.)
Setting Boolean `json:"setting"`
}
// CheckSuiteFilter represents the filters that are available when fetching check suites.
type CheckSuiteFilter struct {
// Filters the check suites created by this application ID. (Optional.)
AppID *Int `json:"appId,omitempty"`
// Filters the check suites by this name. (Optional.)
CheckName *String `json:"checkName,omitempty"`
}
// ClearLabelsFromLabelableInput is an autogenerated input type of ClearLabelsFromLabelable.
type ClearLabelsFromLabelableInput struct {
// The id of the labelable object to clear the labels from. (Required.)
LabelableID ID `json:"labelableId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ClearProjectV2ItemFieldValueInput is an autogenerated input type of ClearProjectV2ItemFieldValue.
type ClearProjectV2ItemFieldValueInput struct {
// The ID of the Project. (Required.)
ProjectID ID `json:"projectId"`
// The ID of the item to be cleared. (Required.)
ItemID ID `json:"itemId"`
// The ID of the field to be cleared. (Required.)
FieldID ID `json:"fieldId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CloneProjectInput is an autogenerated input type of CloneProject.
type CloneProjectInput struct {
// The owner ID to create the project under. (Required.)
TargetOwnerID ID `json:"targetOwnerId"`
// The source project to clone. (Required.)
SourceID ID `json:"sourceId"`
// Whether or not to clone the source project's workflows. (Required.)
IncludeWorkflows Boolean `json:"includeWorkflows"`
// The name of the project. (Required.)
Name String `json:"name"`
// The description of the project. (Optional.)
Body *String `json:"body,omitempty"`
// The visibility of the project, defaults to false (private). (Optional.)
Public *Boolean `json:"public,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CloneTemplateRepositoryInput is an autogenerated input type of CloneTemplateRepository.
type CloneTemplateRepositoryInput struct {
// The Node ID of the template repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// The name of the new repository. (Required.)
Name String `json:"name"`
// The ID of the owner for the new repository. (Required.)
OwnerID ID `json:"ownerId"`
// Indicates the repository's visibility level. (Required.)
Visibility RepositoryVisibility `json:"visibility"`
// A short description of the new repository. (Optional.)
Description *String `json:"description,omitempty"`
// Whether to copy all branches from the template to the new repository. Defaults to copying only the default branch of the template. (Optional.)
IncludeAllBranches *Boolean `json:"includeAllBranches,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CloseIssueInput is an autogenerated input type of CloseIssue.
type CloseIssueInput struct {
// ID of the issue to be closed. (Required.)
IssueID ID `json:"issueId"`
// The reason the issue is to be closed. (Optional.)
StateReason *IssueClosedStateReason `json:"stateReason,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ClosePullRequestInput is an autogenerated input type of ClosePullRequest.
type ClosePullRequestInput struct {
// ID of the pull request to be closed. (Required.)
PullRequestID ID `json:"pullRequestId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CommitAuthor specifies an author for filtering Git commits.
type CommitAuthor struct {
// 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.)
ID *ID `json:"id,omitempty"`
// Email addresses to filter by. Commits authored by any of the specified email addresses will be returned. (Optional.)
Emails *[]String `json:"emails,omitempty"`
}
// CommitContributionOrder represents ordering options for commit contribution connections.
type CommitContributionOrder struct {
// The field by which to order commit contributions. (Required.)
Field CommitContributionOrderField `json:"field"`
// The ordering direction. (Required.)
Direction OrderDirection `json:"direction"`
}
// CommitMessage represents a message to include with a new commit.
type CommitMessage struct {
// The headline of the message. (Required.)
Headline String `json:"headline"`
// The body of the message. (Optional.)
Body *String `json:"body,omitempty"`
}
// 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" }.
type CommittableBranch struct {
// The Node ID of the Ref to be updated. (Optional.)
ID *ID `json:"id,omitempty"`
// The nameWithOwner of the repository to commit to. (Optional.)
RepositoryNameWithOwner *String `json:"repositoryNameWithOwner,omitempty"`
// The unqualified name of the branch to append the commit to. (Optional.)
BranchName *String `json:"branchName,omitempty"`
}
// ContributionOrder represents ordering options for contribution connections.
type ContributionOrder struct {
// The ordering direction. (Required.)
Direction OrderDirection `json:"direction"`
}
// ConvertProjectCardNoteToIssueInput is an autogenerated input type of ConvertProjectCardNoteToIssue.
type ConvertProjectCardNoteToIssueInput struct {
// The ProjectCard ID to convert. (Required.)
ProjectCardID ID `json:"projectCardId"`
// The ID of the repository to create the issue in. (Required.)
RepositoryID ID `json:"repositoryId"`
// The title of the newly created issue. Defaults to the card's note text. (Optional.)
Title *String `json:"title,omitempty"`
// The body of the newly created issue. (Optional.)
Body *String `json:"body,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// ConvertPullRequestToDraftInput is an autogenerated input type of ConvertPullRequestToDraft.
type ConvertPullRequestToDraftInput struct {
// ID of the pull request to convert to draft. (Required.)
PullRequestID ID `json:"pullRequestId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CopyProjectV2Input is an autogenerated input type of CopyProjectV2.
type CopyProjectV2Input struct {
// The ID of the source Project to copy. (Required.)
ProjectID ID `json:"projectId"`
// The owner ID of the new project. (Required.)
OwnerID ID `json:"ownerId"`
// The title of the project. (Required.)
Title String `json:"title"`
// Include draft issues in the new project. (Optional.)
IncludeDraftIssues *Boolean `json:"includeDraftIssues,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateAttributionInvitationInput is an autogenerated input type of CreateAttributionInvitation.
type CreateAttributionInvitationInput struct {
// The Node ID of the owner scoping the reattributable data. (Required.)
OwnerID ID `json:"ownerId"`
// The Node ID of the account owning the data to reattribute. (Required.)
SourceID ID `json:"sourceId"`
// The Node ID of the account which may claim the data. (Required.)
TargetID ID `json:"targetId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateBranchProtectionRuleInput is an autogenerated input type of CreateBranchProtectionRule.
type CreateBranchProtectionRuleInput struct {
// The global relay id of the repository in which a new branch protection rule should be created in. (Required.)
RepositoryID ID `json:"repositoryId"`
// The glob-like pattern used to determine matching branches. (Required.)
Pattern String `json:"pattern"`
// Are approving reviews required to update matching branches. (Optional.)
RequiresApprovingReviews *Boolean `json:"requiresApprovingReviews,omitempty"`
// Number of approving reviews required to update matching branches. (Optional.)
RequiredApprovingReviewCount *Int `json:"requiredApprovingReviewCount,omitempty"`
// Are commits required to be signed. (Optional.)
RequiresCommitSignatures *Boolean `json:"requiresCommitSignatures,omitempty"`
// Are merge commits prohibited from being pushed to this branch. (Optional.)
RequiresLinearHistory *Boolean `json:"requiresLinearHistory,omitempty"`
// Is branch creation a protected operation. (Optional.)
BlocksCreations *Boolean `json:"blocksCreations,omitempty"`
// Are force pushes allowed on this branch. (Optional.)
AllowsForcePushes *Boolean `json:"allowsForcePushes,omitempty"`
// Can this branch be deleted. (Optional.)
AllowsDeletions *Boolean `json:"allowsDeletions,omitempty"`
// Can admins overwrite branch protection. (Optional.)
IsAdminEnforced *Boolean `json:"isAdminEnforced,omitempty"`
// Are status checks required to update matching branches. (Optional.)
RequiresStatusChecks *Boolean `json:"requiresStatusChecks,omitempty"`
// Are branches required to be up to date before merging. (Optional.)
RequiresStrictStatusChecks *Boolean `json:"requiresStrictStatusChecks,omitempty"`
// Are reviews from code owners required to update matching branches. (Optional.)
RequiresCodeOwnerReviews *Boolean `json:"requiresCodeOwnerReviews,omitempty"`
// Will new commits pushed to matching branches dismiss pull request review approvals. (Optional.)
DismissesStaleReviews *Boolean `json:"dismissesStaleReviews,omitempty"`
// Is dismissal of pull request reviews restricted. (Optional.)
RestrictsReviewDismissals *Boolean `json:"restrictsReviewDismissals,omitempty"`
// A list of User, Team, or App IDs allowed to dismiss reviews on pull requests targeting matching branches. (Optional.)
ReviewDismissalActorIDs *[]ID `json:"reviewDismissalActorIds,omitempty"`
// A list of User, Team, or App IDs allowed to bypass pull requests targeting matching branches. (Optional.)
BypassPullRequestActorIDs *[]ID `json:"bypassPullRequestActorIds,omitempty"`
// A list of User, Team, or App IDs allowed to bypass force push targeting matching branches. (Optional.)
BypassForcePushActorIDs *[]ID `json:"bypassForcePushActorIds,omitempty"`
// Is pushing to matching branches restricted. (Optional.)
RestrictsPushes *Boolean `json:"restrictsPushes,omitempty"`
// A list of User, Team, or App IDs allowed to push to matching branches. (Optional.)
PushActorIDs *[]ID `json:"pushActorIds,omitempty"`
// List of required status check contexts that must pass for commits to be accepted to matching branches. (Optional.)
RequiredStatusCheckContexts *[]String `json:"requiredStatusCheckContexts,omitempty"`
// The list of required status checks. (Optional.)
RequiredStatusChecks *[]RequiredStatusCheckInput `json:"requiredStatusChecks,omitempty"`
// Are conversations required to be resolved before merging. (Optional.)
RequiresConversationResolution *Boolean `json:"requiresConversationResolution,omitempty"`
// Whether the most recent push must be approved by someone other than the person who pushed it. (Optional.)
RequireLastPushApproval *Boolean `json:"requireLastPushApproval,omitempty"`
// Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. (Optional.)
LockBranch *Boolean `json:"lockBranch,omitempty"`
// 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.)
LockAllowsFetchAndMerge *Boolean `json:"lockAllowsFetchAndMerge,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateCheckRunInput is an autogenerated input type of CreateCheckRun.
type CreateCheckRunInput struct {
// The node ID of the repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// The name of the check. (Required.)
Name String `json:"name"`
// The SHA of the head commit. (Required.)
HeadSha GitObjectID `json:"headSha"`
// The URL of the integrator's site that has the full details of the check. (Optional.)
DetailsURL *URI `json:"detailsUrl,omitempty"`
// A reference for the run on the integrator's system. (Optional.)
ExternalID *String `json:"externalId,omitempty"`
// The current status. (Optional.)
Status *RequestableCheckStatusState `json:"status,omitempty"`
// The time that the check run began. (Optional.)
StartedAt *DateTime `json:"startedAt,omitempty"`
// The final conclusion of the check. (Optional.)
Conclusion *CheckConclusionState `json:"conclusion,omitempty"`
// The time that the check run finished. (Optional.)
CompletedAt *DateTime `json:"completedAt,omitempty"`
// Descriptive details about the run. (Optional.)
Output *CheckRunOutput `json:"output,omitempty"`
// Possible further actions the integrator can perform, which a user may trigger. (Optional.)
Actions *[]CheckRunAction `json:"actions,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateCheckSuiteInput is an autogenerated input type of CreateCheckSuite.
type CreateCheckSuiteInput struct {
// The Node ID of the repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// The SHA of the head commit. (Required.)
HeadSha GitObjectID `json:"headSha"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateCommitOnBranchInput is an autogenerated input type of CreateCommitOnBranch.
type CreateCommitOnBranchInput struct {
// The Ref to be updated. Must be a branch. (Required.)
Branch CommittableBranch `json:"branch"`
// The commit message the be included with the commit. (Required.)
Message CommitMessage `json:"message"`
// The git commit oid expected at the head of the branch prior to the commit. (Required.)
ExpectedHeadOid GitObjectID `json:"expectedHeadOid"`
// A description of changes to files in this commit. (Optional.)
FileChanges *FileChanges `json:"fileChanges,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateDiscussionInput is an autogenerated input type of CreateDiscussion.
type CreateDiscussionInput struct {
// The id of the repository on which to create the discussion. (Required.)
RepositoryID ID `json:"repositoryId"`
// The title of the discussion. (Required.)
Title String `json:"title"`
// The body of the discussion. (Required.)
Body String `json:"body"`
// The id of the discussion category to associate with this discussion. (Required.)
CategoryID ID `json:"categoryId"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateEnterpriseOrganizationInput is an autogenerated input type of CreateEnterpriseOrganization.
type CreateEnterpriseOrganizationInput struct {
// The ID of the enterprise owning the new organization. (Required.)
EnterpriseID ID `json:"enterpriseId"`
// The login of the new organization. (Required.)
Login String `json:"login"`
// The profile name of the new organization. (Required.)
ProfileName String `json:"profileName"`
// The email used for sending billing receipts. (Required.)
BillingEmail String `json:"billingEmail"`
// The logins for the administrators of the new organization. (Required.)
AdminLogins []String `json:"adminLogins"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateEnvironmentInput is an autogenerated input type of CreateEnvironment.
type CreateEnvironmentInput struct {
// The node ID of the repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// The name of the environment. (Required.)
Name String `json:"name"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateIpAllowListEntryInput is an autogenerated input type of CreateIpAllowListEntry.
type CreateIpAllowListEntryInput struct {
// The ID of the owner for which to create the new IP allow list entry. (Required.)
OwnerID ID `json:"ownerId"`
// An IP address or range of addresses in CIDR notation. (Required.)
AllowListValue String `json:"allowListValue"`
// Whether the IP allow list entry is active when an IP allow list is enabled. (Required.)
IsActive Boolean `json:"isActive"`
// An optional name for the IP allow list entry. (Optional.)
Name *String `json:"name,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateIssueInput is an autogenerated input type of CreateIssue.
type CreateIssueInput struct {
// The Node ID of the repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// The title for the issue. (Required.)
Title String `json:"title"`
// The body for the issue description. (Optional.)
Body *String `json:"body,omitempty"`
// The Node ID for the user assignee for this issue. (Optional.)
AssigneeIDs *[]ID `json:"assigneeIds,omitempty"`
// The Node ID of the milestone for this issue. (Optional.)
MilestoneID *ID `json:"milestoneId,omitempty"`
// An array of Node IDs of labels for this issue. (Optional.)
LabelIDs *[]ID `json:"labelIds,omitempty"`
// An array of Node IDs for projects associated with this issue. (Optional.)
ProjectIDs *[]ID `json:"projectIds,omitempty"`
// The name of an issue template in the repository, assigns labels and assignees from the template to the issue. (Optional.)
IssueTemplate *String `json:"issueTemplate,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateLinkedBranchInput is an autogenerated input type of CreateLinkedBranch.
type CreateLinkedBranchInput struct {
// ID of the issue to link to. (Required.)
IssueID ID `json:"issueId"`
// The commit SHA to base the new branch on. (Required.)
Oid GitObjectID `json:"oid"`
// The name of the new branch. Defaults to issue number and title. (Optional.)
Name *String `json:"name,omitempty"`
// ID of the repository to create the branch in. Defaults to the issue repository. (Optional.)
RepositoryID *ID `json:"repositoryId,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateMigrationSourceInput is an autogenerated input type of CreateMigrationSource.
type CreateMigrationSourceInput struct {
// The migration source name. (Required.)
Name String `json:"name"`
// The migration source URL, for example `https://github.com` or `https://monalisa.ghe.com`. (Required.)
URL String `json:"url"`
// The migration source type. (Required.)
Type MigrationSourceType `json:"type"`
// The ID of the organization that will own the migration source. (Required.)
OwnerID ID `json:"ownerId"`
// The migration source access token. (Optional.)
AccessToken *String `json:"accessToken,omitempty"`
// The GitHub personal access token of the user importing to the target repository. (Optional.)
GitHubPat *String `json:"githubPat,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateProjectInput is an autogenerated input type of CreateProject.
type CreateProjectInput struct {
// The owner ID to create the project under. (Required.)
OwnerID ID `json:"ownerId"`
// The name of project. (Required.)
Name String `json:"name"`
// The description of project. (Optional.)
Body *String `json:"body,omitempty"`
// The name of the GitHub-provided template. (Optional.)
Template *ProjectTemplate `json:"template,omitempty"`
// A list of repository IDs to create as linked repositories for the project. (Optional.)
RepositoryIDs *[]ID `json:"repositoryIds,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateProjectV2Input is an autogenerated input type of CreateProjectV2.
type CreateProjectV2Input struct {
// The owner ID to create the project under. (Required.)
OwnerID ID `json:"ownerId"`
// The title of the project. (Required.)
Title String `json:"title"`
// The repository to link the project to. (Optional.)
RepositoryID *ID `json:"repositoryId,omitempty"`
// The team to link the project to. The team will be granted read permissions. (Optional.)
TeamID *ID `json:"teamId,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreatePullRequestInput is an autogenerated input type of CreatePullRequest.
type CreatePullRequestInput struct {
// The Node ID of the repository. (Required.)
RepositoryID ID `json:"repositoryId"`
// 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.)
BaseRefName String `json:"baseRefName"`
// 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.)
HeadRefName String `json:"headRefName"`
// The title of the pull request. (Required.)
Title String `json:"title"`
// The Node ID of the head repository. (Optional.)
HeadRepositoryID *ID `json:"headRepositoryId,omitempty"`
// The contents of the pull request. (Optional.)
Body *String `json:"body,omitempty"`
// Indicates whether maintainers can modify the pull request. (Optional.)
MaintainerCanModify *Boolean `json:"maintainerCanModify,omitempty"`
// Indicates whether this pull request should be a draft. (Optional.)
Draft *Boolean `json:"draft,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateRefInput is an autogenerated input type of CreateRef.
type CreateRefInput struct {
// The Node ID of the Repository to create the Ref in. (Required.)
RepositoryID ID `json:"repositoryId"`
// The fully qualified name of the new Ref (ie: `refs/heads/my_new_branch`). (Required.)
Name String `json:"name"`
// The GitObjectID that the new Ref shall target. Must point to a commit. (Required.)
Oid GitObjectID `json:"oid"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateRepositoryInput is an autogenerated input type of CreateRepository.
type CreateRepositoryInput struct {
// The name of the new repository. (Required.)
Name String `json:"name"`
// Indicates the repository's visibility level. (Required.)
Visibility RepositoryVisibility `json:"visibility"`
// The ID of the owner for the new repository. (Optional.)
OwnerID *ID `json:"ownerId,omitempty"`
// A short description of the new repository. (Optional.)
Description *String `json:"description,omitempty"`
// 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.)
Template *Boolean `json:"template,omitempty"`
// The URL for a web page about this repository. (Optional.)
HomepageURL *URI `json:"homepageUrl,omitempty"`
// Indicates if the repository should have the wiki feature enabled. (Optional.)
HasWikiEnabled *Boolean `json:"hasWikiEnabled,omitempty"`
// Indicates if the repository should have the issues feature enabled. (Optional.)
HasIssuesEnabled *Boolean `json:"hasIssuesEnabled,omitempty"`
// When an organization is specified as the owner, this ID identifies the team that should be granted access to the new repository. (Optional.)
TeamID *ID `json:"teamId,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateSponsorsListingInput is an autogenerated input type of CreateSponsorsListing.
type CreateSponsorsListingInput struct {
// 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.)
SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
// 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.)
FiscalHostLogin *String `json:"fiscalHostLogin,omitempty"`
// 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.)
FiscallyHostedProjectProfileURL *String `json:"fiscallyHostedProjectProfileUrl,omitempty"`
// The country or region where the sponsorable's bank account is located. Required if fiscalHostLogin is not specified, ignored when fiscalHostLogin is specified. (Optional.)
BillingCountryOrRegionCode *SponsorsCountryOrRegionCode `json:"billingCountryOrRegionCode,omitempty"`
// 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.)
ResidenceCountryOrRegionCode *SponsorsCountryOrRegionCode `json:"residenceCountryOrRegionCode,omitempty"`
// 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.)
ContactEmail *String `json:"contactEmail,omitempty"`
// 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.)
FullDescription *String `json:"fullDescription,omitempty"`
// A unique identifier for the client performing the mutation. (Optional.)
ClientMutationID *String `json:"clientMutationId,omitempty"`
}
// CreateSponsorsTierInput is an autogenerated input type of CreateSponsorsTier.
type CreateSponsorsTierInput struct {
// The value of the new tier in US dollars. Valid values: 1-12000. (Required.)
Amount Int `json:"amount"`
// A description of what this tier is, what perks sponsors might receive, what a sponsorship at this tier means for you, etc. (Required.)
Description String `json:"description"`
// 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.)
SponsorableID *ID `json:"sponsorableId,omitempty"`
// 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.)
SponsorableLogin *String `json:"sponsorableLogin,omitempty"`
// Whether sponsorships using this tier should happen monthly/yearly or just once. (Optional.)
IsRecurring *Boolean `json:"isRecurring,omitempty"`
// Optional ID of the private repository that sponsors at this tier should gain read-only access to. Must be owned by an organization. (Optional.)
RepositoryID *ID `json:"repositoryId,omitempty"`
// 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.)
RepositoryOwnerLogin *String `json:"repositoryOwnerLogin,omitempty"`
// 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.)