8
n8n 한국어amn8n.com

Github 기반 자동 단위 테스트 생성기

고급

이것은Engineering, AI분야의자동화 워크플로우로, 24개의 노드를 포함합니다.주로 Code, Merge, Github, Webhook, GithubTool 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. GitHub PR 자동 Jest 테스트 생성, 이중 AI 검토 지원

사전 요구사항
  • GitHub Personal Access Token
  • HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
  • 대상 API의 인증 정보가 필요할 수 있음
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "7vi7pp915Xoh9Ovu",
  "meta": {
    "instanceId": "6bcff5ef8a06e8086902526a05c2a4c7bf5da8101f89e582301ed78094606f40",
    "templateCredsSetupCompleted": true
  },
  "name": "Automatic Unit Test Creator from Github",
  "tags": [],
  "nodes": [
    {
      "id": "abb61423-4f32-41ce-a519-754b0b960503",
      "name": "GH - PR 가져오기",
      "type": "n8n-nodes-base.github",
      "position": [
        -1820,
        -420
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "4bef0a06-16e7-4016-badb-5dcfb4c60a69",
      "name": ".diff 파일 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -520,
        -100
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "11edfe11-11a1-4182-bb00-377688d974ed",
      "name": "텍스트를 배열로 분할",
      "type": "n8n-nodes-base.code",
      "position": [
        -300,
        -100
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "24a69dd5-d956-480a-8b90-4bfe0b65846e",
      "name": "컴포넌트 필터링",
      "type": "n8n-nodes-base.code",
      "position": [
        -80,
        -100
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "865a7c7c-7459-4869-96b7-9b86b401426f",
      "name": "API URL, 소유자 및 저장소 추출",
      "type": "n8n-nodes-base.code",
      "position": [
        -940,
        40
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "3ba6c65f-0089-41b5-8af5-7bcc31345530",
      "name": "파일명 가져오기",
      "type": "n8n-nodes-base.code",
      "position": [
        -80,
        140
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "fc2667a8-ae72-40da-9a9d-be930fba5ebb",
      "name": "파일 가져오기",
      "type": "n8n-nodes-base.githubTool",
      "position": [
        -1260,
        680
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3a32bccc-e751-4757-9d6e-04c4eab58988",
      "name": "구조화된 출력 파서",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -1020,
        680
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a112221f-9f2d-4199-83f8-e7713b20154b",
      "name": "필요 정보 병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        -300,
        140
      ],
      "parameters": {},
      "typeVersion": 3.1
    },
    {
      "id": "2a3ad69b-06af-41a7-a3dc-7ace5671553e",
      "name": "테스트 생성기",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1360,
        460
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "87cbff84-a239-446e-a5c8-ed07432ab7a1",
      "name": "저장소 가져오기",
      "type": "n8n-nodes-base.githubTool",
      "position": [
        -1140,
        680
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f",
      "name": "코드 검토자",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -900,
        460
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "d36b6f35-1e25-4366-a23d-139e89eb45f0",
      "name": "o3-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1460,
        680
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "c4611e9c-c51b-404d-968a-b144e4251f69",
      "name": "gpt4.1-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -840,
        680
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "dfaedcea-5bf5-48f6-9776-f64bb96244ff",
      "name": "병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        -520,
        460
      ],
      "parameters": {},
      "typeVersion": 3.1
    },
    {
      "id": "769d0846-4ba7-42bd-9117-8fc1cb9fbb2c",
      "name": "POST 준비",
      "type": "n8n-nodes-base.code",
      "position": [
        -300,
        460
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "3c8c6f4a-4031-47d4-9086-81d435f06238",
      "name": "댓글 POST",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -80,
        460
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "bb3e84fb-f1a9-41f6-8e34-f6fb8b2b7ea7",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1240,
        40
      ],
      "webhookId": "91136d34-84ba-4256-a657-31812d04cbde",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "d02bb743-f9ce-4753-9fb3-a0c99a7e5a19",
      "name": "테스트용 2차 노드",
      "type": "n8n-nodes-base.code",
      "position": [
        -1560,
        -400
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "0a50732e-619d-4def-a63d-d5762934df9b",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1860,
        -520
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "64f8767b-eb19-4aa1-ae71-6959c09c0d50",
      "name": "스티커 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -120
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a3df6a54-8fd1-47fe-9e07-d9fb58baa1fa",
      "name": "스티커 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -620,
        -180
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "82b5aa37-2b56-436d-bde7-c8788357b6a6",
      "name": "스티커 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1880,
        380
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "460aeeaf-e104-4b9c-b434-335e4db73250",
      "name": "구조화된 출력 파서1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -700,
        680
      ],
      "parameters": {},
      "typeVersion": 1.2
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d0882c15-ed71-40f6-acd7-5848ef4d6d72",
  "connections": {
    "dfaedcea-5bf5-48f6-9776-f64bb96244ff": {
      "main": [
        [
          {
            "node": "769d0846-4ba7-42bd-9117-8fc1cb9fbb2c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bb3e84fb-f1a9-41f6-8e34-f6fb8b2b7ea7": {
      "main": [
        [
          {
            "node": "865a7c7c-7459-4869-96b7-9b86b401426f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d36b6f35-1e25-4366-a23d-139e89eb45f0": {
      "ai_languageModel": [
        [
          {
            "node": "2a3ad69b-06af-41a7-a3dc-7ace5671553e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "87cbff84-a239-446e-a5c8-ed07432ab7a1": {
      "ai_tool": [
        [
          {
            "node": "2a3ad69b-06af-41a7-a3dc-7ace5671553e",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "fc2667a8-ae72-40da-9a9d-be930fba5ebb": {
      "ai_tool": [
        [
          {
            "node": "2a3ad69b-06af-41a7-a3dc-7ace5671553e",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "2a3ad69b-06af-41a7-a3dc-7ace5671553e": {
      "main": [
        [
          {
            "node": "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "abb61423-4f32-41ce-a519-754b0b960503": {
      "main": [
        []
      ]
    },
    "c4611e9c-c51b-404d-968a-b144e4251f69": {
      "ai_languageModel": [
        [
          {
            "node": "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f": {
      "main": [
        [
          {
            "node": "dfaedcea-5bf5-48f6-9776-f64bb96244ff",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "3ba6c65f-0089-41b5-8af5-7bcc31345530": {
      "main": [
        [
          {
            "node": "2a3ad69b-06af-41a7-a3dc-7ace5671553e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3c8c6f4a-4031-47d4-9086-81d435f06238": {
      "main": [
        []
      ]
    },
    "4bef0a06-16e7-4016-badb-5dcfb4c60a69": {
      "main": [
        [
          {
            "node": "11edfe11-11a1-4182-bb00-377688d974ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "769d0846-4ba7-42bd-9117-8fc1cb9fbb2c": {
      "main": [
        [
          {
            "node": "3c8c6f4a-4031-47d4-9086-81d435f06238",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a112221f-9f2d-4199-83f8-e7713b20154b": {
      "main": [
        [
          {
            "node": "3ba6c65f-0089-41b5-8af5-7bcc31345530",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d02bb743-f9ce-4753-9fb3-a0c99a7e5a19": {
      "main": [
        []
      ]
    },
    "24a69dd5-d956-480a-8b90-4bfe0b65846e": {
      "main": [
        [
          {
            "node": "a112221f-9f2d-4199-83f8-e7713b20154b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "11edfe11-11a1-4182-bb00-377688d974ed": {
      "main": [
        [
          {
            "node": "24a69dd5-d956-480a-8b90-4bfe0b65846e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3a32bccc-e751-4757-9d6e-04c4eab58988": {
      "ai_outputParser": [
        [
          {
            "node": "2a3ad69b-06af-41a7-a3dc-7ace5671553e",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "460aeeaf-e104-4b9c-b434-335e4db73250": {
      "ai_outputParser": [
        [
          {
            "node": "3913cdac-ff53-4a46-a445-2fd4b9ab3f9f",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "865a7c7c-7459-4869-96b7-9b86b401426f": {
      "main": [
        [
          {
            "node": "4bef0a06-16e7-4016-badb-5dcfb4c60a69",
            "type": "main",
            "index": 0
          },
          {
            "node": "a112221f-9f2d-4199-83f8-e7713b20154b",
            "type": "main",
            "index": 1
          },
          {
            "node": "dfaedcea-5bf5-48f6-9776-f64bb96244ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 엔지니어링, 인공지능

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수24
카테고리2
노드 유형10
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Cristiano Varriale

Cristiano Varriale

@varritech

Build your next app 500% faster with the latest AI-powered development

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34