はじめに
GitHubのReleasesに登録したAssetsのダウンロード数を取得して、プリザンターに登録するPowerShellを作成してみました。
事前準備
- プリザンターをインストールします。
https://pleasanter.org/manual?category=0090_0120 - APIキーを発行します。
https://pleasanter.org/manual/api-key - 下記のような記録テーブルを作成します。
項目名 | 表示名 |
---|---|
タイトル | name |
数値A | download_count |
日付A | created_at |
PowerShell
下記のコードを記述して実行します。
# APIキーを記述します。
$apiKey = "82d09ce6..."
# プリザンターのテーブルへの作成を示すURLを記述します。
$uri = "http://servername/api/items/12345/create"
# GitHubリポジトリからreleasesを取得します。下記の例ではmicrosoftのTypeScriptのreleasesを取得します。
$releases = (Invoke-RestMethod -ContentType 'application/json' -Uri "https://api.github.com/repos/Microsoft/TypeScript/releases")
# 取得したreleasesのassetsをforeachします。
foreach ($item in $releases.assets) {
# プリザンターに登録するデータを作成します。
$data = @{
ApiKey = $apiKey;
Title = $item.name;
NumA = $item.download_count;
DateA = $item.created_at;
}
# JSONデータに変換します。
$body = $data | ConvertTo-Json
# プリザンターのレコード作成APIを呼び出します。
Invoke-RestMethod -Method post -ContentType 'application/json' -Uri $uri -Body $body
}