■ 기능 설명
- Admin 보고서 백업/복원 UI로 제공하던 형상 관리 기능을 Rest API로 제공하여 고객사의 형상관리 시스템에 연계하여 사용할 수 있습니다. (현재는 보고서 단 건을 기준으로 동작합니다.)
- 외부에서 AUD Platform API를 호출하기 때문에 Application Token 연동이 되어 있어야 합니다. (참고: Application Token 인증 오픈API 연동 가이드)
- API 호출 이력에 대한 내용을 DB 테이블에 저장합니다.
■ 설정 방법
1. matrix_cm.properties 옵션 설정 (기본 패키지 포함)
- 기본 경로: {AUD서버 Context Path}/WEB-INF/classes/matrix/matrix_cm.properties
- matrix.cm.properties.extend 값이 true이면 matrix.cm.properties.extend.path 에 설정한 경로를 바라봅니다.
※ 옵션 정의
속성 키 | 적용 범위 | 이름 | 값 예시 |
matrix.cm.properties.extend | 공통 | matrix_cm.properties 파일을 별도 경로에서 사용하는지 여부 (기본 경로 사용: false, 별도 경로 사용: true / 기본 값: false) | false |
matrix.cm.properties.extend.path | 공통 | 외부 경로에서 사용하는 경우, 해당 경로 작성 | C:/AUDPlatform_7/conf/matrix |
sql.fetch.size | 공통 | SQL fetch size (기본 값: 1000) | 1000 |
matrix.cm.outer | 공통 | 외부 형상관리 사용 여부 (사용: true, 사용하지 않음: false / 기본 값: false) | true |
matrix.cm.outer.path | 외부 연계용 | 형상관리 파일 ROOT 경로 | C:/AUDPlatform_7/reports/cm/ext |
matrix.cm.outer.tableinfo.path | 외부 연계용 | 형상관리 설정 파일 ROOT 경로 | C:/AUDPlatform_7/reports/cm/ext/tableinfo |
2. 형상 관리 설정 파일 패치 (첨부파일)
- CM_SAMPLE.json 첨부파일을 원하는 경로에 패치한 후, 해당 경로를 matrix_cm.properties > matrix.cm.outer.tableinfo.path에 작성합니다. (파일명 빼고 작성)
- 해당 파일에 작성된 내용을 기준으로 백업 파일을 생성합니다.
3. API 호출 이력 테이블 생성 (첨부파일: Oracle, PostgreSQL 스크립트 → 패키지 배포 시 기본 스크립트에 포함될 예정으로 추후 첨부파일 제거 예정)
- 테이블명: MTX_CM_EXT_LIST
- 컬럼 정보 및 데이터 예시
Column Name | Description | Type | Length | Null | P.K | default | 비고 | ||
SEQ | 순서 | NUMBER | N | 1 |
|
| |||
API_URL | 요청 URL | VARCHAR2 | 500 | N |
|
|
| ||
REQUEST_DATE | 생성날짜 | TIMESTAMP |
|
|
|
|
| ||
REQUEST_PARAM | 요청 파라미터 | CLOB |
|
|
|
|
| ||
RESULT_STATUS | 호출 결과 | VARCHAR2 | 256 |
|
|
|
| ||
RESULT_MSG | 호출 결과 메시지 | VARCHAR2 | 1000 |
|
|
|
| ||
REQUEST_IP | 요청 IP 주소 | VARCHAR2 | 100 |
|
|
|
|
- Admin > Repository 테이블 점검 메뉴 > 테이블 점검 실행하여 MTX_CM_EXT_LIST 테이블 존재 확인 > [Repository Script 내려받기] 로 테이블 생성 스크립트 다운로드 받아서 실행
- 해당 테이블이 없어도 API는 정상 동작하나, matrix_service.log에 에러 로그가 찍힐 수 있습니다.
■ API 호출 방법
- 요청 URL: {AUD서버 Context Path}/api/cm/backup
API 이름 | API URI | METHOD | 파라미터 | ||||
이름 | 유형 | 필수 여부 | 설명 | 예시 | |||
백업 | api/cm/backup | POST | reportCode | String | Y | 백업할 보고서 코드 | { "reportCode": "REP05B91F3B73F1416096B4D004741C0A08“ , "tableInfoFileName": “CM_SAMPLE.json“ } |
tableInfoFileName | String | Y | 형상관리 설정 json 파일명 | ||||
복원 | api/cm/restore | POST | restoreFileName | String | Y | 복원 대상 파일명(보고서 코드 형태로 호출) | { "restoreFileName": "REP05B91F3B73F1416096B4D004741C0A08“ , "authRestore": "true“ } |
authRestore | String | 보고서 권한 복원 여부 (기본 값: false) |
■ 백업 및 복원 API 호출 가능한 sh 파일 제공
1. 백업 sh 파일
- 호출 예시: ./backup.sh {보고서코드} {형상관리파일명}
- backup.sh 파일 수정 → JAVA_HOME 에 Java 경로 설정
- CmBackupApi.java 파일 수정 → AUD_SERVER_URL, audApId, audApPw 설정
2. 복원 sh 파일
- 호출 예시: ./restore.sh {복원할보고서코드} {권한복원여부}
- restore.sh 파일 수정 → JAVA_HOME 에 Java 경로 설정
- CmRestoreApi.java 파일 수정 → AUD_SERVER_URL, audApId, audApPw 설정
#!/bin/sh # 백업 # 해당 서버에 맞게 JAVA 경로 설정 JAVA_HOME="/home/aud7/istream311/AUDPlatform/apps/openjdk" rm -rf CmBackupApi.class $JAVA_HOME/bin/javac CmBackupApi.java chmod -R 755 * # 호출 시 파라미터 목록 # 1. 백업할 보고서 코드 (백업 파일이 보고서코드.zip 으로 생성됨) # 2. 형상관리 설정 json 파일명 $JAVA_HOME/bin/java CmBackupApi $1 $2
// CmBackupApi.java -> 백업 대상 서버에 맞게 설정 // CmRestoreApi.java -> 복원 대상 서버에 맞게 설정 public class CmBackupApi { /** * AUD서버 주소 */ private static String AUD_SERVER_URL = "http://192.168.0.59:8087"; // AUD서버 주소 private static String apAccessToken = null; public static void main(String[] args) { if (args.length != 2) { System.err.println("backup parameter check please...."); System.exit(1); // 오류 코드 1로 프로그램 종료 } /** * audApId , audApPw 는 AUD 플랫폼에 등록한 Application 공통 계정을 사용 * 파라메터로 전달 시에 암호화에 대한 처리하여 Application용 id / pw가 유출되지 않도록 구성 */ String audApId = "ap.test"; // AUD 플랫폼에 등록한 Application 인증용 id String audApPw = "ap.test"; // AUD 플랫폼에 등록한 Application 인증용 pw HttpURLConnection connection = null; ... }
■ 백업 결과 파일 예시
기능 정보 |
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|
시작 버전 정보 |
|
샘플 정보
- 형상 관리 설정 파일
- API 호출 sh 파일
- 형상관리 API 호출 이력 테이블 스크립트 샘플(Oracle, PostgreSQL)