restAPI의 장점은 URL을 이용해서 정보를 처리할 수 있습니다. OpenPipelineIO 접속시 IP를 이용하면 VPN환경에서도 restAPI를 사용할 수 있습니다.
Python, Go, Java, C++, node.JS 언어를 이용해서 restAPI를 사용할 수 있습니다.
이 문서는 파이썬을 이용해서 RestAPI를 프로젝트정보를 가지고 오는 방법을 다룹니다. 파이프라인에 사용될 확률이 높은 코드라서, 에러처리까지 코드로 다루었습니다.
URI | Description | Attributes | Curl Example |
---|---|---|---|
/api/project | 프로젝트 정보를 가지고 옵니다. | project | $ curl -H "Authorization: Basic <Token>" "https://openpipeline.io/api/project?id=TEMP" |
/api2/projects | 프로젝트의 모든 정보를 가지고 옵니다. | . | $ curl -H "Authorization: Basic <Token>" "https://openpipeline.io/api2/projects" |
/api/projecttags | 프로젝트에 사용중인 tags 가지고 옵니다. | project | $ curl -H "Authorization: Basic <Token>" "https://openpipeline.io/api/projecttags?project=TEMP" |
/api/projectassettags | 프로젝트에 사용중인 asssettags 가지고 옵니다. | project | $ curl -H "Authorization: Basic <Token>" "https://openpipeline.io/api/projectassettags?project=TEMP" |
URI | Description | Attributes | Curl Example |
---|---|---|---|
/api/addproject | 프로젝트를 생성합니다. | id | $ curl -X POST -d "id=TEMP" -H "Authorization: Basic <Token>" "https://openpipeline.io/api/addproject" |
- 작업중인 프로젝트 리스트가지고오기
#!/usr/bin/python
#coding:utf8
import urllib2
import json
endPoint = "http://10.0.90.251/api2/projects" # 기본적으로 현재 작업중인 프로젝트를 가지고옵니다.(pre + post + backup상태)
request = urllib2.Request(endPoint)
request.add_header("Authorization", "Basic <Token>")
result = urllib2.urlopen(request)
data = json.load(result)
print(data)
- test : 테스트 단계
- pre : 프리프로덕션 단계(컨셉,프리비즈,계약단계)의 프로젝트
- post : 진행중인 프로젝트
- backup : 백업해야할 프로젝트
- lawsuit : 소송중인 프로젝트
- layover : 중단된 프로젝트
- archive : 백업완료된 프로젝트
#!/usr/bin/python
#coding:utf8
import urllib2
import json
request = urllib2.Request("https://openpipeline.io/api/project?id=TEMP") # TEMP 프로젝트 자료구조를 가지고 옵니다.
request.add_header("Authorization", "Basic <Token>")
result = urllib2.urlopen(request)
data = json.load(result)
print(data)
print(data["mailhead"]) # 프로젝트의 MailHead를 구하는 방법
print(data["super"]) # 슈퍼바이저
print(data["cgsuper"]) # CG슈퍼바이저
print(data["pd"]) # PD
print(data["pm"]) # PM
print(data["pa"]) # PA
#!/usr/bin/python
#coding:utf8
import urllib2
import json
request = urllib2.Request("https://openpipeline.io/api/projectassettags?project=TEMP")
request.add_header("Authorization", "Basic <Token>")
result = urllib2.urlopen(request)
data = json.load(result)
print(data)