--- title: "시나리오 배포 이력 조회" slug: "devtools-sourcedeploy-historydetail" tags: ["SourceDeploy"] updated: 2026-09-17T09:16:30Z published: 2026-09-17T09:16:30Z canonical: "api.ncloud-docs.com/devtools-sourcedeploy-historydetail" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 시나리오 배포 이력 조회 Classic/VPC 환경에서 이용 가능합니다. 배포 프로젝트 실행 이력의 상세 정보를 조회합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | GET | /api/v1/project/{projectId}/history/{historyId} | ### 요청 헤더 SourceDeploy API에서 공통으로 사용하는 헤더에 대한 정보는 [SourceDeploy 요청 헤더](/docs/devtools-sourcedeploy#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `projectId` | String | Required | 프로젝트 아이디 - [프로젝트 목록 조회](/docs/devtools-sourcedeploy-projectlist) 참조 | | `historyId` | String | Required | 작업 결과 아이디 - [시나리오 배포 이력 목록 조회](/docs/devtools-sourcedeploy-historylist) 참조 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request GET 'https://vpcsourcedeploy.apigw.ntruss.com/api/v1/project/2***/history/80***' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `result` | Object | - | 응답 결과 | | `result.project` | Object | - | 프로젝트 정보 | | `result.project.id` | Number | - | 프로젝트 아이디 | | `result.project.name` | String | - | 프로젝트 이름 | | `result.stage` | Object | - | 배포 스테이지 정보 | | `result.stage.id` | Number | - | 배포 스테이지 아이디 | | `result.stage.name` | String | - | 배포 스테이지 이름 | | `result.scenario` | Object | - | 배포 시나리오 정보 | | `result.scenario.id` | Number | - | 배포 시나리오 아이디 | | `result.scenario.name` | String | - | 배포 시나리오 이름 | | `result.id` | Number | - | 작업 결과 아이디 | | `result.status` | String | - | 배포 상태 - `success` \| `fail` \| `inprogress` \| `pending` \| `reject` \| `canceling` \| `canceled` \| `waiting` \| `error` \| `canary_pending` \| `canary_reject` \| `canary_analyzing` \| `canary_waiting_timeout` \| `canary_rejecting` - `success`: 배포 완료 - `fail`: 배포 실패 - `inprogress`: 배포 중 - `pending`: 배포 승인 대기 중 - `reject`: 배포 승인 거절 - `canceling`: 배포 취소 중 - `canceled`: 배포 취소 - `waiting`: 배포 대기 중 - `error`: 오류 - `canary_pending`: Canary 배포 대기 - `canary_reject`: Canary 배포 취소 - `canary_analyzing`: Canary 분석 중 - `canary_waiting_timeout`: Canary 분석 시간 초과 - `canary_rejecting`: Canary 배포 취소 중 | | `result.executor` | String | - | 배포 요청자 | | `result.startTime` | Number | - | 배포 요청 일시 - Unix Timestamp 형식 | | `result.endTime` | Number | - | 배포 종료 일시 - Unix Timestamp 형식 | | `result.type` | String | - | 배포 타깃 타입 - `Server` \| `AutoScalingGroup` \| `KubernetesService` \| `ObjectStorage` | | `result.config` | Object | - | 배포 타깃 설정 - Server: [THistoryServer](/docs/devtools-sourcedeploy-historydetail#THistoryServer) 참조 - AutoScalingGroup: [THistoryAutoScaling](/docs/devtools-sourcedeploy-historydetail#THistoryAutoScaling) 참조 - KubernetesService: [THistoryKubernetesService](/docs/devtools-sourcedeploy-historydetail#THistoryKubernetesService) 참조 - ObjectStorage: [THistoryObjectStorage](/docs/devtools-sourcedeploy-historydetail#THistoryObjectStorage) 참조 | #### THistoryServer `THistoryServer`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `strategy` | String | - | 배포 전략 - `normal`: 기본 (유효값) | | `targets` | Array | - | 배포 진행 정보: [targets](/docs/devtools-sourcedeploy-historydetail#targets1) | | `file` | Object | - | 배포 파일 정보 | | `file.selected` | String | - | 배포 파일 | | `file.type` | String | - | 배포 파일 타입 | #### `targets` `targets`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `server` | Object | - | 대상 서버 정보 | | `server.no` | Number | - | 대상 서버 번호 | | `server.name` | String | - | 대상 서버 이름 | | `status` | String | - | 배포 상태 - `pending` \| `standby` \| `pre` \| `deploy` \| `post` \| `success` \| `fail` \| `no progress` - `pending`: 에이전트 응답 대기 중 - `standby`: 에이전트 연결 완료 - `pre`: 배포 전 실행 진행 중 - `deploy`: 파일 배포 진행 중 - `post`: 배포 후 실행 진행 중 - `success`: 배포 완료 - `fail`: 배포 실패 - `no progress`: 배포 진행 안 함 | | `time` | Object | - | 단계별 일시 | | `time.pre` | Number | - | 배포 전 실행 일시 - Unix Timestamp 형식 | | `time.deploy` | Number | - | 파일 배포 일시 - Unix Timestamp 형식 | | `time.post` | Number | - | 배포 후 실행 일시 - Unix Timestamp 형식 | | `step` | Object | - | 단계별 상태 | | `step.pre` | String | - | 배포 전 실행 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 진행 중 | | `step.deploy` | String | - | 파일 배포 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 배포 중 | | `step.post` | String | - | 배포 후 실행 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 진행 중 | #### THistoryAutoScaling `THistoryAutoScaling`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `strategy` | String | - | 배포 전략 - `normal` \| `blueGreen` - `normal`: 기본 - `blueGreen`: 블루/그린 | | `autoScalingGroup` | Object | - | Auto Scaling 그룹 정보 | | `autoScalingGroup.no` | Number | - | Auto Scaling 그룹 번호 | | `autoScalingGroup.name` | String | - | Auto Scaling 그룹 이름 | | `targets` | Array | - | 배포 진행 정보: [targets](/docs/devtools-sourcedeploy-historydetail#targets2) | | `file` | Object | - | 배포 파일 정보 | | `file.selected` | String | - | 배포 파일 | | `file.type` | String | - | 배포 파일 타입 | #### `targets` `targets`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `server` | Object | - | 대상 서버 정보 | | `server.no` | Number | - | 대상 서버 번호 | | `server.name` | String | - | 대상 서버 이름 | | `status` | String | - | 배포 상태 - `pending` \| `standby` \| `pre` \| `deploy` \| `post` \| `success` \| `fail` \| `no progress` - `pending`: 에이전트 응답 대기 중 - `standby`: 에이전트 연결 완료 - `pre`: 배포 전 실행 진행 중 - `deploy`: 파일 배포 진행 중 - `post`: 배포 후 실행 진행 중 - `success`: 배포 완료 - `fail`: 배포 실패 - `no progress`: 배포 진행 안 함 | | `time` | Object | - | 단계별 일시 | | `time.pre` | Number | - | 배포 전 실행 일시 - Unix Timestamp 형식 | | `time.deploy` | Number | - | 파일 배포 일시 - Unix Timestamp 형식 | | `time.post` | Number | - | 배포 후 실행 일시 - Unix Timestamp 형식 | | `step` | Object | - | 단계별 상태 | | `step.pre` | String | - | 배포 전 실행 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 진행 중 | | `step.deploy` | String | - | 파일 배포 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 배포 중 | | `step.post` | String | - | 배포 후 실행 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 진행 중 | #### THistoryKubernetesService `THistoryKubernetesService`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `strategy` | String | - | 배포 전략 - `rolling` \| `blueGreen` \| `canary` - `rolling`: Rolling - `blueGreen`: 블루/그린 - `canary`: Canary | | `targets` | Object | - | 배포 진행 정보 | | `targets.time` | Object | - | 단계별 일시 | | `targets.time.pre` | Number | - | 배포 준비 일시 - Unix Timestamp 형식 | | `targets.time.deploy` | Number | - | 배포 일시 - Unix Timestamp 형식 | | `targets.step` | Object | - | 단계별 상태 | | `targets.step.pre` | String | - | 배포 준비 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 진행 중 | | `targets.step.deploy` | String | - | 배포 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 배포 중 | #### THistoryObjectStorage `THistoryObjectStorage`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `file` | Object | - | 배포 파일 정보 | | `file.selected` | String | - | 배포 파일 | | `file.type` | String | - | 배포 파일 타입 | | `targets` | Object | - | 배포 진행 정보 | | `targets.time` | Object | - | 단계별 일시 | | `targets.time.pre` | Number | - | 배포 준비 일시 - Unix Timestamp 형식 | | `targets.time.deploy` | Number | - | 배포 일시 - Unix Timestamp 형식 | | `targets.step` | Object | - | 단계별 상태 | | `targets.step.pre` | String | - | 배포 준비 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 진행 중 | | `targets.step.deploy` | String | - | 배포 상태 - `success` \| `fail` \| `inprogress` - `success`: 완료 - `fail`: 실패 - `inprogress`: 배포 중 | | `backupFile` | String | - | 백업 파일 경로 - 배포 시 백업 사용을 설정한 경우, 표시 | ### 응답 상태 코드 SourceDeploy API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [SourceDeploy 응답 상태 코드](/docs/devtools-sourcedeploy#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "result": { "project": { "id": 2***, "name": "deploy3" }, "stage": { "id": 3***, "name": "dev-ob" }, "scenario": { "id": 2***, "name": "testscenario" }, "id": 80***, "status": "success", "executor": "by schedule trigger", "startTime": 1747231215000, "endTime": 1747231215000, "type": "ObjectStorage", "config": { "file": { "selected": "devtool/sourcebuild_backup/bb5a5880-****-****-****-8d4f9ac76620/build-sample.zip", "type": "storage" }, "targets": { "time": { "pre": 1747231215000, "deploy": 1747231215000 }, "step": { "pre": "success", "deploy": "success" } } } } } ```