-
Notifications
You must be signed in to change notification settings - Fork 44
/
schema.graphql
5869 lines (5412 loc) · 176 KB
/
schema.graphql
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
"""Directs the executor to include this field or fragment only when the `if` argument is true."""
directive @include(
"""Included when true."""
if: Boolean!
) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
"""Directs the executor to skip this field or fragment when the `if` argument is true."""
directive @skip(
"""Skipped when true."""
if: Boolean!
) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
"""Marks an element of a GraphQL schema as no longer supported."""
directive @deprecated(
"""Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/)."""
reason: String
) on FIELD_DEFINITION | ENUM_VALUE | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
"""Requires that exactly one field must be supplied and that field must not be `null`."""
directive @oneOf on INPUT_OBJECT
"""API access tokens for authentication with the Buildkite API"""
type APIAccessToken implements Node{
id: ID!
"""The public UUID for the API Access Token"""
uuid: ID!
}
"""A code that is used by an API Application to request an API Access Token"""
type APIAccessTokenCode implements Node{
application: APIApplication
"""The time when this code was authorized by a user"""
authorizedAt: DateTime
"""The IP address of the client that authorized this code"""
authorizedIPAddress: String
"""The actual code used to find this API Access Token Code record"""
code: String!
"""The description of the code provided by the API Application"""
description: String!
"""The time when this code will expire"""
expiresAt: DateTime!
id: ID!
}
"""Autogenerated input type of APIAccessTokenCodeAuthorizeMutation"""
input APIAccessTokenCodeAuthorizeMutationInput {
"""Autogenerated input type of APIAccessTokenCodeAuthorizeMutation"""
clientMutationId: String
"""Autogenerated input type of APIAccessTokenCodeAuthorizeMutation"""
id: ID!
}
"""Autogenerated return type of APIAccessTokenCodeAuthorizeMutation."""
type APIAccessTokenCodeAuthorizeMutationPayload {
apiAccessTokenCode: APIAccessTokenCode!
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
}
"""All possible scopes on a user's API Access Token"""
enum APIAccessTokenScopes {
GRAPHQL
READ_AGENTS
READ_ARTIFACTS
READ_BUILD_LOGS
READ_BUILDS
READ_CLUSTERS
READ_JOB_ENV
READ_NOTIFICATION_SERVICES
READ_ORGANIZATIONS
READ_PIPELINE_TEMPLATES
READ_PIPELINES
READ_SUITES
READ_TEAMS
READ_USER
WRITE_AGENTS
WRITE_ARTIFACTS
WRITE_BUILD_LOGS
WRITE_BUILDS
WRITE_CLUSTERS
WRITE_NOTIFICATION_SERVICES
WRITE_PIPELINE_TEMPLATES
WRITE_PIPELINES
WRITE_SUITES
WRITE_TEAMS
}
"""An API Application"""
type APIApplication implements Node{
"""A description of the application"""
description: String!
id: ID!
"""The name of this application"""
name: String!
}
"""An agent"""
type Agent implements Node{
clusterQueue: ClusterQueue
"""The time when the agent connected to Buildkite"""
connectedAt: DateTime
"""The connection state of the agent"""
connectionState: String!
"""The date the agent was created"""
createdAt: DateTime
"""The time when the agent disconnected from Buildkite"""
disconnectedAt: DateTime
"""The last time the agent performed a `heartbeat` operation to the Agent API"""
heartbeatAt: DateTime
"""The hostname of the machine running the agent"""
hostname: String
id: ID!
"""The IP address that the agent has connected from"""
ipAddress: String
"""If this version of agent has been deprecated by Buildkite"""
isDeprecated: Boolean!
"""Returns whether or not this agent is running a job. If isRunningJob true, but the `job` field is empty, the current user doesn't have access to view the job"""
isRunningJob: Boolean!
"""The currently running job"""
job: Job
"""Jobs that have been assigned to this agent"""
jobs(
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""Returns the last _n_ elements from the list."""
last: Int
"""Returns the elements in the list that come before the specified cursor."""
before: String
type: [JobTypes!]
state: [JobStates!]
priority: Int
agentQueryRules: [String!]
concurrency: JobConcurrencySearch
"""Whether or not the command job passed. Passing `false` will return all failed jobs (including "soft failed" jobs)"""
passed: Boolean
"""Filtering jobs based on related step information"""
step: JobStepSearch
"""Order the jobs"""
order: JobOrder
): JobConnection
"""The date the agent was lost from Buildkite if it didn't cleanly disconnect"""
lostAt: DateTime
"""The meta data this agent was stared with"""
metaData: [String!]
"""The name of the agent"""
name: String!
"""The operating system the agent is running on"""
operatingSystem: OperatingSystem
organization: Organization
permissions: AgentPermissions!
"""The process identifier (PID) of the agent process on the machine"""
pid: String
pingedAt: DateTime
"""The priority setting for the agent"""
priority: Int
"""Whether this agent is visible to everyone, including people outside this organization"""
public: Boolean!
"""The time this agent was forced to stop"""
stopForcedAt: DateTime
"""The user that forced this agent to stop"""
stopForcedBy: User
"""The time the agent was first asked to stop"""
stoppedAt: DateTime
"""The user that initially stopped this agent"""
stoppedBy: User
"""The time the agent was gracefully stopped by a user"""
stoppedGracefullyAt: DateTime
"""The user that gracefully stopped this agent"""
stoppedGracefullyBy: User
"""The User-Agent of the program that is making Agent API requests to Buildkite"""
userAgent: String
"""The public UUID for the agent"""
uuid: String!
"""The version of the agent"""
version: String
"""Whether this agent's version has known issues and should be upgraded"""
versionHasKnownIssues: Boolean!
}
type AgentConnection implements Connection{
count: Int!
edges: [AgentEdge]
pageInfo: PageInfo
}
type AgentEdge {
cursor: String!
node: Agent
}
"""Permissions information about what actions the current user can do against this agent"""
type AgentPermissions {
"""Whether the user can stop the agent remotely"""
agentStop: Permission
}
"""Autogenerated input type of AgentStop"""
input AgentStopInput {
"""Autogenerated input type of AgentStop"""
clientMutationId: String
"""Autogenerated input type of AgentStop"""
id: ID!
"""Autogenerated input type of AgentStop"""
graceful: Boolean
}
"""Autogenerated return type of AgentStop."""
type AgentStopPayload {
agent: Agent!
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
}
"""A token used to connect an agent to Buildkite"""
type AgentToken implements Node{
"""The time this agent token was created"""
createdAt: DateTime
"""The user that created this agent token"""
createdBy: User
"""A description about what this agent token is used for"""
description: String
id: ID!
organization: Organization
permissions: AgentTokenPermissions!
"""Whether agents registered with this token will be visible to everyone, including people outside this organization"""
public: Boolean!
"""The time this agent token was revoked"""
revokedAt: DateTime
"""The user that revoked this agent token"""
revokedBy: User
"""The reason as defined by the user why this token was revoked"""
revokedReason: String
"""The token value used to register a new agent"""
token: String!
"""The public UUID for the agent"""
uuid: ID!
}
type AgentTokenConnection implements Connection{
count: Int!
edges: [AgentTokenEdge]
pageInfo: PageInfo
}
"""Autogenerated input type of AgentTokenCreate"""
input AgentTokenCreateInput {
"""Autogenerated input type of AgentTokenCreate"""
clientMutationId: String
"""Autogenerated input type of AgentTokenCreate"""
organizationID: ID!
"""Autogenerated input type of AgentTokenCreate"""
description: String
"""Autogenerated input type of AgentTokenCreate"""
public: Boolean
}
"""Autogenerated return type of AgentTokenCreate."""
type AgentTokenCreatePayload {
agentTokenEdge: AgentTokenEdge!
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
organization: Organization!
"""The token value used to register a new unclustered agent. Please ensure to securely copy this value immediately upon generation as it will not be displayed again."""
tokenValue: String!
}
type AgentTokenEdge {
cursor: String!
node: AgentToken
}
"""Permissions information about what actions the current user can do against the agent token"""
type AgentTokenPermissions {
"""Whether the user can revoke this agent token"""
agentTokenRevoke: Permission
}
"""Autogenerated input type of AgentTokenRevoke"""
input AgentTokenRevokeInput {
"""Autogenerated input type of AgentTokenRevoke"""
clientMutationId: String
"""Autogenerated input type of AgentTokenRevoke"""
id: ID!
"""Autogenerated input type of AgentTokenRevoke"""
reason: String!
}
"""Autogenerated return type of AgentTokenRevoke."""
type AgentTokenRevokePayload {
agentToken: AgentToken!
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
}
"""An annotation allows you to add arbitrary content to the top of a build page in the Buildkite UI"""
type Annotation implements Node{
"""The body of the annotation"""
body: AnnotationBody
"""The context of the annotation that helps you differentiate this one from others"""
context: String!
"""The date the annotation was created"""
createdAt: DateTime!
id: ID!
"""The priority of the annotation"""
priority: Int!
"""The visual style of the annotation"""
style: AnnotationStyle
"""The last time the annotation was changed"""
updatedAt: DateTime
"""The public UUID for this annotation"""
uuid: ID!
}
"""A body of an annotation"""
type AnnotationBody {
"""The body of the annotation rendered as HTML. The renderer result could be an empty string if the textual version has unsupported HTML tags"""
html: String
"""The body of the annotation as text"""
text: String!
}
type AnnotationConnection implements Connection{
count: Int!
edges: [AnnotationEdge]
pageInfo: PageInfo
}
type AnnotationEdge {
cursor: String!
node: Annotation
}
"""The different orders you can sort annotations by"""
enum AnnotationOrder {
"""Order by priority, then by the most recently created annotations first"""
PRIORITY_RECENTLY_CREATED
"""Order by the most recently created annotations first"""
RECENTLY_CREATED
}
"""The visual style of the annotation"""
enum AnnotationStyle {
"""The default styling of an annotation"""
DEFAULT
"""The annotation has a green border with a tick next to it"""
SUCCESS
"""The annotation has a blue border with an information icon next to it"""
INFO
"""The annotation has an orange border with a warning icon next to it"""
WARNING
""" The annotation has a red border with a cross next to it"""
ERROR
}
"""A file uploaded from the agent whilst running a job"""
type Artifact implements Node{
"""The download URL for the artifact. Unless you've used your own artifact storage, the URL will be valid for only 10 minutes."""
downloadURL: String!
"""The time when the artifact will, or did, expire"""
expiresAt: DateTime
id: ID!
"""The job that uploaded this artifact"""
job: JobTypeCommand
"""The mime type of the file provided by the agent"""
mimeType: String!
"""The path of the uploaded artifact"""
path: String!
"""A SHA1SUM of the file"""
sha1sum: String!
"""A SHA256SUM of the file"""
sha256sum: String
"""The size of the file in bytes that was uploaded"""
size: Int!
"""The upload state of the artifact"""
state: String!
"""The public UUID for this artifact"""
uuid: ID!
}
type ArtifactConnection implements Connection{
count: Int!
edges: [ArtifactEdge]
pageInfo: PageInfo
}
type ArtifactEdge {
cursor: String!
node: Artifact
}
"""Context for an audit event created during an REST/GraphQL API request"""
type AuditAPIContext {
"""The API access token UUID used to authenticate the request"""
requestApiAccessTokenUuid: String
"""The remote IP which made the request"""
requestIpAddress: String
"""The client supplied user agent which made the request"""
requestUserAgent: String
}
"""The actor who caused an AuditEvent"""
type AuditActor {
"""The GraphQL ID for this actor"""
id: ID!
"""The name or short description of this actor"""
name: String
"""The node corresponding to this actor, if available"""
node: AuditActorNode
"""The type of this actor"""
type: AuditActorType
"""The public UUID of this actor"""
uuid: ID!
}
"""Kinds of actors which can perform audit events"""
union AuditActorNode =Agent | User
"""All the possible types of actors in an Audit Event"""
enum AuditActorType {
AGENT
USER
}
"""Context for an audit event created during an agent API request"""
type AuditAgentAPIContext {
"""The agent UUID"""
agentUuid: String
"""The type of token that authenticated the agent"""
authenticationType: String
"""The connection state of the agent"""
connectionState: String
"""The organization UUID that the agent belongs to"""
organizationUuid: String
"""The remote IP which made the request"""
requestIpAddress: String
"""The IP of the agent session which made the request"""
sessionIpAddress: String
}
"""Kinds of contexts in which an audit event can be performed"""
union AuditContext =AuditAPIContext | AuditAgentAPIContext | AuditWebContext
"""Audit record of an event which occurred in the system"""
type AuditEvent implements Node{
"""The actor who caused this event"""
actor: AuditActor
"""The context in which this event occurred"""
context: AuditContext
"""The changed data in the event"""
data: JSON
id: ID!
"""The time at which this event occurred"""
occurredAt: DateTime!
"""The subject of this event"""
subject: AuditSubject
"""The type of event"""
type: AuditEventType!
"""The public UUID for the event"""
uuid: ID!
}
"""All the possible types of an Audit Event"""
enum AuditEventType {
API_ACCESS_TOKEN_CREATED
API_ACCESS_TOKEN_DELETED
API_ACCESS_TOKEN_ORGANIZATION_ACCESS_REVOKED
API_ACCESS_TOKEN_UPDATED
AGENT_TOKEN_CREATED
AGENT_TOKEN_REVOKED
AGENT_TOKEN_UPDATED
AUTHORIZATION_CREATED
AUTHORIZATION_DELETED
CLUSTER_CREATED
CLUSTER_DELETED
CLUSTER_PERMISSION_CREATED
CLUSTER_PERMISSION_DELETED
CLUSTER_QUEUE_CREATED
CLUSTER_QUEUE_DELETED
CLUSTER_QUEUE_TOKEN_CREATED
CLUSTER_QUEUE_TOKEN_DELETED
CLUSTER_QUEUE_TOKEN_UPDATED
CLUSTER_QUEUE_UPDATED
CLUSTER_TOKEN_CREATED
CLUSTER_TOKEN_DELETED
CLUSTER_TOKEN_UPDATED
CLUSTER_UPDATED
NOTIFICATION_SERVICE_BROKEN
NOTIFICATION_SERVICE_CREATED
NOTIFICATION_SERVICE_DELETED
NOTIFICATION_SERVICE_DISABLED
NOTIFICATION_SERVICE_ENABLED
NOTIFICATION_SERVICE_UPDATED
ORGANIZATION_BANNER_CREATED
ORGANIZATION_BANNER_DELETED
ORGANIZATION_BANNER_UPDATED
ORGANIZATION_BUILD_EXPORT_UPDATED
ORGANIZATION_CREATED
ORGANIZATION_DELETED
ORGANIZATION_INVITATION_ACCEPTED
ORGANIZATION_INVITATION_CREATED
ORGANIZATION_INVITATION_RESENT
ORGANIZATION_INVITATION_REVOKED
ORGANIZATION_MEMBER_CREATED
ORGANIZATION_MEMBER_DELETED
ORGANIZATION_MEMBER_UPDATED
ORGANIZATION_TEAMS_DISABLED
ORGANIZATION_TEAMS_ENABLED
ORGANIZATION_UPDATED
PIPELINE_CREATED
PIPELINE_DELETED
PIPELINE_SCHEDULE_CREATED
PIPELINE_SCHEDULE_DELETED
PIPELINE_SCHEDULE_UPDATED
PIPELINE_TEMPLATE_CREATED
PIPELINE_TEMPLATE_DELETED
PIPELINE_TEMPLATE_UPDATED
PIPELINE_UPDATED
PIPELINE_VISIBILITY_CHANGED
PIPELINE_WEBHOOK_URL_ROTATED
SCM_PIPELINE_SETTINGS_CREATED
SCM_PIPELINE_SETTINGS_DELETED
SCM_PIPELINE_SETTINGS_UPDATED
SCM_REPOSITORY_HOST_CREATED
SCM_REPOSITORY_HOST_DESTROYED
SCM_REPOSITORY_HOST_UPDATED
SCM_SERVICE_CREATED
SCM_SERVICE_DELETED
SCM_SERVICE_UPDATED
SSO_PROVIDER_CREATED
SSO_PROVIDER_DELETED
SSO_PROVIDER_DISABLED
SSO_PROVIDER_ENABLED
SSO_PROVIDER_UPDATED
SECRET_CREATED
SECRET_DELETED
SECRET_QUERIED
SECRET_READ
SECRET_UPDATED
SUBSCRIPTION_PLAN_ADDED
SUBSCRIPTION_PLAN_CHANGE_SCHEDULED
SUBSCRIPTION_PLAN_CHANGED
SUITE_API_TOKEN_REGENERATED
SUITE_CREATED
SUITE_DELETED
SUITE_MONITOR_CREATED
SUITE_MONITOR_DELETED
SUITE_MONITOR_UPDATED
SUITE_UPDATED
SUITE_VISIBILITY_CHANGED
TEAM_CREATED
TEAM_DELETED
TEAM_MEMBER_CREATED
TEAM_MEMBER_DELETED
TEAM_MEMBER_UPDATED
TEAM_PIPELINE_CREATED
TEAM_PIPELINE_DELETED
TEAM_PIPELINE_UPDATED
TEAM_SUITE_CREATED
TEAM_SUITE_DELETED
TEAM_SUITE_UPDATED
TEAM_UPDATED
USER_API_ACCESS_TOKEN_ORGANIZATION_ACCESS_ADDED
USER_API_ACCESS_TOKEN_ORGANIZATION_ACCESS_REMOVED
USER_EMAIL_CREATED
USER_EMAIL_DELETED
USER_EMAIL_MARKED_PRIMARY
USER_EMAIL_VERIFIED
USER_PASSWORD_RESET
USER_PASSWORD_RESET_REQUESTED
USER_TOTP_ACTIVATED
USER_TOTP_CREATED
USER_TOTP_DELETED
USER_UPDATED
}
"""The subject of an AuditEvent"""
type AuditSubject {
"""The GraphQL ID for the subject"""
id: ID!
"""The name or short description of this subject"""
name: String
"""The node corresponding to the subject, if available"""
node: AuditSubjectNode
"""The type of this subject"""
type: AuditSubjectType
"""The public UUID of this subject"""
uuid: ID!
}
"""Kinds of subjects which can have audit events performed on them"""
union AuditSubjectNode =APIAccessToken | AgentToken | AuthorizationBitbucket | AuthorizationGitHub | AuthorizationGitHubEnterprise | Cluster | ClusterPermission | ClusterQueue | ClusterQueueToken | ClusterToken | Email | NotificationServiceSlack | NotificationServiceWebhook | Organization | OrganizationBanner | OrganizationInvitation | OrganizationMember | Pipeline | PipelineSchedule | PipelineTemplate | SCMPipelineSettings | SCMRepositoryHost | SCMService | SSOProviderGitHubApp | SSOProviderGoogleGSuite | SSOProviderSAML | Secret | Subscription | Suite | TOTP | Team | TeamMember | TeamPipeline | TeamSuite | User
"""All the possible types of subjects in an Audit Event"""
enum AuditSubjectType {
USER_TOTP
CLUSTER_PERMISSION
USER
CLUSTER
SECRET
ORGANIZATION_MEMBER
ORGANIZATION
PIPELINE
TEAM
SSO_PROVIDER
SUITE
SUBSCRIPTION
AUTHORIZATION
AGENT_TOKEN
API_ACCESS_TOKEN
CLUSTER_QUEUE
CLUSTER_TOKEN
CLUSTER_QUEUE_TOKEN
NOTIFICATION_SERVICE
ORGANIZATION_BANNER
ORGANIZATION_INVITATION
PIPELINE_SCHEDULE
PIPELINE_TEMPLATE
TEAM_MEMBER
TEAM_PIPELINE
TEAM_SUITE
SCM_SERVICE
SCM_PIPELINE_SETTINGS
SCM_REPOSITORY_HOST
SUITE_MONITOR
USER_EMAIL
}
"""Context for an audit event created during a web request"""
type AuditWebContext {
"""The remote IP which made the request"""
requestIpAddress: String
"""The client supplied user agent which made the request"""
requestUserAgent: String
"""When the session started, if available"""
sessionCreatedAt: DateTime
"""When the session was escalated, if available and escalated"""
sessionEscalatedAt: DateTime
"""The session's authenticated user, if available"""
sessionUser: User
"""The session's authenticated user's uuid"""
sessionUserUuid: ID
}
interface Authorization {
id: ID!
}
"""A Bitbucket account authorized with a Buildkite account"""
type AuthorizationBitbucket implements Authorization & Node{
"""ID of the object."""
id: ID!
}
type AuthorizationConnection implements Connection{
count: Int!
edges: [AuthorizationEdge]
pageInfo: PageInfo
}
type AuthorizationEdge {
cursor: String!
node: Authorization
}
"""A GitHub account authorized with a Buildkite account"""
type AuthorizationGitHub implements Authorization & Node{
"""ID of the object."""
id: ID!
}
"""A GitHub app authorized with a Buildkite account"""
type AuthorizationGitHubApp implements Authorization & Node{
"""ID of the object."""
id: ID!
}
"""A GitHub Enterprise account authorized with a Buildkite account"""
type AuthorizationGitHubEnterprise implements Authorization & Node{
"""ID of the object."""
id: ID!
}
"""A Google account authorized with a Buildkite account"""
type AuthorizationGoogle implements Authorization & Node{
"""ID of the object."""
id: ID!
}
"""A SAML account authorized with a Buildkite account"""
type AuthorizationSAML implements Authorization & Node{
"""ID of the object."""
id: ID!
}
"""The type of the authorization"""
enum AuthorizationType {
"""GitHub Authorization"""
GITHUB
"""GitHub Enterprise Authorization"""
GITHUB_ENTERPRISE
"""Bitbucket Authorization"""
BITBUCKET
}
"""An avatar belonging to a user"""
type Avatar {
"""The URL of the avatar"""
url: String!
}
"""Represents `true` or `false` values."""
scalar Boolean
"""A build from a pipeline"""
type Build implements Node{
annotations(
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""Returns the last _n_ elements from the list."""
last: Int
"""Returns the elements in the list that come before the specified cursor."""
before: String
style: [AnnotationStyle!]
"""Order the annotations"""
order: AnnotationOrder
): AnnotationConnection
"""The current blocked state of the build"""
blockedState: BuildBlockedStates
"""The branch for the build"""
branch: String!
"""The time when the build was cancelled"""
canceledAt: DateTime
"""The user who canceled this build. If the build was canceled, and this value is null, then it was canceled automatically by Buildkite"""
canceledBy: User
"""The fully-qualified commit for the build"""
commit: String!
"""The time when the build was created"""
createdAt: DateTime
createdBy: BuildCreator
"""Custom environment variables passed to this build"""
env: [String!]
"""The time when the build finished"""
finishedAt: DateTime
id: ID!
jobs(
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""Returns the last _n_ elements from the list."""
last: Int
"""Returns the elements in the list that come before the specified cursor."""
before: String
type: [JobTypes!]
state: [JobStates!]
priority: JobPrioritySearch
agentQueryRules: [String!]
concurrency: JobConcurrencySearch
"""Whether or not the command job passed. Passing `false` will return all failed jobs (including "soft failed" jobs)"""
passed: Boolean
"""Filtering jobs based on related step information"""
step: JobStepSearch
"""Order the jobs"""
order: JobOrder
): JobConnection
"""The message for the build"""
message: String
metaData(
first: Int
last: Int
): BuildMetaDataConnection
"""The number of the build"""
number: Int!
organization: Organization!
pipeline: Pipeline!
pullRequest: PullRequest
"""The build that this build was rebuilt from"""
rebuiltFrom: Build
"""The time when the build became scheduled for running"""
scheduledAt: DateTime
"""Where the build was created"""
source: BuildSource!
"""The time when the build started running"""
startedAt: DateTime
"""The current state of the build"""
state: BuildStates!
"""The job that this build was triggered from"""
triggeredFrom: JobTypeTrigger
"""The URL for the build"""
url: String!
"""The UUID for the build"""
uuid: String!
}
"""Autogenerated input type of BuildAnnotate"""
input BuildAnnotateInput {
"""Autogenerated input type of BuildAnnotate"""
clientMutationId: String
"""Autogenerated input type of BuildAnnotate"""
buildID: ID!
"""Autogenerated input type of BuildAnnotate"""
body: String
"""Autogenerated input type of BuildAnnotate"""
style: AnnotationStyle
"""Autogenerated input type of BuildAnnotate"""
context: String
"""Autogenerated input type of BuildAnnotate"""
append: Boolean
"""Autogenerated input type of BuildAnnotate"""
priority: Int
}
"""Autogenerated return type of BuildAnnotate."""
type BuildAnnotatePayload {
annotation: Annotation
annotationEdge: AnnotationEdge
build: Build
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
}
"""Author for a build"""
input BuildAuthorInput {
"""Author for a build"""
name: String!
"""Author for a build"""
email: String!
}
"""All the possible blocked states a build can be in"""
enum BuildBlockedStates {
"""The blocked build is running"""
RUNNING
"""The blocked build is passed"""
PASSED
"""The blocked build is failed"""
FAILED
}
"""Autogenerated input type of BuildCancel"""
input BuildCancelInput {
"""Autogenerated input type of BuildCancel"""
clientMutationId: String
"""Autogenerated input type of BuildCancel"""
id: ID!
}
"""Autogenerated return type of BuildCancel."""
type BuildCancelPayload {
build: Build!
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
}
type BuildConnection implements Connection{
count: Int!
edges: [BuildEdge]
pageInfo: PageInfo
}
"""Autogenerated input type of BuildCreate"""
input BuildCreateInput {
"""Autogenerated input type of BuildCreate"""
clientMutationId: String
"""Autogenerated input type of BuildCreate"""
pipelineID: ID!
"""Autogenerated input type of BuildCreate"""
message: String
"""Autogenerated input type of BuildCreate"""
commit: String
"""Autogenerated input type of BuildCreate"""
branch: String
"""Autogenerated input type of BuildCreate"""
env: [String!]
"""Autogenerated input type of BuildCreate"""
metaData: [BuildMetaDataInput!]
"""Autogenerated input type of BuildCreate"""
author: BuildAuthorInput
}
"""Autogenerated return type of BuildCreate."""
type BuildCreatePayload {
build: Build
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
}
"""Either a `User` or an `UnregisteredUser` type"""
union BuildCreator =UnregisteredUser | User
type BuildEdge {
cursor: String!
node: Build
}
"""A comment on a build"""
type BuildMetaData {
"""The key used to set this meta data"""
key: String!
"""The value set to this meta data"""
value: String!
}
type BuildMetaDataConnection implements Connection{
count: Int!
edges: [BuildMetaDataEdge]
pageInfo: PageInfo
}
type BuildMetaDataEdge {
cursor: String!
node: BuildMetaData
}
"""Meta-data key/value pairs for a build"""
input BuildMetaDataInput {
"""Meta-data key/value pairs for a build"""
key: String!
"""Meta-data key/value pairs for a build"""
value: String!
}
"""Autogenerated input type of BuildRebuild"""
input BuildRebuildInput {
"""Autogenerated input type of BuildRebuild"""
clientMutationId: String
"""Autogenerated input type of BuildRebuild"""
id: ID!
}
"""Autogenerated return type of BuildRebuild."""
type BuildRebuildPayload {
build: Build!
"""A unique identifier for the client performing the mutation."""
clientMutationId: String
rebuild: Build!
}
interface BuildSource {
name: String!
}
"""A build was triggered via an API"""
type BuildSourceAPI implements BuildSource{
name: String!
}
"""A build was triggered manually via the frontend"""
type BuildSourceFrontend implements BuildSource{
name: String!
}
"""A build was triggered via a schedule"""
type BuildSourceSchedule implements BuildSource{
name: String!
"""The associated schedule that created this build. Will be `null` if the associated schedule has been deleted."""
pipelineSchedule: PipelineSchedule
}
"""A build was triggered via a trigger job"""
type BuildSourceTriggerJob implements BuildSource{
name: String!
}
"""A build was triggered via a Webhook"""
type BuildSourceWebhook implements BuildSource{
"""Provider specific headers sent along with the webhook. This will return null if the webhook has been purged by Buildkite."""
headers: [String!]
name: String!
"""The body of the webhook. Buildkite only stores webhook data for a short period of time, so if this returns null - then the webhook data has been purged by Buildkite"""
payload: JSON
"""The UUID for this webhook. This will return null if the webhook has been purged by Buildkite"""
uuid: String
}
"""All the possible states a build can be in"""
enum BuildStates {
"""The build was skipped"""
SKIPPED
"""The build is currently being created"""
CREATING
"""The build has yet to start running jobs"""
SCHEDULED
"""The build is currently running jobs"""
RUNNING
"""The build passed"""
PASSED
"""The build failed"""
FAILED
"""The build is failing"""
FAILING
"""The build is currently being canceled"""
CANCELING
"""The build was canceled"""
CANCELED
"""The build is blocked"""