Connecting to Buildkite
Buildkite uses HTTP API key authentication. Your Buildkite API access token is used to authenticate requests as a Bearer token. You can generate or view your tokens at https://buildkite.com/user/api-access-tokens.
Using ApiKey Authentication
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your Buildkite API access token.
- Organization: Set this to your Buildkite organization slug (e.g. acme-inc).
Example connection string:
Profile=C:\profiles\Buildkite.apip;AuthScheme=APIKey;ProfileSettings="APIKey=your_api_key;Organization=your_organization_slug";
Available Tables
The Buildkite API Profile provides access to CI/CD operations data across 30 tables:
- Organizations - Buildkite organizations accessible via the API access token.
- OrganizationMembers - Members of the connected Buildkite organization.
- Pipelines - Buildkite pipelines belonging to the connected organization.
- PipelineSchedules - Schedules that trigger builds on a pipeline.
- Builds - Builds across the org or scoped to a pipeline; supports filtering by state, branch, commit, creator, and date range.
- JobLogs - Raw job log content for a single job.
- Agents - Buildkite agents registered with the connected organization.
- Artifacts - Artifacts produced by a build, optionally scoped to a single job.
- Annotations - Annotations attached to a build or one of its jobs.
- Teams - Teams within the connected organization.
- TeamMembers - Members of a specific team.
- TeamPipelines - Pipelines associated with a specific team.
- TeamSuites - Test Engine suites associated with a specific team.
- Clusters - Clusters within the connected organization.
- ClusterQueues - Queues belonging to a specific cluster.
- ClusterAgentTokens - Agent tokens issued for a specific cluster.
- ClusterMaintainers - Maintainers of a specific cluster.
- ClusterSecrets - Secrets stored in a specific cluster.
- Registries - Package registries belonging to the connected organization.
- RegistryTokens - Tokens issued for a specific package registry.
- Packages - Packages stored in a package registry.
- PipelineTemplates - Pipeline templates within the connected organization (feature must be enabled per-org).
- Rules - Rules within the connected organization (feature must be enabled per-org).
- Suites - Test Engine suites belonging to the connected organization.
- TestEngineRuns - Test Engine runs for a suite.
- TestEngineTests - Tests tracked in a Test Engine suite.
- QuarantinedTests - Quarantined (muted) tests for a Test Engine suite.
- Emojis - Emoji catalog (built-in plus organization customs and aliases).
- User - The user account that owns the API access token.
- AccessToken - The API access token used by the request.
Usage Examples
AccessToken:
SELECT * FROM AccessToken
Agents:
SELECT * FROM Agents
Annotations:
SELECT * FROM Annotations WHERE PipelineSlug = 'my-pipeline' AND BuildNumber = 1
Artifacts:
SELECT * FROM Artifacts WHERE PipelineSlug = 'my-pipeline' AND BuildNumber = 1
Builds:
SELECT * FROM Builds
ClusterAgentTokens:
SELECT * FROM ClusterAgentTokens WHERE ClusterId = 'cluster-uuid'
ClusterMaintainers:
SELECT * FROM ClusterMaintainers WHERE ClusterId = 'cluster-uuid'
ClusterQueues:
SELECT * FROM ClusterQueues WHERE ClusterId = 'cluster-uuid'
Clusters:
SELECT * FROM Clusters
ClusterSecrets:
SELECT * FROM ClusterSecrets WHERE ClusterId = 'cluster-uuid'
Emojis:
SELECT * FROM Emojis
JobLogs:
SELECT * FROM JobLogs WHERE PipelineSlug = 'my-pipeline' AND BuildNumber = 1 AND JobId = 'job-uuid'
OrganizationMembers:
SELECT * FROM OrganizationMembers
Organizations:
SELECT * FROM Organizations
Packages:
SELECT * FROM Packages WHERE RegistrySlug = 'my-registry'
PipelineSchedules:
SELECT * FROM PipelineSchedules WHERE PipelineSlug = 'my-pipeline'
PipelineTemplates:
SELECT * FROM PipelineTemplates
Pipelines:
SELECT * FROM Pipelines
QuarantinedTests:
SELECT * FROM QuarantinedTests WHERE SuiteSlug = 'my-suite'
Registries:
SELECT * FROM Registries
RegistryTokens:
SELECT * FROM RegistryTokens WHERE RegistrySlug = 'my-registry'
Rules:
SELECT * FROM Rules
Suites:
SELECT * FROM Suites
TeamMembers:
SELECT * FROM TeamMembers WHERE TeamId = 'team-uuid'
TeamPipelines:
SELECT * FROM TeamPipelines WHERE TeamId = 'team-uuid'
TeamSuites:
SELECT * FROM TeamSuites WHERE TeamId = 'team-uuid'
Teams:
SELECT * FROM Teams
TestEngineRuns:
SELECT * FROM TestEngineRuns WHERE SuiteSlug = 'my-suite'
TestEngineTests:
SELECT * FROM TestEngineTests WHERE SuiteSlug = 'my-suite'
User:
SELECT * FROM User
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | The Buildkite API access token used to authenticate as a Bearer token. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD |
| Organization | The slug identifier for your Buildkite organization, found in your organization's Buildkite URL. |