接続の確立
CData Cmdlets ユーザーは、データモジュールをインストールし、接続プロパティを設定してスクリプトを開始できます。このセクションでは、CSV インポートおよびエクスポートcmdlet などのネイティブPowerShell cmdlet でGreenhouse Cmdlets を使用する例を示します。
インストールおよび接続
PSGet がある場合は、PowerShell Gallery から次のコマンドを使ってcmdlet をインストールできます。CData サイトからセットアップを取得することもできます。
Install-Module GreenhouseCmdlets
プロファイルに以下を追加すると、次のセッションでcmdlet がロードされます。
Import-Module GreenhouseCmdlets;
Connect-Greenhouse cmdlet を使って、別のcmdlet に渡すことができる接続オブジェクトを作成します。
$conn = Connect-Greenhouse -APIKey 'YourAPIKey'
Greenhouse への接続
Greenhouse への接続にはAPI キーが必要です。API キーを作成するには、以下の手順に従います。
- ナビゲーションバーのConfigure アイコンをクリックし、左側にあるDev Center を見つけます。
- API Credential Management を選択します。
- Create New API Key をクリックします。
- "API Type" をHarvest に設定します。
- "Partner" をcustom に設定します。
- オプションで、説明を入力します。
- Manage permissions に進み、本製品 を利用してアクセスしたいリソースに基づいて適切な権限を選択します。
- 作成されたキーをコピーし、APIKey にその値を設定します。
データの取得
Select-Greenhouse cmdlet はデータを取得するためのネイティブなPowerShell インターフェースを提供します。
$results = Select-Greenhouse -Connection $conn -Table "Applications" -Columns @("Id, CandidateId") -Where "Id='27838971007'"Invoke-Greenhouse cmdlet はSQL インターフェースを提供します。このcmdlet を使うと、Query パラメータを介してSQL クエリを実行できます。
cmdlet 出力のパイプ処理
cmdlet は行オブジェクトをパイプラインに一度に一行ずつ返します。以下は、結果をCSV ファイルにエクスポートします。
Select-Greenhouse -Connection $conn -Table Applications -Where "Id = '27838971007'" | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myApplicationsData.csv -NoTypeInformation
Select-Greenhouse からの結果をSelect-Object cmdlet にパイプして、Export-CSV cmdlet にパイプする前にいくつかのプロパティを実行していることがわかるでしょう。これをする理由は、CData Cmdlets は接続、テーブル、およびカラムの情報を結果セットの各行オブジェクトに追加しますが、必ずしもその情報がCSV ファイルに必要ではないからです。
ただし、これによってcmdlet の出力を別のcmdlet にパイプすることが容易になります。以下に、結果セットをJSON に変換する例を示します。
PS C:\> $conn = Connect-Greenhouse -APIKey 'YourAPIKey' PS C:\> $row = Select-Greenhouse -Connection $conn -Table "Applications" -Columns (Id, CandidateId) -Where "Id = '27838971007'" | select -first 1 PS C:\> $row | ConvertTo-Json { "Connection": { }, "Table": "Applications", "Columns": [ ], "Id": "MyId", "CandidateId": "MyCandidateId" }
データの変更
cmdlet はデータクレンジング同様、データの変換を容易にします。次の例は、レコードがすでに存在するかどうか、挿入する前に更新が必要かどうかをチェックしてから、CSV ファイルのデータをGreenhouse にロードします。
Import-Csv -Path C:\MyApplicationsUpdates.csv | %{ $record = Select-Greenhouse -Connection $conn -Table Applications -Where ("Id = `'"+$_.Id+"`'") if($record){ Update-Greenhouse -Connection $conn -Table Applications -Columns @("Id","CandidateId") -Values @($_.Id, $_.CandidateId) -Where "Id = `'$_.Id`'" }else{ Add-Greenhouse -Connection $conn -Table Applications -Columns @("Id","CandidateId") -Values @($_.Id, $_.CandidateId) } }