團隊 API - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

團隊 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,而perpagepage數的預設值為 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位為必填欄位,而且emailorgId欄位為選擇性欄位。

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

只有nameemail欄位可以更新。

範例請求

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 — 指定lightdark、或空字串以使用預設主題。

  • homeDashboardId— 儀表板:id的數字。預設值為 0。

  • 時區 — 指定utcbrowser、或空字串以使用預設值。

省略參數會導致目前值被系統預設值取代。

回應範例

HTTP/1.1 200 Content-Type: text/plain; charset=utf-8 { "message":"Preferences updated" }