콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

코드 노드#

코드(Code) 노드를 사용하여 JavaScript 또는 Python을 작성하고 워크플로의 한 단계로 실행할 수 있습니다.

n8n에서 코딩하기

이 페이지에서는 코드 노드의 사용법을 설명합니다. n8n에서 코딩하는 방법에 대한 추가 가이드는 코드(Code) 섹션에서 확인할 수 있습니다. 여기에는 다음과 같은 내용이 포함됩니다:

예제 및 템플릿

사용 예제 및 템플릿을 확인하려면 n8n의 코드 통합(Code integrations) 페이지를 참고하세요.

Function 및 Function Item 노드

코드 노드는 버전 0.198.0부터 Function 및 Function Item 노드를 대체합니다. 이전 버전을 사용하는 경우, Function 노드 문서Function Item 노드 문서를 참고하세요.

사용법#

모드 선택하기#

두 가지 실행 모드가 있습니다:

  • 모든 항목에 대해 한 번 실행(Run Once for All Items): 기본 설정입니다. 입력 항목 개수와 관계없이 한 번만 실행됩니다.
  • 각 항목별로 한 번 실행(Run Once for Each Item): 각 입력 항목에 대해 한 번씩 실행됩니다.

JavaScript#

코드 노드는 Node.js를 지원합니다.

지원되는 JavaScript 기능#

코드 노드에서 지원하는 기능:

  • Promise 지원: 항목을 직접 반환하는 대신 Promise를 반환하여 처리할 수 있습니다.
  • console.log를 사용하여 브라우저 콘솔에 출력 가능: 디버깅 및 워크플로 문제 해결에 유용합니다.

외부 라이브러리#

자체 호스팅 환경에서는 코드 노드에서 내장 및 외부 npm 모듈을 가져와 사용할 수 있습니다. 활성화 방법은 코드 노드에서 모듈 활성화 문서를 참고하세요.

n8n Cloud를 사용하는 경우 외부 npm 모듈을 가져올 수 없습니다. 대신 n8n에서 다음 두 개의 모듈을 제공합니다:

내장 메서드 및 변수#

n8n은 데이터 작업 및 n8n 데이터 접근을 위한 내장 메서드와 변수를 제공합니다. 자세한 내용은 내장 메서드 및 변수 문서를 참고하세요.

$변수이름 또는 $메서드이름() 형태로 내장 메서드와 변수를 사용할 수 있습니다. 코드 노드 또는 표현식 편집기에서 $를 입력하면 추천 메서드와 변수를 볼 수 있습니다.

키보드 단축키#

코드 노드 편집 환경은 코드 자동완성, 다중 커서, 코드 접기 등의 기능을 지원하는 키보드 단축키를 제공합니다. 전체 목록은 키보드 단축키 목록에서 확인할 수 있습니다.

Python#

버전 1.0부터 Python을 지원합니다. Python 실행 파일을 포함하지 않으며, 대신 Pyodide를 사용하여 WebAssembly 환경에서 실행됩니다. 따라서 사용 가능한 Python 패키지는 Pyodide 포함 패키지 목록에 제한됩니다. 처음 사용할 때 자동으로 다운로드됩니다.

JavaScript보다 실행 속도가 느림

코드 노드는 Python을 실행할 때 JavaScript보다 더 많은 컴파일 단계를 거치므로 처리 속도가 더 느립니다.

내장 메서드 및 변수#

Python에서도 n8n의 내장 메서드 및 변수를 사용할 수 있습니다. 자세한 내용은 내장 메서드 및 변수 문서를 참고하세요.

_변수이름 또는 _메서드이름() 형태로 내장 메서드와 변수를 사용할 수 있습니다. 코드 노드에서 _를 입력하면 추천 메서드와 변수를 볼 수 있습니다.

키보드 단축키#

코드 노드 편집 환경은 코드 자동완성, 다중 커서, 코드 접기 등의 기능을 지원하는 키보드 단축키를 제공합니다. 전체 목록은 키보드 단축키 목록에서 확인할 수 있습니다.

파일 시스템 및 HTTP 요청#

파일 시스템에 접근하거나 HTTP 요청을 직접 실행할 수 없습니다. 대신 다음 노드를 사용하세요:

n8n에서 코드 사용하기#

n8n에서 코드를 사용할 수 있는 주요 위치는 코드 노드와 표현식 편집기입니다. 두 환경 모두 특정 개념을 이해하고 내장 메서드 및 변수를 활용하는 것이 중요합니다.

핵심 개념#

코드 노드를 사용할 때 다음 개념을 이해해야 합니다:

  • 데이터 구조: 코드 노드에서 데이터를 처리하고 출력할 때 필요한 데이터 형식을 이해하세요.
  • 항목 연결: 데이터 항목이 어떻게 동작하는지, 이전 노드의 항목과 어떻게 연결되는지 알아야 합니다. 입력 항목과 출력 항목의 개수가 일치하지 않을 경우 코드에서 항목 연결을 직접 처리해야 합니다.

내장 메서드 및 변수#

n8n은 다양한 내장 메서드 및 변수를 제공합니다. 이를 활용하여:

  • 특정 항목 데이터에 접근 가능
  • 워크플로, 실행 정보, n8n 환경 데이터 접근 가능
  • 날짜 및 시간 처리를 위한 편의 변수 제공

자세한 내용은 내장 메서드 및 변수 문서를 참고하세요.

코드 노드에서 AI 사용하기#

기능 사용 가능 여부

코드 노드에서 AI 지원 기능은 클라우드 사용자가 이용할 수 있습니다. 자체 호스팅된 n8n에서는 지원되지 않습니다.

AI가 생성한 코드가 기존 코드를 덮어씁니다

이미 코드 탭에서 일부 코드를 작성한 경우, AI가 생성한 코드가 이를 대체합니다. n8n은 AI를 활용하여 초기 코드를 생성한 후 필요에 따라 편집하는 것을 권장합니다.

코드 노드에서 ChatGPT를 사용하여 코드를 생성하는 방법:

  1. 코드 노드에서 언어(Language)JavaScript 로 설정합니다.
  2. Ask AI 탭을 선택합니다.
  3. 원하는 내용을 입력합니다.
  4. Generate Code 버튼을 선택합니다. n8n은 입력한 내용을 ChatGPT에 전송한 후 코드 탭에 결과를 표시합니다.

일반적인 문제#

일반적인 질문이나 문제 및 제안된 해결책에 대해서는 일반적인 문제를 참조하세요.

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!