보고서 서식 생성
보고서 서식을 생성합니다. 이 작업은 관리자 권한을 요구합니다.
HTTP 요청
POST /api/sonar/report-templates
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
-d name="보고서 서식" \
-d description="보고서 서식 설명" \
-d group_guid="b5bc3133-b53e-4b61-96b5-8857015a0ede" \
-d 'sections=[{"type":"PARAGRAPH","title":"개요","query":"json \"{}\" | eval line=concat($(\"from\"), \" ~ \", $(\"to\") , \" 동안 실행한 쿼리 현황입니다.\")","visible":true,"ordinal":0},{"type":"GRID","title":"시간 당 쿼리 건수","query":"table from=$(\"from\") to=$(\"to\") araqne_query_logs | search isnotnull(duration) | timechart span=1h count","visible":true,"ordinal":1}]' \
-X POST https://HOSTNAME/api/sonar/report-templates
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| guid | X | 문자열 | 보고서 서식 GUID | GUID 형식 36자. 기본값은 무작위 생성 |
| name | O | 문자열 | 보고서 서식 이름 | 최소 1자, 최대 50자 |
| description | X | 문자열 | 보고서 서식 설명 | 최대 2,000자 |
| group_guid | X | 문자열 | 상위 보고서 그룹 GUID | GUID 형식 36자 |
| sections | O | 객체 배열 | 서식 항목들 | 하단 참조 |
sections 객체 속성
- type (문자열): 서식 항목의 유형.
paragraph(단락),memo(메모),grid(표),hbar(가로 막대 차트),hbar_stck(누적 가로 막대 차트),vbar(세로 막대 차트),vbar_stck(누적 세로 막대 차트),line(라인 차트),area_stacked(누적 영역 차트),pie(파이 차트) 중 하나 - options (맵): 항목 설정값. options 객체 속성 참조.
- title (문자열): 항목 제목
- query (문자열): 항목 생성용 쿼리
- visible (불리언): 항목의 표시 여부
- ordinal (32비트 정수): 항목의 순서
options 객체 속성
- log_scale (불리언): (
type값이hbar,hbar_stck,vbar,vbar_stck,line,area_stacked중 하나일 때) 종속 변수 축을 로그 스케일로 표시 (기본값:false). - percentage (불리언): (
type값이hbar,hbar_stck,vbar,vbar_stck,line,area_stacked중 하나일 때) 종속 변수 축의 최솟값, 최댓값을 각각 0과 100으로 설정 (기본값:false). - pie_donut (불리언): (
type값이pie일 때) 파이 차트를 도넛 모양으로 출력 (기본값:false). - label (불리언): (
type값이hbar,hbar_stck,vbar,vbar_stck,pie중 하나일 때) 차트 위에 레이블 표시 여부 (기본값:false).
정상 응답
{}
오류 응답
필수 매개변수가 누락된 경우
HTTP 상태 코드 400 응답
{
"error_code": "null-argument",
"error_msg": "name should be not null"
}
매개변수 값의 길이가 잘못된 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'name' must be shorter than or equal to 50 characters."
}
group_guid가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "group_guid should be guid type."
}
sections가 JSON 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'sections' parameter should follow valid JSON syntax"
}
sections 항목 유형이 존재하지 않는 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "invalid report section type: ABC"
}
options 속성이 유효하지 않은 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "ABC should be one of [label, pie_donut]"
}
options 속성이 불리언 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "log_scale should be boolean type: ABC"
}
group_guid가 존재하지 않는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "report group not found: 05efb651-9644-4518-950f-dbd628c973a3"
}
보고서 서식 생성 권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}
보고서 서식 생성 중 오류가 발생한 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "cannot create report template"
}