자동화된 테스트 실행 및 상태 업데이트
고급
이것은자동화 워크플로우로, 27개의 노드를 포함합니다.주로 If, Set, Code, ClickUp, GoogleDrive 등의 노드를 사용하며. Google Drive, Sheets, ClickUp 결과 기록을 통합한 자동화 워크플로우 테스트 실행기
사전 요구사항
- •Google Drive API 인증 정보
- •Google Sheets API 인증 정보
사용된 노드 (27)
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "ZI6iraWt5DF3ohnS",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "Automated Test Run and Status Update",
"tags": [],
"nodes": [
{
"id": "ebbca67b-a5e8-47a6-b0f0-0e01a2cf0c90",
"name": "워크플로우 실행 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-576,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f90f0568-e7ab-451c-bfe9-7151835fec62",
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
208
],
"parameters": {
"width": 304,
"height": 368,
"content": "## 🔄 Execute Target Workflow Under Test\n**Action:** \n- Calls and executes the \"Archive Payment Receipts\" workflow as a sub-process. \n**Description:** \n- Runs the specified workflow and waits for its completion. \n- Configured to continue execution even if the sub-workflow encounters errors. \n- Captures the output (including any error objects) for validation in subsequent steps. \n- Critical for automated regression testing and CI/CD pipelines."
},
"typeVersion": 1
},
{
"id": "f5de02c6-f686-402f-90df-80bc60151c1c",
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-480
],
"parameters": {
"height": 448,
"content": "## ✅ Test Result Evaluation (Pass/Fail Check)\n**Action:** \n- Determines whether the sub-workflow executed successfully or failed. \n**Description:** \n- Checks if an \"error\" field exists in the returned JSON data. \n- **True Path (No Error):** Routes to success logging branch. \n- **False Path (Error Exists):** Routes to failure logging and error reporting branch. \n- Acts as the decision gateway for all downstream reporting actions."
},
"typeVersion": 1
},
{
"id": "3af7b28f-f3a6-45af-a3c0-49d0d867290d",
"name": "테스트 결과 평가",
"type": "n8n-nodes-base.if",
"position": [
-16,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "c9f7e963-a035-4c64-82ef-f870f1d6587c",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{$json[\"error\"]}}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "c9ded697-7e80-4c9d-ae63-b34dd83a4b4b",
"name": "성공 테스트 결과 형식화",
"type": "n8n-nodes-base.set",
"position": [
384,
-208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e70c3468-0767-470a-b780-7e17188788c2",
"name": "status",
"type": "string",
"value": "✅ Passed"
},
{
"id": "6b01dbe6-137a-46d0-b909-0c863d25e3a1",
"name": "tested_workflow",
"type": "string",
"value": "Retention Tracking Post-Hire"
},
{
"id": "5ca7a3ff-f30a-4ab4-9a54-b33188458d7a",
"name": "",
"type": "string",
"value": ""
},
{
"id": "f6f5dd9b-379c-4e96-b74f-d394f0e9d83f",
"name": "timestamp",
"type": "string",
"value": "=={{$now}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0df832de-9809-4c05-944b-1ab8e62fb6ff",
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232,
-704
],
"parameters": {
"height": 448,
"content": "## ☁️ Archive Success Report to Google Drive\n**Action:** \n- Uploads the success test report file to a designated Google Drive folder. \n**Description:** \n- Stores test results in the \"resume store\" folder for centralized access. \n- File name dynamically includes workflow name, status, and timestamp. \n- Provides a permanent record of successful test executions. \n- Supports compliance and audit trail requirements."
},
"typeVersion": 1
},
{
"id": "18671bfd-775b-42e6-a64e-3921ffee5961",
"name": "메모지3",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-640
],
"parameters": {
"height": 384,
"content": "## 📦 Convert Success Report to Text File\n**Action:** \n- Transforms the formatted text into a downloadable .txt file. \n**Description:** \n- Prepares the success report for upload to Google Drive. \n- File naming includes workflow name, status, and timestamp for easy identification. \n- Supports long-term archival and audit requirements."
},
"typeVersion": 1
},
{
"id": "90db750f-6254-40d3-8755-4b22c377f3c3",
"name": "메모지4",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
-640
],
"parameters": {
"height": 400,
"content": "## 📄 Generate Success Report Text\n**Action:** \n- Formats test result data into a human-readable text report. \n**Description:** \n- Concatenates workflow name, pass status, and timestamp into a structured text block. \n- Output is used for file creation and task updates. \n- Ensures consistent formatting across all reporting channels."
},
"typeVersion": 1
},
{
"id": "fcce2d0a-4f68-49c5-a1e6-87be0cadb94b",
"name": "메모지5",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
-672
],
"parameters": {
"height": 448,
"content": "## 🎯 Format Success Test Result\n**Action:** \n- Structures the test outcome data for successful workflow execution. \n**Description:** \n- Creates a standardized result object containing: \n - Status: \"✅ Passed\" \n - Tested Workflow Name: \"Retention Tracking Post-Hire\" \n - Timestamp: Current execution time \n- Prepares data for archival and notification in subsequent nodes."
},
"typeVersion": 1
},
{
"id": "48482dbc-5fa7-47d6-8f4e-94f4f7cecf3c",
"name": "메모지6",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
384
],
"parameters": {
"height": 448,
"content": "## ❌ Format Failed Test Result\n**Action:** \n- Structures the test outcome data for failed workflow execution. \n**Description:** \n- Creates a standardized result object containing: \n - Status: \"❌ Failed\" \n - Tested Workflow Name: \"Retention Tracking Post-Hire\" \n - Timestamp: Current execution time \n- Ensures failure details are captured for debugging and audit trails."
},
"typeVersion": 1
},
{
"id": "163d4cae-b9b2-4317-867e-d5b3ad1d4173",
"name": "실패 테스트 결과 형식화",
"type": "n8n-nodes-base.set",
"position": [
368,
224
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e70c3468-0767-470a-b780-7e17188788c2",
"name": "status",
"type": "string",
"value": "❌ Failed"
},
{
"id": "6b01dbe6-137a-46d0-b909-0c863d25e3a1",
"name": "tested_workflow",
"type": "string",
"value": "Retention Tracking Post-Hire"
},
{
"id": "f6f5dd9b-379c-4e96-b74f-d394f0e9d83f",
"name": "timestamp",
"type": "string",
"value": "=={{$now}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5040deb0-6db6-40c8-9cad-f8637dd2f9fa",
"name": "성공 보고서 텍스트 생성",
"type": "n8n-nodes-base.code",
"position": [
736,
-208
],
"parameters": {
"jsCode": "return [\n {\n json: {\n text: `Workflow: ${$json.tested_workflow}\nStatus: ${$json.status}\nTimestamp: ${$json.timestamp}`\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "2b1741e8-7258-4f28-b050-57dc4545692b",
"name": "메모지7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232,
416
],
"parameters": {
"height": 400,
"content": "## ☁️ Archive Failure Report to Google Drive\n**Action:** \n- Uploads the failure test report file to a designated Google Drive folder. \n**Description:** \n- Stores test results in the \"resume store\" folder alongside success reports. \n- Enables team members to review failed test runs without accessing n8n directly. \n- Facilitates root cause analysis and troubleshooting."
},
"typeVersion": 1
},
{
"id": "8e5de5e8-71a1-4a74-b1a9-df712153c9db",
"name": "메모지8",
"type": "n8n-nodes-base.stickyNote",
"position": [
944,
416
],
"parameters": {
"height": 352,
"content": "## 📦 Convert Failure Report to Text File\n**Action:** \n- Transforms the formatted text into a downloadable .txt file. \n**Description:** \n- Prepares the failure report for upload to Google Drive. \n- File naming convention matches success reports for consistent organization. \n- Critical for post-mortem analysis and debugging."
},
"typeVersion": 1
},
{
"id": "54f6ba7c-b99c-40c3-a0ec-14bfd933ca2c",
"name": "메모지9",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
400
],
"parameters": {
"height": 368,
"content": "## 📄 Generate Failure Report Text\n**Action:** \n- Formats test result data into a human-readable text report. \n**Description:** \n- Concatenates workflow name, fail status, and timestamp into a structured text block. \n- Mirrors the success report structure for consistency. \n- Enables quick identification of failed test runs in logs and notifications."
},
"typeVersion": 1
},
{
"id": "6637cf99-13de-4668-bb63-ea921dccc182",
"name": "실패 보고서 텍스트 생성",
"type": "n8n-nodes-base.code",
"position": [
736,
224
],
"parameters": {
"jsCode": "return [\n {\n json: {\n text: `Workflow: ${$json.tested_workflow}\nStatus: ${$json.status}\nTimestamp: ${$json.timestamp}`\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "1140f35d-1fc6-4dab-b7a5-4ac118ea4a6d",
"name": "성공 보고서를 텍스트 파일로 변환",
"type": "n8n-nodes-base.convertToFile",
"position": [
1024,
-208
],
"parameters": {
"options": {},
"operation": "toText",
"sourceProperty": "=text"
},
"typeVersion": 1.1
},
{
"id": "57b36b45-ebfb-4e36-8b3d-79641f1831a9",
"name": "실패 보고서를 텍스트 파일로 변환",
"type": "n8n-nodes-base.convertToFile",
"position": [
1008,
224
],
"parameters": {
"options": {},
"operation": "toText",
"sourceProperty": "=text"
},
"typeVersion": 1.1
},
{
"id": "4b572d2b-e233-410b-aa83-abae2b023184",
"name": "성공 보고서를 Google Drive에 보관",
"type": "n8n-nodes-base.googleDrive",
"position": [
1296,
-208
],
"parameters": {
"name": "={{ $json.tested_workflow }}_{{ $json.status }}_{{ $json.timestamp.replace(/[:.]/g, \"-\") }}.txt\n",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultUrl": "https://drive.google.com/drive/folders/16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultName": "resume store"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "E7nEqUL27GUx1xHa",
"name": "Techdome Account"
}
},
"typeVersion": 3
},
{
"id": "0c3a0ce7-61bd-4ab4-9e3b-a0f6a97c75bb",
"name": "실패 보고서를 Google Drive에 보관",
"type": "n8n-nodes-base.googleDrive",
"position": [
1312,
224
],
"parameters": {
"name": "={{ $json.tested_workflow }}_{{ $json.status }}_{{ $json.timestamp.replace(/[:.]/g, \"-\") }}.txt\n",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultUrl": "https://drive.google.com/drive/folders/16lOVXsq0xkvJ8sCM7hCFAghQvDOXann7",
"cachedResultName": "resume store"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "E7nEqUL27GUx1xHa",
"name": "Techdome Account"
}
},
"typeVersion": 3
},
{
"id": "dcde5325-c1a3-4e33-acf9-661587287d9f",
"name": "메모지10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1552,
400
],
"parameters": {
"height": 400,
"content": "## ✏️ Update ClickUp Task with Failure Status\n**Action:** \n- Posts the failure test result to a specific ClickUp task for team visibility. \n**Description:** \n- Updates task ID .. with formatted test outcome. \n- Alerts the team to failed test runs immediately. \n- Centralizes test monitoring in the project management platform."
},
"typeVersion": 1
},
{
"id": "5622acb4-1563-498d-9ac8-cb0d2fdadebf",
"name": "메모지11",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
-656
],
"parameters": {
"height": 400,
"content": "## ✏️ Update ClickUp Task with Success Status\n**Action:** \n- Posts the success test result to a specific ClickUp task for team visibility. \n**Description:** \n- Updates task ID with formatted test outcome. \n- Keeps project management tools synchronized with test results. \n- Enables real-time notifications to stakeholders without manual updates."
},
"typeVersion": 1
},
{
"id": "7c80063a-3bfe-4677-9dfc-9f24616bb84a",
"name": "ClickUp 작업을 성공 상태로 업데이트",
"type": "n8n-nodes-base.clickUp",
"position": [
1552,
-208
],
"parameters": {
"id": "86b700vbb",
"operation": "update",
"updateFields": {
"content": "={{ $('Generate Success Report Text').item.json.text }}"
}
},
"credentials": {
"clickUpApi": {
"id": "kahuAqa6VKsSxhn1",
"name": "ClickUp account 3"
}
},
"typeVersion": 1
},
{
"id": "b26d1493-d58a-4395-b4d3-d2bdfa4080cb",
"name": "ClickUp 작업을 실패 상태로 업데이트",
"type": "n8n-nodes-base.clickUp",
"position": [
1584,
224
],
"parameters": {
"id": "86b700vbb",
"operation": "update",
"updateFields": {
"content": "={{ $('Generate Failure Report Text').item.json.text }}"
}
},
"credentials": {
"clickUpApi": {
"id": "kahuAqa6VKsSxhn1",
"name": "ClickUp account 3"
}
},
"typeVersion": 1
},
{
"id": "5dff41d1-8ca3-49e2-a6cd-f181bb402cb0",
"name": "메모지12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
784
],
"parameters": {
"height": 448,
"content": "## 📊 Log Error Details to Error Tracking Sheet\n**Action:** \n- Appends error information to a dedicated error log in Google Sheets. \n**Description:** \n- Writes to the \"error log sheet\" tab in the \"Interviewer Brief Pack\" spreadsheet. \n- Captures raw error objects for detailed analysis. \n- Creates a queryable database of all test failures for trend analysis. \n- Supports continuous improvement of workflow reliability."
},
"typeVersion": 1
},
{
"id": "4a18b563-f4ef-4ad8-8b19-74d45ac01736",
"name": "오류 상세 정보를 오류 추적 시트에 기록",
"type": "n8n-nodes-base.googleSheets",
"position": [
144,
752
],
"parameters": {
"columns": {
"value": {
"error": "={{ $json.error }}"
},
"schema": [
{
"id": "error_id",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "error_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "error",
"type": "string",
"display": true,
"required": false,
"displayName": "error",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1338537721,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit#gid=1338537721",
"cachedResultName": "error log sheet"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Uldk_4BxWbdZTDZxFUeohIfeBmGHHqVEl9Ogb0l6R8Y/edit?usp=drivesdk",
"cachedResultName": "Interviewer Brief Pack "
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4.6
},
{
"id": "4158484c-a8ed-4c33-8ea2-f0fb7cf2194d",
"name": "테스트 대상 워크플로우 실행",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueRegularOutput",
"position": [
-288,
0
],
"parameters": {
"options": {
"waitForSubWorkflow": true
},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "gr2rafzxOw1ks4Bd",
"cachedResultUrl": "/workflow/gr2rafzxOw1ks4Bd",
"cachedResultName": "Archive Payment Receipts with Stripe, Google Drive, and Google Sheets"
},
"workflowInputs": {
"value": {},
"mappingMode": "defineBelow"
}
},
"retryOnFail": false,
"typeVersion": 1.3,
"alwaysOutputData": true
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "034f6efb-c4fc-498e-95fa-b58bedd10782",
"connections": {
"3af7b28f-f3a6-45af-a3c0-49d0d867290d": {
"main": [
[
{
"node": "c9ded697-7e80-4c9d-ae63-b34dd83a4b4b",
"type": "main",
"index": 0
}
],
[
{
"node": "163d4cae-b9b2-4317-867e-d5b3ad1d4173",
"type": "main",
"index": 0
},
{
"node": "4a18b563-f4ef-4ad8-8b19-74d45ac01736",
"type": "main",
"index": 0
}
]
]
},
"163d4cae-b9b2-4317-867e-d5b3ad1d4173": {
"main": [
[
{
"node": "6637cf99-13de-4668-bb63-ea921dccc182",
"type": "main",
"index": 0
}
]
]
},
"c9ded697-7e80-4c9d-ae63-b34dd83a4b4b": {
"main": [
[
{
"node": "5040deb0-6db6-40c8-9cad-f8637dd2f9fa",
"type": "main",
"index": 0
}
]
]
},
"6637cf99-13de-4668-bb63-ea921dccc182": {
"main": [
[
{
"node": "57b36b45-ebfb-4e36-8b3d-79641f1831a9",
"type": "main",
"index": 0
}
]
]
},
"5040deb0-6db6-40c8-9cad-f8637dd2f9fa": {
"main": [
[
{
"node": "1140f35d-1fc6-4dab-b7a5-4ac118ea4a6d",
"type": "main",
"index": 0
}
]
]
},
"4158484c-a8ed-4c33-8ea2-f0fb7cf2194d": {
"main": [
[
{
"node": "3af7b28f-f3a6-45af-a3c0-49d0d867290d",
"type": "main",
"index": 0
}
]
]
},
"57b36b45-ebfb-4e36-8b3d-79641f1831a9": {
"main": [
[
{
"node": "0c3a0ce7-61bd-4ab4-9e3b-a0f6a97c75bb",
"type": "main",
"index": 0
}
]
]
},
"1140f35d-1fc6-4dab-b7a5-4ac118ea4a6d": {
"main": [
[
{
"node": "4b572d2b-e233-410b-aa83-abae2b023184",
"type": "main",
"index": 0
}
]
]
},
"ebbca67b-a5e8-47a6-b0f0-0e01a2cf0c90": {
"main": [
[
{
"node": "4158484c-a8ed-4c33-8ea2-f0fb7cf2194d",
"type": "main",
"index": 0
}
]
]
},
"0c3a0ce7-61bd-4ab4-9e3b-a0f6a97c75bb": {
"main": [
[
{
"node": "b26d1493-d58a-4395-b4d3-d2bdfa4080cb",
"type": "main",
"index": 0
}
]
]
},
"4b572d2b-e233-410b-aa83-abae2b023184": {
"main": [
[
{
"node": "7c80063a-3bfe-4677-9dfc-9f24616bb84a",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
사건 관리 워크플로
Jira, Slack, Google Sheets 및 Drive를 통한 사건 대응 자동화
If
Set
Code
+
If
Set
Code
23 노드Rahul Joshi
데브옵스
개인화된 거절/다음 단계 이메일
Google Sheets, GPT-4o-mini, Gmail, ClickUp을 사용한 후보자 거절 자동화
If
Set
Code
+
If
Set
Code
38 노드Rahul Joshi
인사
API 속도 제한 및 인증 FAQ 테스트
GPT-4o-mini, Google 시트 및 Slack 알림을 사용한 API FAQ 품질 테스트 자동화
If
Set
Code
+
If
Set
Code
19 노드Rahul Joshi
문서 추출
구조화된 면접 피드백 수집
GPT-4o-mini, Gmail, ClickUp 작업 추적을 사용한 후보자 거절 자동화
If
Code
Gmail
+
If
Code
Gmail
18 노드Rahul Joshi
인사
신입 개발자 온보딩 자동화
GPT-4o를 사용한 직원 온보딩 자동화: Jira, Notion, Gmail 통합
If
Set
Code
+
If
Set
Code
21 노드Rahul Joshi
인사
자동화 의존성 업데이트 추적
GPT-4o, Slack, Jira, Google Sheets를 사용하여 의존성 업데이트 위험 분석
If
Set
Code
+
If
Set
Code
23 노드Rahul Joshi
데브옵스
워크플로우 정보
난이도
고급
노드 수27
카테고리-
노드 유형10
저자
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유