Playlist API
Playlist API
Note Grafana 12 이상에서 사용할 수 있어요. 이 API는 새 Grafana API 구조를 준수해요. 더 배우려면 Grafana의 API 구조 문서를 참고해요. 이 문서는 API의 최신 버전을 포함하지 않을 수 있어요. 사용 가능한 최신 엔드포인트 목록은 Swagger의 playlist.grafana.app/v1을 참고해요.
출처: 문서
본문
Note Grafana 12 이상에서 사용할 수 있어요. 이 API는 새 Grafana API 구조를 준수해요. 더 배우려면 Grafana의 API 구조 문서를 참고해요. 이 문서는 API의 최신 버전을 포함하지 않을 수 있어요. 사용 가능한 최신 엔드포인트 목록은 Swagger의 playlist.grafana.app/v1을 참고해요.
Playlist 나열 (List Playlists)
GET /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists
지정된 네임스페이스의 모든 playlist를 나열해요.
namespace: 어떤 네임스페이스를 사용할지에 대해 더 배우려면 API 개요를 참고해요.
예제 요청 (Example Request):
http
GET /apis/playlist.grafana.app/v1/namespaces/default/playlists HTTP/1.1
Accept: application/json
Authorization: Bearer <SERVI...KEN>
예제 응답 (Example Response):
http
HTTP/1.1 200
Content-Type: application/json
{
"kind": "PlaylistList",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {},
"items": [
{
"kind": "Playlist",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {
"name": "my-playlist-uid",
"namespace": "default",
"resourceVersion": "1234567890",
"creationTimestamp": "2024-01-15T10:30:00Z"
},
"spec": {
"title": "My Playlist",
"interval": "5m",
"items": [
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-1"
},
{
"type": "dashboard_by_tag",
"value": "important"
}
]
}
}
]
}
Playlist 가져오기 (Get a Playlist)
GET /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists/:name
이름으로 특정 playlist를 검색해요.
namespace: 어떤 네임스페이스를 사용할지에 대해 더 배우려면 API 개요를 참고해요.name: playlist의 UID.
예제 요청 (Example Request):
http
GET /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Authorization: Bearer <SERVI...KEN>
예제 응답 (Example Response):
http
HTTP/1.1 200
Content-Type: application/json
{
"kind": "Playlist",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {
"name": "my-playlist-uid",
"namespace": "default",
"resourceVersion": "1234567890",
"creationTimestamp": "2024-01-15T10:30:00Z"
},
"spec": {
"title": "My Playlist",
"interval": "5m",
"items": [
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-1"
},
{
"type": "dashboard_by_tag",
"value": "important"
}
]
}
}
Playlist 만들기 (Create a Playlist)
POST /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists
새 playlist를 만들어요.
namespace: 어떤 네임스페이스를 사용할지에 대해 더 배우려면 API 개요를 참고해요.
예제 요청 (Example Request):
http
POST /apis/playlist.grafana.app/v1/namespaces/default/playlists HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>
{
"kind": "Playlist",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {
"name": "my-new-playlist-uid"
},
"spec": {
"title": "My New Playlist",
"interval": "5m",
"items": [
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-1"
},
{
"type": "dashboard_by_tag",
"value": "monitoring"
}
]
}
}
예제 응답 (Example Response):
http
HTTP/1.1 201 Created
Content-Type: application/json
{
"kind": "Playlist",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {
"name": "my-new-playlist-uid",
"namespace": "default",
"resourceVersion": "1234567891",
"creationTimestamp": "2024-01-15T10:35:00Z"
},
"spec": {
"title": "My New Playlist",
"interval": "5m",
"items": [
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-1"
},
{
"type": "dashboard_by_tag",
"value": "monitoring"
}
]
}
}
Playlist 업데이트 (Update a Playlist)
PUT /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists/:name
기존 playlist를 업데이트해요. 전체 playlist spec을 제공해야 해요.
namespace: 어떤 네임스페이스를 사용할지에 대해 더 배우려면 API 개요를 참고해요.name: playlist의 UID.
예제 요청 (Example Request):
http
PUT /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVI...KEN>
{
"kind": "Playlist",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {
"name": "my-playlist-uid",
"namespace": "default",
"resourceVersion": "1234567890"
},
"spec": {
"title": "My Updated Playlist",
"interval": "10m",
"items": [
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-1"
},
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-2"
},
{
"type": "dashboard_by_tag",
"value": "updated-tag"
}
]
}
}
예제 응답 (Example Response):
http
HTTP/1.1 200 OK
Content-Type: application/json
{
"kind": "Playlist",
"apiVersion": "playlist.grafana.app/v1",
"metadata": {
"name": "my-playlist-uid",
"namespace": "default",
"resourceVersion": "1234567892",
"creationTimestamp": "2024-01-15T10:30:00Z"
},
"spec": {
"title": "My Updated Playlist",
"interval": "10m",
"items": [
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-1"
},
{
"type": "dashboard_by_uid",
"value": "dashboard-uid-2"
},
{
"type": "dashboard_by_tag",
"value": "updated-tag"
}
]
}
}
Playlist 삭제 (Delete a Playlist)
DELETE /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists/:name
playlist를 삭제해요.
namespace: 어떤 네임스페이스를 사용할지에 대해 더 배우려면 API 개요를 참고해요.name: playlist의 UID.
예제 요청 (Example Request):
http
DELETE /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Authorization: Bearer <SERVI...KEN>
예제 응답 (Example Response):
http
HTTP/1.1 200 OK
Content-Type: application/json
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Success",
"code": 200
}
Playlist 항목 유형 (Playlist Item Types)
Playlist 항목은 세 가지 유형을 지원해요:
dashboard_by_uid: UID로 특정 대시보드를 포함해요dashboard_by_tag: 특정 태그가 있는 모든 대시보드를 포함해요dashboard_by_id: (폐기됨) 내부 ID로 대시보드를 포함해요