Rest API 및 Python API 문서
이 문서는 요구 사항 및 시스템 포털의 REST API에 대한 참조를 제공합니다. REST API를 사용하여 사용자는 요구 사항 및 시스템 포털에서 데이터를 가져와 수정하거나 요구 사항 및 시스템 포털에 데이터를 다시 써서 정보를 업데이트할 수도 있습니다. 또한 다른 애플리케이션이나 앱과 연결/통합할 수도 있습니다.
토큰을 사용하여 요구 사항 및 시스템 포털에서 REST API에 액세스하기
Altium A365의 요구 사항 및 시스템 포털 애플리케이션에서 REST API에 액세스하려면 사용자가 토큰을 생성하려면
사용자 토큰 페이지에서
Access_token을 사용하여 API를 사용하려면 애플리케이션 유형 "JSON"을 사용하여 "Bearer ..."를 통해 토큰을 권한 부여 HTTP 요청 헤더에 추가해야 합니다.
curl --location 'http://deployment_name/rest/requirements/versions/search/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer hO2lwhLZsYOgXPNVI' \
--data '{
'size': 10,
"쿼리_필터": {
"object_id": 93
}
}'
또는 요청을 사용하여 다음과 같이 액세스 토큰을 보낼 수 있습니다
access_token = '생성된_액세스_토큰'
api_url = 'Api_Address'
# 워크스페이스 ID 및 컴포넌트 유형
workspace_id = 1
컴포넌트_유형_이름 = "CompA"
# 액세스 토큰으로 헤더를 정의합니다
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json', # 필요에 따라 콘텐츠 유형 조정
}
# GET 요청을 합니다(POST, PUT 등과 같은 다른 HTTP 메서드를 사용할 수 있습니다)
컴포넌트_유형_워크스페이스 = requests.get(api_url + "컴포넌트/유형/?워크스페이스="+str(워크스페이스_id), 헤더=헤더)
Python API 문서
Python API를 사용하면 Python 코드로 배포의 개체에 액세스하고 업데이트할 수 있습니다.
Pip로 필요한 Python API 패키지를 설치합니다:
pip 설치 밸리스페이스
Python 스크립트에서 API 모듈을 Import합니다:
import valispace
로 초기화합니다
valispace = valispace.API()
API의 기능 및 기능에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 파이썬 API 패키지는 MIT 라이선스에 따라 라이선스가 부여되므로 누구나 GitHub 리포지토리를 복제하여 코드에 기여할 수 있습니다.
엔드포인트
사용자는 나머지 페이지에서 엔드포인트에 액세스할 수 있습니다. 이 페이지에 액세스하려면 요구 사항 및 시스템 포털과 설정 및 "사용자 토큰"에서 찾을 수 있는 API URL 끝에 "rest/"를 추가하세요. 나머지 페이지에는 기존의 모든 엔드포인트가 있는 Django Swagger가 표시됩니다.

