Github 기반 자동 단위 테스트 생성기
고급
이것은Engineering, AI분야의자동화 워크플로우로, 24개의 노드를 포함합니다.주로 Code, Merge, Github, Webhook, GithubTool 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. GitHub PR 자동 Jest 테스트 생성, 이중 AI 검토 지원
사전 요구사항
- •GitHub Personal Access Token
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
사용된 노드 (24)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
VDS 워크플로우 공개판
사용AI、GitHub및Vercel에서文本提示构建및部署MVP
If
Code
Wait
+
If
Code
Wait
54 노드Varritech
데브옵스
AI 포맷화를 사용하여 Markdown 내용을 Contentful 텍스트로 변환
AI 포맷을 사용하여 Markdown 내용을 Contentful 텍스트로 변환
Code
Merge
Http Request
+
Code
Merge
Http Request
12 노드Varritech
엔지니어링
OpenAI와 RAGAS 방법을 사용하여 AI 대리자 응답 정확성 평가
OpenAI와 RAGAS 방법을 사용하여 AI 대리자 응답 정확성을 평가
Set
Code
Merge
+
Set
Code
Merge
27 노드Jimleuk
엔지니어링
전사 평가기
DeepGram 및 GPT-4o를 사용한 오디오 대화 분석 및 시각화
Set
Code
Html
+
Set
Code
Html
54 노드RealSimple Solutions
인공지능
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능
트랜스크립션 평가자 V2
🔊 브라우저 녹음 오디오 전취와 AI 분석(Deepgram과 GPT-4o 사용)
Set
Code
Html
+
Set
Code
Html
54 노드RealSimple Solutions
인공지능