タダです.
以下の記事でBytebaseのグループアサインをMicrosoft EndtraIDグループで行いました.そのグループメンバーを API で取得したかったのでやり方を調べたメモを残します.
サービスアカウントの準備
Bytebase API を呼ぶには, まずサービスアカウントを作成してサービスキーを取得する必要があります.
- Workspace Admin でログインし,
IAM & Admin > Users & Groupsを開く + Add UserからアカウントタイプをService Accountにしてアカウントを作成する- 作成後に
Copy Service Keyでキーを取得する
トークンの取得
サービスアカウントのメールアドレスとサービスキーを使って /v1/auth/login にリクエストし, アクセストークンを取得します.
export BYTEBASE_URL=https://<your-bytebase-host> export SERVICE_ACCOUNT=api-sample@service.bytebase.com export SERVICE_KEY=<copied-service-key> TOKEN=$(curl -s -X POST "${BYTEBASE_URL}/v1/auth/login" \ -H "Content-Type: application/json" \ -d "{\"email\": \"${SERVICE_ACCOUNT}\", \"password\": \"${SERVICE_KEY}\"}" \ | jq -r '.token')
取得したトークンは以降のリクエストで Authorization: Bearer ヘッダーに付与して使います.
特定グループのメンバー取得
特定のグループのみ取得したい場合は GET /v1/groups/{group} を使います. {group} にはMicrosoft EndtraIDグループのオブジェクトIDを指定します.
GROUP_ID=[オブジェクトID] curl -X GET "${BYTEBASE_URL}/v1/groups/${GROUP_ID}" \ -H "Authorization: Bearer ${TOKEN}" \ | jq .
これでグループ名とそのグループに所属するメンバー一覧が返ってきます.メンバーを絞り込む場合は jq で加工できます.
curl -s -X GET "${BYTEBASE_URL}/v1/groups/${GROUP_ID}" \ -H "Authorization: Bearer ${TOKEN}" \ | jq .members
まとめ
Bytebase の API でMicrosoft EndtraIDグループメンバーを取得する方法をまとめました. サービスアカウントのトークンを取得した後, /v1/groups や /v1/groups/{group} を叩くことでメンバー情報を取得できます.