プロジェクト権限付与
次のエンドポイントを使用して、コラボレーターまたはグループのプロジェクト権限付与を管理します。
APIクライアントアクセス
プロジェクトグラントエンドポイントは、APIクライアントがアクセスできるEnvironmentおよびプロジェクトにのみプロジェクトロールを割り当てることができます。 たとえば、TESTEnvironmentに割り当てられたAPIクライアントは、TESTプロジェクトのみを管理できます。 さらに、APIクライアントが特定のプロジェクトに割り当てられている場合、そのプロジェクトのみを管理できます。 APIクライアントのアクセスを構成するには、クライアントロールを作成するを参照してください。
レート制限
プロジェクトグラントリソースには次のレート制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| すべての | すべてのプロジェクト権限付与エンドポイント | 1分あたり60リクエスト |
プロジェクトグラントとは
プロジェクト付与は、コラボレーターまたはグループにプロジェクトロールを割り当てます。 UIで割り当て済みのプロジェクトロールを管理するには、プロジェクトアクセスとロールの管理を参照してください。
クイックリファレンス
| タイプ | リソース | 説明 |
|---|---|---|
| GET | /api/project_grants/:id | プロジェクト権限付与を取得します。 |
| PUT | /api/project_grants/:id | プロジェクト権限付与を更新します。 |
| DELETE | /api/project_grants/:id | プロジェクト権限付与を削除します。 |
| GET | /api/projects/:id/project_grants | プロジェクトID別にプロジェクト権限付与を一覧表示します。 |
| PUT | /api/projects/:id/project_grants | プロジェクト権限付与を追加または更新します。 |
プロジェクト権限付与を取得する
IDでプロジェクト権限付与を取得します。
GET /api/project_grants/:idパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 取得するプロジェクトグラントのID。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/project_grants/pg-AQAEnmKC-Dtt9aD' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data" : {
"id": "pg-AQAEnmKC-Dtt9aD",
"project": {
"id": 178229,
"name": "Development",
"environment": {
"id": 148425,
"type": "dev"
}
},
"project_role": {
"id": "pr-AQBGCnMB-JoFtKL",
"name": "Developers"
},
"user_group": null,
"user": {
"id": 1,
"name" : "Taylor",
"email": "[email protected]"
}
}
}プロジェクト権限付与を更新する
IDで既存のプロジェクト権限付与を更新します。
PUT /api/project_grants/:idパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 更新するプロジェクトグラントのID。 |
リクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| project_grant | object required | 更新されたプロジェクトグラントを定義します。 |
| project_grant[project_role_id] | string 必須 | 割り当てるプロジェクトロールのID。 |
サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/project_grants/pg-AQAEnmKC-Dtt9aD' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"project_grant": {
"project_role_id": "pr-AQBGCnMB-JoFtKL"
}
}'レスポンス
{
"data" : {
"id": "pg-AQAEnmKC-Dtt9aD",
"project": {
"id": 178229,
"name": "Development",
"environment": {
"id": 148425,
"type": "dev"
}
},
"project_role": {
"id": "pr-AQBGCnMB-JoFtKL",
"name": "Developers"
},
"user_group": {
"id": "am-WxEKCibh-dTXBtz",
"name" : "Developers",
"system": false
},
"user": null
}
}400 BAD REQUEST
400 Bad Requestエラーは、クライアント側の問題によりサーバーがリクエストを処理できなかったことを示します。 一般的な原因には、不正な形式のリクエスト、無効なフィールド、サポートされていないデータ型などのフィールド制約違反が含まれます。
次の例では、割り当てがすでに使用されているため、リクエストは失敗します:
{
"errors": [
{
"code": "bad_request",
"title": "Assignment has already been taken"
}
]
}プロジェクト権限付与を削除する
IDでプロジェクト権限付与を削除します。
DELETE /api/project_grants/:idパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | 削除するプロジェクトグラントのID。 |
サンプルリクエスト
curl -X DELETE 'https://www.workato.com/api/project_grants/pg-AQAEnmKC-Dtt9aD' \
-H 'Authorization: Bearer <api_token>'レスポンス
リクエストが成功すると、204 No Contentステータスコードが返されます。 APIはプロジェクトグラントを削除し、空のレスポンス本文を返します。
プロジェクト権限付与を一覧表示する
指定したIDのプロジェクトから権限付与のリストを取得します。
GET /api/projects/:id/project_grantsパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | グラントの取得元プロジェクトのID。 |
クエリパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| page[number] | integer optional | 取得するページ番号。 デフォルト値は1です。 |
| page[size] | integer optional | 取得するページあたりの項目数。 デフォルト値および最大値は100です。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/projects/178229/project_grants?page[number]=1&page[size]=100' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data": [
{
"id": "pg-AQAEnmMX-b4rPeT",
"project_role": {
"id": "pr-AQAEnmK3-EQpeYM",
"name": "Developers"
},
"user": {
"id": 1,
"name" : "Jie",
"email": "[email protected]"
},
"user_group": null
},
{
"id": "pg-AQAEnmKC-Dtt9aD",
"project_role": {
"id": "pr-AQAEnmK3-EQpeYM",
"name": "Developers"
},
"user": null,
"user_group": {
"id": "am-WxEKCibh-dTXBtz",
"name" : "Developers",
"system": false
}
}
],
"total": 2,
"page": {
"number": 1,
"size": 100
}
}プロジェクト権限付与を追加または更新する
IDでプロジェクトのプロジェクト権限付与を追加または更新します。 各リクエストには最大100件のグラントを含めることができます。
PUT /api/projects/:id/project_grantsパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| id | string 必須 | グラントの追加または更新を予定しているプロジェクトのID。 |
リクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| project_grants | object required | プロジェクトのプロジェクトグラントを定義します。 |
| project_grants[assignment_type] | string 必須 | ロールをワークスペース(User)またはコラボレーターグループ(UserGroup)に割り当てるかどうかを指定します。 |
| project_grants[assignment_id] | string 必須 | ターゲットワークスペースまたはコラボレーターグループのID。 |
| project_grants[project_role_id] | string 必須 | 割り当てるロールのID。 |
サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/projects/178229/project_grants' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"project_grants": [
{
"assignment_type": "User",
"assignment_id": "1",
"project_role_id": "pr-AQAEnmK3-EQpeYM"
},
{
"assignment_type": "UserGroup",
"assignment_id": "am-WxEKCibh-dTXBtz",
"project_role_id": "pr-AQAEnmK3-EQpeYM"
}
]
}'レスポンス
成功したリクエストは{ "data": null }を返します。 このレスポンスは、操作が成功したものの、追加のデータは返されないことを示します。
400 BAD REQUEST
400 Bad Requestエラーは、クライアント側の問題によりサーバーがリクエストを処理できなかったことを示します。 一般的な原因には、不正な形式のリクエスト、無効なフィールド、サポートされていないデータ型などのフィールド制約違反が含まれます。
次の例では、リクエストあたりの権限付与の最大数を超えているため、リクエストは失敗します:
{
"errors": [
{
"code": "bad_request",
"title": "Max 100 project grants per request"
}
]
}Last updated: