Automate ClickTime 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 ClickTime.
ADO.NET Provider
The ADO.NET Provider provides a SQL interface for ClickTime; this tutorial shows how to use the Provider to retrieve ClickTime data.
Once you have acquired the necessary connection properties, accessing ClickTime data in PowerShell can be enabled in three steps.
Start by setting the Profile connection property to the location of the ClickTime Profile on disk (e.g. C:\profiles\Clicktime.apip). Next, set the ProfileSettings connection property to the connection string for ClickTime (see below).
ClickTime API Profile Settings
Log into ClickTime, navigate to My Preferences, select the Authentication Token tab, and copy your API token.
-
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 ClickTime:
$conn= New-Object System.Data.CData.API.APIConnection("Profile=C:\profiles\Clicktime.apip;ProfileSettings='APIKey=your_api_token';") $conn.Open() -
Instantiate the APIDataAdapter, execute an SQL query, and output the results:
$sql="SELECT EstHours, Job from Allocations" $da= New-Object System.Data.CData.API.APIDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.esthours $_.job }