"GET", "POST", "PUT", "PATCH", "DELETE" 메서드가 있습니다.
요구 사항 및 시스템 포털의 모든 객체에는 고유한 ID가 있으며, 이를 사용하여 객체 정보 자체를 찾고 검색할 수 있습니다. 객체 ID는 요구 사항 및 시스템 포털에서 직접 확인하거나 요구 사항 및 시스템 포털에서 객체를 클릭할 때 URL에서 확인할 수 있습니다.
예를 들어, get 함수를 사용하여 나머지를 통해 발리 정보를 가져오는 경우 다음 엔드포인트를 사용하여 발리 세부 정보를 가져올 수 있습니다.
GET /rest/valis/{vali-id}/
GET을 사용하여 vali 정보 검색하기마찬가지로 메서드를 사용하여 블록, 태그, 발리, 텍스트 발리, 요구 사항, 사양, 검증 방법 등과 같은 다양한 개체를 검색/업데이트하거나 게시할 수 있습니다. 나머지 페이지에서 엔드포인트를 검색할 수 있습니다.
프로젝트에 대한 개체 필터링
인증 외에도 "GET" 메서드를 사용하여 배포 내에서 Valis 또는 요구 사항과 같은 개체를 검색할 수 있습니다. 특정 프로젝트를 기준으로 결과를 필터링해야 하는 경우 엔드포인트가 적절하게 구성되어 있다면 필터링 기능을 활용하여 이를 수행할 수 있습니다. 예를 들어 프로젝트 24와 관련된 요구 사항을 검색하려면 다음 GET 요청을 사용할 수 있습니다:
GET /rest/requirements/?project=24
아래 동영상에서 이 기능을 더 명확하게 이해할 수 있도록 데모로 보여드립니다.
기본 제공 기능
요구 사항 및 시스템 포털 내에서 사용자가 텍스트 필드에 텍스트를 입력할 때마다 텍스트가 백엔드에 HTML
형식으로 백엔드에 저장됩니다. HTML 형식은 값 또는 기타 개체에 대한 서식 참조를 유지합니다. 따라서 요구 사항 정보를 가져오는 경우 Import에 HTML 텍스트가 표시될 수 있습니다. 이를 방지하기 위해 HTML 필드를 그냥 텍스트로 변환하거나 valis를 텍스트로 변환한 HTML 서식으로 변환하는 데 유용한 두 가지 함수를 구현했습니다. 이 함수는 clean_text와 clean_html입니다.
클린 텍스트 함수
클린 텍스트 함수는 필드 내의 모든 HTML 형식과 객체 참조를 텍스트로 변환합니다. 그러나 이 경우 서식도 손실됩니다. 예를 들어 목록, 표 또는 색상이 있는 경우 서식도 손실됩니다. 아래와 같이 사용할 수 있습니다.
여기서는 프로젝트 24에 대한 필터를 수행하고 필드의 텍스트와 근거에 대해 깨끗한 텍스트를 제공하도록 요청하고 있습니다. 이 특정 작업에 대한 출력은 다음과 같습니다.
Clean_text 함수 사용 후 요구 사항Clean_html 함수
Clean_html 함수는 텍스트의 서식 지정 옵션을 유지한 다음 값과 같은 참조/객체를 텍스트로 변환합니다. 텍스트에 목록, 배경색, 표 등과 같은 서식 옵션이 포함된 경우 이 정보는 그대로 유지됩니다.
Clean_html 함수 사용 후 요구 사항
자주 묻는 질문:
올바른 엔드포인트를 찾는 방법은 무엇인가요?
이름이 비슷한 수많은 엔드포인트를 탐색하는 것은 혼란스러울 수 있습니다. 특정 엔드포인트에 대해 불확실한 점이 있다면 Altium 지원 페이지에 문의하여 명확히 알아보세요. 또는 브라우저의 '네트워크' 기능을 활용하여 소프트웨어 프런트엔드 내에서 작업을 수행할 때 어떤 엔드포인트가 트리거되는지 관찰할 수 있습니다.
예를 들어 블록을 만드는 과정을 생각해 보세요. 이 경우, 관련 엔드포인트는 "/rest/components"에 대한 "POST" 요청으로 식별할 수 있으며, 이 정보는 작업 중 네트워크 활동을 검사하여 쉽게 파악할 수 있습니다. 이 접근 방식에 대한 간략한 데모는 아래 동영상에서 확인할 수 있습니다.
요구 사항의 검증 방법(VM) 및 블록은 어떻게 얻거나 게시하나요?
요구 사항 및 시스템 포털의 요구 사항은 여러 검증 방법(VM)과 연결될 수 있으며, 각 VM에는 여러 블록이 첨부될 수 있습니다. Rule, 테스트, 검사, 분석, 검토 및 Custom VM을 비롯한 다양한 검증 방법 유형이 지원됩니다. 각 검증 방법 유형은 고유 ID로 고유하게 식별됩니다.
적절한 엔드포인트를 사용하여 이러한 검증 방법 유형에 대한 ID를 검색할 수 있습니다.
GET /rest/requirements/verification-methods/
예를 들어 프로젝트 ID 24에 대한 확인 방법 유형의 ID를 가져오려면 다음 엔드포인트를 사용할 수 있습니다
GET /rest/requirements/verification-methods/?project=24
프로젝트의 인증 방법 목록
특정 요구 사항과 연결된 검증 방법을 얻기 위해 요구 사항 및 시스템 포털은 "요구 사항-VMS"라는 전용 개체를 만듭니다 이 객체에는 고유 식별자(ID)가 있으며, 다음 엔드포인트를 통해 액세스할 수 있습니다:
GET /rest/requirements/requirement-vms/
예를 들어, ID가 2165인 이 요구 사항인 SPC-002에는 "Rule" 유형의 확인 방법이 하나 있으며, 요구 사항-vms의 개체 ID는 2203입니다.

엔드포인트인 "/rest/requirements/requirement-vms/2203
요구 사항-vms 키 및 값"Requirement-vms" 개체를 검사하면 앞서 얻은 확인 방법 유형 목록에 따라 메서드 ID "20"이 "Rule" 확인 방법에 해당하는 것을 알 수 있습니다. 이 정보를 스크립트에 통합할 때 메서드 ID를 각 확인 방법 유형에 매핑해야 합니다.
또한 "Requirement-vms" 개체 내에는 두 개의 컴포넌트-vms에 대한 참조가 있습니다. 이러한 컴포넌트-vm ID는 요구 사항 확인 메서드에 연결된 블록을 나타냅니다. 이러한 블록과 프로그래밍 방식으로 상호 작용할 때는 스크립트에서 이러한 ID를 적절히 활용하세요.
컴포넌트-vms에 액세스하는 엔드포인트는 다음과 같습니다
GET /rest/requirements/component-vms/{id}
컴포넌트-vms의 세부 정보를 가져오면 컴포넌트 필드에서 블록의 이름을 매핑할 수 있는 블록 ID를 제공합니다.
컴포넌트-vms