노드 버전 관리
n8n 노드 버전 관리 방식을 설명합니다.
n8n은 노드 버전 관리를 지원합니다. 새 버전을 도입하여 기존 동작을 깨뜨리지 않고 기존 노드를 변경할 수 있습니다. n8n이 어떤 노드 버전을 로드할지 결정하는 방식을 알아두세요. 사용자가 버전 1을 사용하여 워크플로를 빌드하고 저장한 경우, 노드의 버전 2를 만들어 게시하더라도 n8n은 해당 워크플로에서 계속 버전 1을 사용합니다. 사용자가 새 워크플로를 만들고 노드를 탐색할 때, n8n은 항상 해당 노드의 최신 버전을 로드합니다. Note 노드 스타일에 따라 제한되는 버전 관리 유형 선언형 스타일로 노드를 빌드하는 경우 전체 버전 관리를 사용할 수 없습니다. 경량 버전 관리 # 이 기능은 모든 노드 유형에서 사용할 수 있습니다. 하나의 노드는 여러 버전을 포함할 수 있어, 코드를 중복하지 않고도 작은 버전 증분을 허용합니다. 이 기능을 사용하려면 다음과 같이 합니다. 메인 version 매개변수를 배열로 변경하고, 기존 버전을 포함하여 버전 번호를 추가합니다. 그런 다음 displayOptions 의 모든 객체에서 @version 을 사용하여 버전 매개변수에 접근할 수 있습니다(n8n이 해당 객체를 표시할 버전을 제어하기 위함). 함수에서 const nodeVersion = this.getNode().typeVersion; 을 사용하여 버전을 조회할 수도 있습니다. 예를 들어, 선언형 노드 튜토리얼 의 NasaPics 노드에 버전 관리를 추가하고, n8n이 노드의 버전 2에서만 리소스를 표시하도록 구성한다고 가정해 보겠습니다. 기본 NasaPics.node.ts 파일에서: { displayName : 'NASA Pics' , name : 'NasaPics' , icon : 'file:nasapics.svg' , // List the available versions version : [ 1 , 2 , 3 ], // More basic parameters here properties : [ // Add a resource that's only displayed for version2 { displayName : 'Resource name' , // More resource parameters displayOptions : { show : { '@version' : 2 , }, }, }, ], } 기능 기반 버전 관리 # 기능 플래그를 사용하면 노드 버전에 연결된 명명된 기능을 기반으로 매개변수 표시 여부와 실행 로직을 제어할 수 있습니다. 기능 정의하기 # 노드 유형 설명에 features 객체를 추가합니다. 각 기능은 @version 조건을 사용하여 어떤 버전에서 해당 기능을 활성화할지 지정합니다. { version : [ 2 , 2.1 , 2.2 , 2.3 , 2.4 ], features : { useNewApi : { '@version' : [{ _cnd : { gte : 2.2 } }] }, useLegacyAuth : { '@version' : [{ _cnd : { lte : 2.1 } }] }, useSpecialMode