Rest API 및 Python API 문서

이 문서는 요구 사항 및 시스템 포털의 REST API에 대한 참조를 제공합니다. REST API를 사용하여 사용자는 요구 사항 및 시스템 포털에서 데이터를 가져와 수정하거나 요구 사항 및 시스템 포털에 데이터를 다시 써서 정보를 업데이트할 수도 있습니다. 또한 다른 애플리케이션이나 앱과 연결/통합할 수도 있습니다.

토큰을 사용하여 요구 사항 및 시스템 포털에서 REST API에 액세스하기

Altium A365의 요구 사항 및 시스템 포털 애플리케이션에서 REST API에 액세스하려면 사용자가 토큰을 생성하려면 Settings 메뉴로 이동하여 User Tokens. 설정 페이지에서 User Tokens 설정 페이지에서 특정 배포를 위한 API 주소를 찾을 수 있습니다. 이 주소는 API 호출에 필요합니다.

사용자 토큰 페이지에서 “+” 아이콘을 클릭하여 새 토큰을 생성합니다. 각 토큰의 유효 기간은 3 months 동안 유효하며 만료 후에는 반드시 다시 생성해야 합니다.

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가 표시됩니다.

나머지 페이지에 액세스하려면 "your_API_URL/rest/"를 사용하세요. 나머지 끝에 "/"를 생략해도 나머지 페이지로 리디렉션되지 않습니다. API URL을 얻으려면 설정의 "사용자 토큰"으로 이동하세요.

"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

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

콘텐츠