Postman Collection 데이터를 가져오고 내보내는 방법: 3가지 방법 (2026)
Postman 컬렉션을 관리, 공유 및 백업하는 세 가지 신뢰할 수 있는 방법
Hypereal로 구축 시작하기
단일 API를 통해 Kling, Flux, Sora, Veo 등에 액세스하세요. 무료 크레딧으로 시작하고 수백만으로 확장하세요.
신용카드 불필요 • 10만 명 이상의 개발자 • 엔터프라이즈 지원
Postman Collection 데이터 가져오기 및 내보내기: 3가지 방법 (2026년 가이드)
Postman collections는 API 요청을 정리, 문서화 및 공유하는 가장 보편적인 방법 중 하나입니다. 팀 간에 컬렉션을 이동하거나, 백업을 생성하고, 새 워크스페이스로 마이그레이션하거나, 개발자들과 API 예시를 공유할 때, Collection 데이터를 안정적으로 가져오고(Import) 내보내는(Export) 방법을 아는 것은 필수적입니다.
이 가이드에서는 Postman app GUI, Postman CLI (Newman), 그리고 Postman API를 사용하는 세 가지 방법을 다룹니다. 각 방법의 장단점을 살펴보고 언제 어떤 방법을 사용해야 하는지 설명합니다.
빠른 비교
| 방법 1: Postman App | 방법 2: Newman CLI | 방법 3: Postman API | |
|---|---|---|---|
| 최적 용도 | 수동 공유, 일회성 내보내기 | CI/CD 파이프라인, 자동화 | 프로그래밍 방식 접근, 백업 |
| 포맷 | JSON (v2.1) | JSON (v2.1) | JSON (v2.1) |
| 일괄 작업 | 제한적 | 스크립트 활용 시 용이 | 매우 우수 |
| 자동화 | 불가능 | 가능 | 가능 |
| 로그인 필요 | 필요 | 불필요 (로컬 파일 기준) | 필요 (API key) |
방법 1: Postman App (GUI) 사용하기
가장 직관적인 방법이며 수동 방식의 일회성 내보내기 및 가져오기에 적합합니다.
Collection 내보내기
- Postman을 열고 워크스페이스로 이동합니다.
- 왼쪽 사이드바에서 컬렉션을 찾습니다.
- 컬렉션 이름 옆의 점 세 개 메뉴(...)를 클릭합니다.
- Export를 선택합니다.
- 포맷을 선택합니다:
- Collection v2.1 (권장): 현재 표준 포맷
- Collection v2.0: 구버전 도구를 위한 레거시 포맷
- Export를 클릭하고 저장 위치를 선택합니다.
내보낸 파일은 다음과 같은 JSON 파일 형태입니다:
{
"info": {
"_postman_id": "abc123-def456",
"name": "My API Collection",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Get Users",
"request": {
"method": "GET",
"header": [
{
"key": "X-API-Key",
"value": "{{api_key}}"
}
],
"url": {
"raw": "{{base_url}}/api/v1/users",
"host": ["{{base_url}}"],
"path": ["api", "v1", "users"]
}
}
}
]
}
Environment 내보내기
환경(Environments)에는 API key, base URL, 토큰과 같은 변수가 포함됩니다. 이는 별도로 내보내야 합니다:
- 사이드바에서 Environments 탭을 클릭합니다.
- 환경 이름 옆의 점 세 개 메뉴를 클릭합니다.
- Export를 선택합니다.
- JSON 파일을 저장합니다.
내보낸 환경 파일의 모습은 다음과 같습니다:
{
"id": "env-123",
"name": "Production",
"values": [
{
"key": "base_url",
"value": "https://api.example.com",
"type": "default",
"enabled": true
},
{
"key": "api_key",
"value": "sk_live_abc123",
"type": "secret",
"enabled": true
}
]
}
보안 주의: 내보낸 환경 환경 파일에는 민감한 값이 평문으로 포함됩니다. 중요한 값을 제거하기 전에는 이 파일을 버전 관리 시스템(Git 등)에 커밋하지 마세요.
Collection 가져오기
- Postman 왼쪽 상단의 Import 버튼을 클릭합니다.
- 소스를 선택합니다:
- File: 컴퓨터에서 JSON 파일 업로드
- Folder: 디렉토리 내의 모든 컬렉션 파일 가져오기
- Link: 호스팅된 컬렉션 JSON의 URL 붙여넣기
- Raw text: JSON 직접 붙여넣기
- Code repository: GitHub, GitLab 또는 Bitbucket에서 가져오기
- 가져오기 미리보기를 확인합니다.
- Import를 클릭합니다.
Postman은 다음과 같은 다양한 포맷의 가져오기를 지원합니다:
| 포맷 | 지원 여부 |
|---|---|
| Postman Collection v2.1 | 전체 지원 |
| Postman Collection v2.0 | 전체 지원 |
| OpenAPI 3.x (Swagger) | 전체 지원 |
| OpenAPI 2.0 (Swagger) | 전체 지원 |
| GraphQL | 전체 지원 |
| cURL 명령어 | 전체 지원 |
| RAML | 부분 지원 |
| HAR | 전체 지원 |
| WSDL | 부분 지원 |
URL에서 가져오기
공개 링크를 통해 컬렉션을 공유할 때 유용합니다:
- Import > Link를 클릭합니다.
- URL을 붙여넣습니다 (예시):
https://raw.githubusercontent.com/your-org/api-docs/main/collection.json - Postman이 데이터를 가져와 컬렉션을 생성합니다.
방법 2: Newman (CLI) 사용하기
Newman은 Postman의 커맨드라인 컬렉션 러너입니다. CI/CD 파이프라인 및 자동화된 테스트에 특히 유용하며 컬렉션 파일 관리에도 효과적입니다.
Newman 설치
npm install -g newman
파일로 컬렉션 실행하기
newman run my-collection.json -e production-environment.json
URL로 컬렉션 실행하기
newman run https://api.example.com/docs/collection.json
실행 결과 내보내기
Newman은 테스트 결과를 다양한 포맷으로 내보낼 수 있습니다:
# JSON 리포트
newman run collection.json -r json --reporter-json-export results.json
# HTML 리포트
npm install -g newman-reporter-html
newman run collection.json -r html --reporter-html-export report.html
# JUnit XML (CI/CD용)
newman run collection.json -r junit --reporter-junit-export results.xml
CI/CD에서 Newman 사용하기
컬렉션을 가져와 테스트를 실행하는 GitHub Actions 예시입니다:
# .github/workflows/api-tests.yml
name: API Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Newman
run: npm install -g newman
- name: Run API tests
run: |
newman run ./postman/collection.json \
-e ./postman/test-environment.json \
--reporters cli,junit \
--reporter-junit-export results.xml
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: api-test-results
path: results.xml
포맷 간 변환
추가 도구를 사용하여 컬렉션을 변환할 수도 있습니다:
# OpenAPI 스펙을 Postman collection으로 변환
npm install -g openapi-to-postmanv2
# OpenAPI 3.0 스펙을 Postman collection으로 변환 실행
openapi2postmanv2 -s openapi.yaml -o collection.json -p
방법 3: Postman API 사용하기
Postman API를 이용하면 모든 컬렉션, 환경 및 워크스페이스에 프로그래밍 방식으로 접근할 수 있습니다. 자동화된 백업 및 대량 작업에 가장 적합한 방법입니다.
Postman API Key 발급받기
- web.postman.co/settings/me/api-keys로 이동합니다.
- Generate API Key를 클릭합니다.
- 키 이름을 입력하고 값을 복사합니다.
모든 Collection 목록 조회
curl -s "https://api.getpostman.com/collections" \
-H "X-Api-Key: PMAK-your-postman-api-key" | python3 -m json.tool
응답:
{
"collections": [
{
"id": "abc123-def456",
"name": "My API Collection",
"uid": "12345678-abc123-def456"
},
{
"id": "ghi789-jkl012",
"name": "Payment API",
"uid": "12345678-ghi789-jkl012"
}
]
}
단일 Collection 내보내기
curl -s "https://api.getpostman.com/collections/COLLECTION_UID" \
-H "X-Api-Key: PMAK-your-postman-api-key" \
-o my-collection.json
Collection 가져오기 (생성)
curl -X POST "https://api.getpostman.com/collections" \
-H "X-Api-Key: PMAK-your-postman-api-key" \
-H "Content-Type: application/json" \
-d @collection-file.json
일괄 내보내기 스크립트 (Python)
모든 컬렉션을 백업하는 Python 스크립트 예시입니다:
import requests
import json
import os
from datetime import datetime
POSTMAN_API_KEY = os.environ["POSTMAN_API_KEY"]
BACKUP_DIR = f"postman-backup-{datetime.now().strftime('%Y%m%d')}"
BASE_URL = "https://api.getpostman.com"
headers = {"X-Api-Key": POSTMAN_API_KEY}
os.makedirs(BACKUP_DIR, exist_ok=True)
# 모든 컬렉션 가져오기
response = requests.get(f"{BASE_URL}/collections", headers=headers)
collections = response.json()["collections"]
print(f"Found {len(collections)} collections")
for collection in collections:
uid = collection["uid"]
name = collection["name"]
# 전체 컬렉션 데이터 상세 조회
detail = requests.get(f"{BASE_URL}/collections/{uid}", headers=headers)
# 파일로 저장
safe_name = name.replace("/", "-").replace(" ", "_")
filepath = os.path.join(BACKUP_DIR, f"{safe_name}.json")
with open(filepath, "w") as f:
json.dump(detail.json(), f, indent=2)
print(f"Exported: {name} -> {filepath}")
# 환경 데이터도 내보내기
response = requests.get(f"{BASE_URL}/environments", headers=headers)
environments = response.json()["environments"]
for env in environments:
uid = env["uid"]
name = env["name"]
detail = requests.get(f"{BASE_URL}/environments/{uid}", headers=headers)
safe_name = name.replace("/", "-").replace(" ", "_")
filepath = os.path.join(BACKUP_DIR, f"env_{safe_name}.json")
with open(filepath, "w") as f:
json.dump(detail.json(), f, indent=2)
print(f"Exported environment: {name} -> {filepath}")
print(f"\nBackup complete. {len(collections)} collections and {len(environments)} environments saved to {BACKUP_DIR}/")
자동 백업 일정 예약
백업 스크립트를 cron job이나 CI/CD 스케줄에 추가하세요:
# 매일 새벽 2시에 실행
0 2 * * * cd /path/to/backup && python3 backup_postman.py
일반적인 문제 해결
"Invalid Format" 오류로 가져오기 실패
일반적으로 JSON 구조가 예상 스키마와 일치하지 않을 때 발생합니다. 다음 사항을 확인하세요:
# 유효한 JSON 파일인지 확인
python3 -m json.tool < collection.json > /dev/null
# 스키마 버전 확인
python3 -c "
import json
with open('collection.json') as f:
data = json.load(f)
if 'info' in data:
print('Schema:', data['info'].get('schema', 'Not found'))
elif 'collection' in data:
print('Schema:', data['collection']['info'].get('schema', 'Not found'))
"
가져오기 후 변수가 해석되지 않음 (Not Resolving)
컬렉션과 함께 해당 환경(Environment)도 함께 가져왔는지 확인하세요. {{base_url}}과 같은 변수는 활성화된 환경이 필요합니다.
대규모 컬렉션 내보내기 시 타임아웃 발생
요청이 100개 이상인 매우 큰 컬렉션의 경우 Postman API에서 타임아웃이 발생할 수 있습니다. 이런 경우 내보내기를 작은 단위로 쪼개거나, 초기 내보내기 시에는 Postman App GUI를 사용하세요.
결론
소개한 세 가지 방법은 각기 다른 용도에 적합합니다. 수동 작업에는 Postman App을, CI/CD 통합 및 테스트에는 Newman CLI를, 자동 백업 및 프로그래밍 방식의 관리에는 Postman API를 사용하세요. 대부분의 팀에게는 일상적인 작업을 위한 방법 1과 자동 백업을 위한 방법 3을 병행하는 것이 가장 효과적입니다.
AI 기반 미디어 생성과 관련된 API를 구축하고 테스트 중이라면, Hypereal AI는 Postman으로 쉽게 가져올 수 있는 잘 문서화된 API 엔드포인트를 제공합니다. 이 API는 X-API-Key 인증과 표준 REST 컨벤션을 따르므로 기존 API 테스트 워크플로우에 간편하게 추가할 수 있습니다.
