티켓 목록 조회
검색 조건과 일치하는 티켓 목록을 조회합니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다. 사용자 역할은 권한이 부여된 티켓 분류에 속한 티켓만 조회할 수 있습니다.
HTTP 요청
GET /api/sonar/tickets
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
https://HOSTNAME/api/sonar/tickets
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| offset | X | 32비트 정수 | 건너뛸 갯수 | 기본값 0 |
| limit | X | 32비트 정수 | 최대 갯수 | 최소 0, 최대 1000. 미지정 시 1000 |
| from | X | 날짜 | 시작 일시 | yyyy-MM-dd HH:mm:ssZ 형식. 범위에 시작 일시 포함 |
| to | X | 날짜 | 끝 일시 | yyyy-MM-dd HH:mm:ssZ 형식. 범위에 끝 일시 포함 |
| statuses | X | 문자열 목록 | 상태 | 쉼표(,)로 구분. 하단 상태 코드 참조 |
| keywords | X | 문자열 | 검색 키워드 | |
| priorities | X | 32비트 정수 목록 | 중요도 목록 | 상 (3), 중 (2), 하 (1). 다중 선택 시 쉼표(,)로 구분 |
| assignees | X | 문자열 목록 | 할당자 목록 | 쉼표(,)로 구분된 계정 GUID 목록 |
| approvers | X | 문자열 목록 | 결재자 목록 | 쉼표(,)로 구분된 계정 GUID 목록 |
| sort_type | X | 문자열 | 정렬 유형 | ASC, DESC 중 하나 |
| sort_column | X | 문자열 | 정렬 기준 | id, created_at, updated_at, closed_at 중 하나 |
티켓 상태 코드
- 신규 (
NEW) - 할당 (
ASSIGNED) - 처리중 (
IN_PROGRESS) - 결재중 (
SUBMITTED) - 승인 (
APPROVED) - 반려 (
REJECTED) - 완료 (
CLOSED)
정상 응답
{
"total": 15,
"tickets": [
{
"id": 2,
"repo_guid": "5f0ba741-7551-400d-8bd6-1f14a6e8536d",
"repo_name": "위협분석",
"guid": "49272877-75f2-4c2f-9301-d21c4f9a106d",
"title": "웹 서버 설정 수집 시도: 20.0.31.172",
"priority": "LOW",
"status": "ASSIGNED",
"format": "JSON",
"count": 7,
"attack": true,
"incident": false,
"assignees": [
{
"company_guid": "6fbe27b7-f1ae-4d7a-a1a5-76d8fa9aa311",
"company_name": "로그프레소",
"user_guid": "bfd00bb0-be99-4fd5-8380-166f544975fa",
"user_name": "구동언",
"task_type": "ASSIGNEE",
"task_status": "ASSIGNED",
"x_login": null,
"x_user": null,
"x_dept": null
}
],
"approvers": [],
"created": "2022-09-14 17:34:19+0900",
"updated": "2022-09-14 23:55:29+0900",
"closed": null,
"x_login": null,
"x_user": null,
"x_dept": null
}
]
}
- (32비트 정수) total
- (배열) tickets
- id (32비트 정수): 티켓 ID
- repo_guid (문자열): 티켓 유형 식별자
- repo_name (문자열): 티켓 유형 이름
- site_guid (문자열): 사이트 식별자
- site_name (문자열): 사이트 이름
- guid (문자열): 티켓 식별자
- title (문자열): 제목
- priority (문자열): 중요도. 상 (
HIGH), 중 (MEDIUM), 하 (LOW) 중 하나. - status (문자열): 상태. 신규 (
NEW), 할당 (ASSIGNED), 처리중 (IN_PROGRESS), 결재중 (SUBMITTED), 승인 (APPROVED), 반려 (REJECTED), 완료 (CLOSED) 중 하나. - format (문자열): 티켓 형식.
JSON,MARKDOWN,PLAIN중 하나. 위협 탐지 티켓은JSON형식으로 정보 기록. - count (32비트 정수): 중복 축약 건수.
- attack (불리언): 분석 후 기록한 정탐 여부. 탐지 자체가 정확하다면
true로 기록함. - incident (불리언): 분석 후 기록한 사고 발생 여부. 엔드포인트 감염 발생 등 즉각적 대응이 필요한 상황인 경우
true로 기록함. - assignees (배열): 티켓 할당자 목록
- company_guid (문자열): 회사 (테넌트) 식별자
- company_name (문자열): 회사 (테넌트) 이름
- user_guid (문자열): 할당자 계정 식별자
- user_name (문자열): 할당자 성명
- task_type (문자열):
ASSIGNEE고정. - task_status (문자열): 할당 (
ASSIGNED), 처리중 (IN_PROGRESS), 완료 (CLOSED) 중 하나. - x_login (문자열): 할당자 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 할당자 계정 삭제 시 기록되는 사용자 성명
- x_dept (문자열): 할당자 계정 삭제 시 기록되는 부서 이름
- approvers (배열): 티켓 결재자 목록
- company_guid (문자열): 회사 (테넌트) 식별자
- company_name (문자열): 회사 (테넌트) 이름
- user_guid (문자열): 결재자 계정 식별자
- user_name (문자열): 결재자 성명
- task_type (문자열):
APPROVER고정. - task_status (문자열): 할당 (
ASSIGNED), 승인 (ASSIGNED), 반려 (REJECTED) 중 하나. - x_login (문자열): 결재자 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 결재자 계정 삭제 시 기록되는 사용자 성명
- x_dept (문자열): 결재자 계정 삭제 시 기록되는 부서 이름
- created (문자열): 생성일시. yyyy-MM-dd HH:mm:ssZ 형식
- updated (문자열): 수정일시. yyyy-MM-dd HH:mm:ssZ 형식
- closed (문자열): 완료일시. yyyy-MM-dd HH:mm:ssZ 형식
- x_login (문자열): 티켓 작성 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 티켓 작성 계정 삭제 시 기록되는 사용자 성명
- x_dept (문자열): 티켓 작성 계정 삭제 시 기록되는 부서 이름
- x_site (문자열): 사이트 삭제 시 기록되는 사이트 이름
오류 응답
offset, limit 값이 정수가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be int type"
}
offset, limit 값이 음수인 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' must be greater than or equal to 0."
}
from, to 날짜 포맷이 잘못된 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'from' parameter should be date format (yyyy-MM-dd HH:mm:ss+0000)"
}
정의되지 않은 상태 코드를 사용한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'statuses' should contain elements that is one of NEW, ASSIGNED, IN_PROGRESS, SUBMITTED, APPROVED, REJECTED, CLOSED."
}
정의되지 않은 중요도 값을 사용한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "element of priorities should be one of 1 (LOW), 2 (MEDIUM), 3 (HIGH). input is 4"
}
정의되지 않은 정렬 유형을 사용한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "sort_type should be one of ASC or DESC. input is NONE"
}
허용되지 않은 정렬 컬럼을 지정한 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "sort_column should be one of id, created_at, updated_at, closed_at."
}
assignees, approvers 목록의 값이 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "assignees should contains only guid values."
}