本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
團隊 API
使用團隊 API 與 Amazon 受管的 Grafana 工作區中的團隊合作。此 API 中的所有動作都需要您具有管理員角色。
注意
若要將 Grafana API 與您的 Amazon 受管理工作區搭配使用,您必須擁有有效的 Grafana API 權杖。您可以在 API 要求的Authorization
欄位中包含此項目。如需如何建立權杖以驗證 API 呼叫的相關資訊,請參閱使用令牌進行身。
團隊搜索與分頁
GET /api/teams/search?perpage=50&page=1&query=myteam
或
GET /api/teams/search?name=myteam
範例請求
GET /api/teams/search?perpage=10&page=1&query=myteam HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
使用查詢參數
參數的預設值為 1000,而perpage
參page
數的預設值為 1。
回應中的totalCount
欄位可用於專案團隊清單的分頁。例如,如果totalCount
是 100 個專案團隊,且perpage
參數設定為 10,則會有 10 頁的專案團隊。
此query
參數是選擇性的,會傳回查詢值包含在name
欄位中的結果。包含空格的查詢值必須以 URL 編碼。例如 query=my%20team
。
使用名稱參數
如果name
參數與name
欄位相符,則參數會傳回單一群組。
回應範例
HTTP/1.1 200 Content-Type: application/json { "totalCount": 1, "teams": [ { "id": 1, "orgId": 1, "name": "MyTestTeam", "email": "", "avatarUrl": "\/avatar\/3f49c15916554246daa714b9bd0ee39", "memberCount": 1 } ], "page": 1, "perPage": 1000
狀態碼:
-
200 — 已建立
-
401 — 未經授權
-
403 — 權限被拒絕
-
404-找不到團隊(如果按名稱搜索)
通過 Id 獲取團隊
GET /api/teams/:id
範例請求
GET /api/teams/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HHTTP/1.1 200 Content-Type: application/json { "id": 1, "orgId": 1, "name": "MyTestTeam", "email": "", "created": "2017-12-15T10:40:45+01:00", "updated": "2017-12-15T10:40:45+01:00" }
新增團隊
群組name
的必須是唯一的。此欄name
位為必填欄位,而且email
和orgId
欄位為選擇性欄位。
POST /api/teams
範例請求
POST /api/teams HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "name": "MyTestTeam", "email": "email@test.com", "orgId": 2 }
回應範例
HTTP/1.1 200 Content-Type: application/json {"message":"Team created","teamId":2}
狀態碼:
-
200 — 已建立
-
401 — 未經授權
-
403 — 權限被拒絕
-
409 — 群組名稱已存在
更新團隊
PUT /api/teams/:id
只有name
和email
欄位可以更新。
範例請求
PUT /api/teams/2 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "name": "MyTestTeam", "email": "email@test.com" }
回應範例
HTTP/1.1 200 Content-Type: application/json {"message":"Team updated"}
狀態碼:
-
200 — 已建立
-
401 — 未經授權
-
403 — 權限被拒絕
-
404-找不到團隊
-
409 — 群組名稱已存在
依 ID 刪除群組
DELETE /api/teams/:id
範例請求
DELETE /api/teams/2 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HTTP/1.1 200 Content-Type: application/json {"message":"Team deleted"}
狀態碼:
-
200 — 已建立
-
401 — 未經授權
-
403 — 權限被拒絕
-
404-找不到團隊
取得團隊成員
GET /api/teams/:teamId/members
範例請求
GET /api/teams/1/members HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HTTP/1.1 200 Content-Type: application/json [ { "orgId": 1, "teamId": 1, "userId": 3, "email": "user1@email.com", "login": "user1", "avatarUrl": "\/avatar\/1b3c32f6386b0185c40d359cdc733a7" }, { "orgId": 1, "teamId": 1, "userId": 2, "email": "user2@email.com", "login": "user2", "avatarUrl": "\/avatar\/cad3c68da76e45d10269e8ef02f8e7" } ]
狀態碼:
-
200 — 已建立
-
401 — 未經授權
-
403 — 權限被拒絕
新增團隊成員
POST /api/teams/:teamId/members
範例請求
POST /api/teams/1/members HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "userId": 2 }
回應範例
HTTP/1.1 200 Content-Type: application/json {"message":"Member added to Team"}
狀態碼:
-
200 — 已建立
-
400 — 使用者已加入團隊
-
401 — 未經授權
-
403 — 權限被拒絕
-
404-找不到團隊
從團隊中移除成員
DELETE /api/teams/:teamId/members/:userId
範例請求
DELETE /api/teams/2/members/3 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HTTP/1.1 200 Content-Type: application/json {"message":"Team Member removed"}
狀態碼:
-
200 — 已建立
-
401 — 未經授權
-
403 — 權限被拒絕
-
404-找不到團隊/找不到團隊成員
取得團隊偏好
GET /api/teams/:teamId/preferences
範例請求
GET /api/teams/2/preferences HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HTTP/1.1 200 Content-Type: application/json { "theme": "", "homeDashboardId": 0, "timezone": "" }
更新團隊偏好設
PUT /api/teams/:teamId/preferences
範例請求
PUT /api/teams/2/preferences HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "theme": "dark", "homeDashboardId": 39, "timezone": "utc" }
主體結構定義:
-
theme — 指定
light
dark
、或空字串以使用預設主題。 -
homeDashboardId— 儀表板
:id
的數字。預設值為 0。 -
時區 — 指定
utc
browser
、或空字串以使用預設值。
省略參數會導致目前值被系統預設值取代。
回應範例
HTTP/1.1 200 Content-Type: text/plain; charset=utf-8 { "message":"Preferences updated" }