Automate Buildkite Integration Tasks from PowerShell
The CData API Driver for ADO.NET is a standard ADO.NET Provider that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time access to Buildkite.
ADO.NET Provider
The ADO.NET Provider provides a SQL interface for Buildkite; this tutorial shows how to use the Provider to retrieve Buildkite data.
Once you have acquired the necessary connection properties, accessing Buildkite data in PowerShell can be enabled in three steps.
Start by setting the Profile connection property to the location of the Buildkite Profile on disk (e.g. C:\profiles\Buildkite.apip). Next, set the ProfileSettings connection property to the connection string for Buildkite (see below).
Buildkite API Profile Settings
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.
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).
-
Load the provider's assembly:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData API Driver for ADO.NET\lib\System.Data.CData.API.dll") -
Connect to Buildkite:
$conn= New-Object System.Data.CData.API.APIConnection("Profile=C:\profiles\Buildkite.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_api_key;Organization=your_organization_slug';") $conn.Open() -
Instantiate the APIDataAdapter, execute an SQL query, and output the results:
$sql="SELECT Id, BuildNumber from Builds" $da= New-Object System.Data.CData.API.APIDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.id $_.buildnumber }