# AlmIssueEntity.md 프로젝트 내의 AlmIssueEntity로 SimpleQuery 등의 쿼리를 만들 때 참고하는 가이드 문서다. ## AlmIssueEntity ES Document Schema ```json { "_index": "데이터베이스 인덱스", "_id": "문서 고유 UUID", "_source": { "class": "almIssueEntity 클래스 경로", "recent_id": "{jira_server_id}{ProjectKey}{key}로 구성된 값", "recent": "문서의 최신 여부 (boolean)", "isReq": "A-RMS가 생성한 요구사항 이슈 여부 (boolean)", "cReqLink": "요구사항 C_ID", "cReqStatusId": "요구사항 상태 ID (T_ARMS_REQSTATUS 테이블 참조)", "pdServiceId": "제품/서비스 C_ID", "pdServiceVersions": [ "제품/서비스 버전 C_ID 목록 (List)" ], "linkedIssuePdServiceIds": [ "연결된 모든 이슈들의 제품/서비스 C_ID (자기 자신 포함)" ], "linkedIssuePdServiceVersions": [ "연결된 모든 이슈들의 버전 C_ID (자기 자신 포함)" ], "linkedIssues": [ "연결된 이슈들의 recent_id 목록 (List)" ], "jira_server_id": "지라 서버 ID (T_ARMS_JIRASERVER의 C_jira_server_etc 값)", "key": "이슈 키 (예: PROJECT-123)", "parentReqKey": "최상위 요구사항 이슈 key (요구사항 이슈는 null)", "upperKey": "직계 상위 이슈 key", "issueID": "지라 내부 이슈 ID", "self": "이슈 상세 조회 URL", "@timestamp": "ES 적재 시간 (created와 다름)", "project": { "project_self": "지라 프로젝트 URL", "project_id": "지라 프로젝트 고유 ID", "project_key": "프로젝트 키", "project_name": "프로젝트 이름" }, "issuetype": { "issuetype_self": "/rest/api/3 기반 이슈타입 조회 URL", "issuetype_id": "이슈유형 ID", "issuetype_description": "이슈유형 설명", "issuetype_name": "이슈유형 이름", "issuetype_subtask": "서브태스크 여부 (boolean)", "issuetype_hierarchyLevel": "위계 레벨 (Sub-task: -1, Story/Task: 0, Epic: 1)" }, "creator": { "creator_accountId": "생성자 계정 ID", "creator_emailAddress": "생성자 이메일", "creator_displayName": "생성자 이름" }, "reporter": { "reporter_accountId": "보고자 계정 ID", "reporter_emailAddress": "보고자 이메일", "reporter_displayName": "보고자 이름" }, "assignee": { "assignee_accountId": "담당자 계정 ID", "assignee_emailAddress": "담당자 이메일", "assignee_displayName": "담당자 이름" }, "labels": [ "이슈 라벨 목록 (해시태그 개념)" ], "priority": { "priority_self": "우선순위 조회 URL", "priority_id": "우선순위 ID", "priority_name": "우선순위 이름", "priority_isDefault": "기본 우선순위 여부 (boolean)" }, "status": { "status_self": "상태 조회 URL", "status_id": "상태 ID", "status_name": "상태 이름", "status_description": "상태 설명" }, "armsStateCategory": "A-RMS 기준 요구사항 상태 (status 매핑 결과)", "resolution": { "resolution_self": "해결 정보 URL", "resolution_id": "해결 ID", "resolution_name": "해결 상태 (예: 완료)", "resolution_description": "해결 설명", "resolution_isDefault": "기본 해결 상태 여부 (사용자 선택 필요)" }, "resolutiondate": "이슈 해결 일시", "created": "이슈 생성 일시", "updated": "이슈 수정 일시", "overallUpdatedDate": "계층 전체(자식 포함) 기준 최신 업데이트 시간", "worklogs": [ "작업 시간 기록 목록" ], "summary": "이슈 요약", "cReqProperty": { "cReqPriorityLink": "요구사항 우선순위 ID (T_ARMS_REQPRIORITY)", "cReqPriorityName": "요구사항 우선순위 이름", "cReqDifficultyLink": "요구사항 난이도 ID (T_ARMS_REQDIFFICULTY)", "cReqDifficultyName": "요구사항 난이도 이름", "cReqStateLink": "요구사항 상태 ID (T_ARMS_REQSTATUS)", "cReqStateName": "요구사항 상태 이름" }, "rawData": "지라 이슈 전체 원본 데이터 (직렬화 문자열)" } } ``` ## AlmIssueEntity Sample Document ```json { "_index": "jiraissue-2026-03-25", "_id": "GnDNIJ0B_KnsF3RSyilt", "_score": null, "_source": { "_class": "com.arms.api.issue.almapi.model.entity.AlmIssueEntity", "recent_id": "3375754675828774426_ARMS_ARMS-577", "recent": true, "isReq": false, "cReqLink": 173, "cReqStatusId": 166, "pdServiceId": 14, "pdServiceVersions": [ 60 ], "linkedIssuePdServiceIds": [ 14 ], "linkedIssuePdServiceVersions": [ 60 ], "linkedIssues": [], "jira_server_id": "3375754675828774426", "key": "ARMS-577", "parentReqKey": "ARMS-572", "upperKey": "ARMS-495", "issueID": "13158", "self": "https://dmove-313dev.atlassian.net/rest/api/3/issue/13158", "@timestamp": "2026-03-24T17:04:10.761Z", "project": { "project_self": "https://dmove-313dev.atlassian.net/rest/api/3/project/10002", "project_id": "10002", "project_key": "ARMS", "project_name": "ARMS" }, "issuetype": { "issuetype_self": "https://dmove-313dev.atlassian.net/rest/api/3/issuetype/10009", "issuetype_id": "10009", "issuetype_description": "하위 작업은 대량 작업 일부인 소규모 업무를 추적합니다.", "issuetype_name": "하위 작업", "issuetype_subtask": true, "issuetype_hierarchyLevel": -1 }, "creator": { "creator_accountId": "712020:6ffae69c-0c1b-4c81-bd54-09544ddcf238", "creator_displayName": "박준철" }, "reporter": { "reporter_accountId": "712020:6ffae69c-0c1b-4c81-bd54-09544ddcf238", "reporter_displayName": "박준철" }, "assignee": { "assignee_accountId": "712020:6ffae69c-0c1b-4c81-bd54-09544ddcf238", "assignee_displayName": "박준철" }, "labels": [], "priority": { "priority_self": "https://dmove-313dev.atlassian.net/rest/api/3/priority/3", "priority_id": "3", "priority_name": "Medium", "priority_isDefault": false }, "status": { "status_self": "https://dmove-313dev.atlassian.net/rest/api/3/status/10006", "status_id": "10006", "status_name": "해야 할 일", "status_description": "" }, "armsStateCategory": "열림", "created": "2026-03-24T14:22:36.435Z", "updated": "2026-03-24T14:22:39.821Z", "overallUpdatedDate": "2026-03-24T14:22:39.821Z", "worklogs": [], "summary": "사용자가 검색하는 경우 답변 내용이 어떠한 문서 혹은 정보들을 토대로 답변을 주었는지 화면에 노출", "cReqProperty": { "cReqPriorityLink": 5, "cReqPriorityName": "중간", "cReqDifficultyLink": 5, "cReqDifficultyName": "보통", "cReqStateLink": 11, "cReqStateName": "진행중" } }, "sort": [ 1774362156435 ] } ``` ## AlmIssueEntity Index Mapping (필드 매핑 정의) ```json { "@timestamp": { "type": "date", "format": "date_optional_time||epoch_millis" }, "_class": { "type": "keyword", "index": false, "doc_values": false }, "armsStateCategory": { "type": "keyword" }, "assignee": { "properties": { "assignee_accountId": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "assignee_displayName": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "assignee_emailAddress": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "cReqLink": { "type": "long" }, "cReqProperty": { "properties": { "cReqDifficultyLink": { "type": "long" }, "cReqDifficultyName": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "cReqPriorityLink": { "type": "long" }, "cReqPriorityName": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "cReqStateLink": { "type": "long" }, "cReqStateName": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "cReqStatusId": { "type": "long" }, "created": { "type": "date", "format": "date_optional_time||epoch_millis" }, "creator": { "properties": { "creator_accountId": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "creator_displayName": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "creator_emailAddress": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "isReq": { "type": "boolean" }, "issueID": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "issuetype": { "properties": { "issuetype_description": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "issuetype_hierarchyLevel": { "type": "long" }, "issuetype_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "issuetype_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "issuetype_self": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "issuetype_subtask": { "type": "boolean" } } }, "jira_server_id": { "type": "keyword" }, "key": { "type": "keyword" }, "labels": { "type": "text" }, "linkedIssuePdServiceIds": { "type": "long" }, "linkedIssuePdServiceVersions": { "type": "long" }, "linkedIssues": { "type": "keyword" }, "overallUpdatedDate": { "type": "date", "format": "date_optional_time||epoch_millis" }, "parentReqKey": { "type": "keyword" }, "pdServiceId": { "type": "long" }, "pdServiceVersions": { "type": "long" }, "priority": { "properties": { "priority_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "priority_isDefault": { "type": "boolean" }, "priority_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "priority_self": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "project": { "properties": { "project_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "project_key": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "project_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "project_self": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "queries": { "type": "percolator" }, "rawData": { "type": "text" }, "recent": { "type": "boolean" }, "recent_id": { "type": "keyword" }, "reporter": { "properties": { "reporter_accountId": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "reporter_displayName": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "reporter_emailAddress": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "resolution": { "properties": { "resolution_description": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "resolution_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "resolution_isDefault": { "type": "boolean" }, "resolution_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "resolution_self": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "resolutiondate": { "type": "date", "format": "date_optional_time||epoch_millis" }, "self": { "type": "text" }, "status": { "properties": { "status_description": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "status_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "status_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "status_self": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "summary": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "timespent": { "type": "integer" }, "updated": { "type": "date", "format": "date_optional_time||epoch_millis" }, "upperKey": { "type": "keyword" } } ```