임시
중급
이것은Engineering분야의자동화 워크플로우로, 11개의 노드를 포함합니다.주로 If, Github, Switch, GithubTrigger 등의 노드를 사용하며. 댓글 명령을 통한 GitHub 이슈 할당 자동화
사전 요구사항
- •GitHub Personal Access Token
사용된 노드 (11)
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "lPYVaz2xbN5zFDIL",
"meta": {
"instanceId": "cbc68f6c587084f6fe53914a07ed22d475640cb7a6f4ade193e6f0c6d7a06ce8",
"templateCredsSetupCompleted": true
},
"name": "temp",
"tags": [
{
"id": "DaQLpYItTEM2y8Gt",
"name": "Product",
"createdAt": "2025-06-17T10:48:17.486Z",
"updatedAt": "2025-06-17T10:48:17.486Z"
},
{
"id": "6X5c5WbCRWtxJbl2",
"name": "AI",
"createdAt": "2025-06-17T10:48:17.367Z",
"updatedAt": "2025-06-17T10:48:17.367Z"
},
{
"id": "ycHNTMiM8vy98zu1",
"name": "Building blocks",
"createdAt": "2025-06-17T10:48:17.563Z",
"updatedAt": "2025-06-17T10:48:17.563Z"
},
{
"id": "UJ6au0mv063gOupq",
"name": "Finance",
"createdAt": "2025-06-17T10:48:17.583Z",
"updatedAt": "2025-06-17T10:48:17.583Z"
},
{
"id": "CaWiGPzJpyfUHdxp",
"name": "IT Ops",
"createdAt": "2025-06-17T10:48:17.388Z",
"updatedAt": "2025-06-17T10:48:17.388Z"
},
{
"id": "6Uolue5XigSZ2IYx",
"name": "OpenAI",
"createdAt": "2025-06-17T10:48:17.508Z",
"updatedAt": "2025-06-17T10:48:17.508Z"
},
{
"id": "nA8GpDM4XoG5aJ0A",
"name": "Marketing",
"createdAt": "2025-06-17T10:48:17.532Z",
"updatedAt": "2025-06-17T10:48:17.532Z"
},
{
"id": "J4gTJX9lSPm3wByF",
"name": "Support",
"createdAt": "2025-06-17T10:48:17.464Z",
"updatedAt": "2025-06-17T10:48:17.464Z"
},
{
"id": "i294x7TPtUQgJkmv",
"name": "HR",
"createdAt": "2025-06-17T10:48:17.426Z",
"updatedAt": "2025-06-17T10:48:17.426Z"
}
],
"nodes": [
{
"id": "b1e09744-5b20-4336-8760-bdd7422e9b77",
"name": "스위치",
"type": "n8n-nodes-base.switch",
"position": [
-1100,
-121
],
"parameters": {
"rules": {
"rules": [
{
"value2": "opened"
},
{
"output": 1,
"value2": "created"
}
]
},
"value1": "={{$json[\"body\"][\"action\"]}}",
"dataType": "string"
},
"typeVersion": 1
},
{
"id": "d8358b88-60ce-49c8-b156-6e8d29004ac1",
"name": "담당자가 없나요?",
"type": "n8n-nodes-base.if",
"position": [
-880,
-300
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{$json[\"body\"][\"issue\"][\"assignees\"].length}}",
"operation": "equal"
}
],
"string": [
{
"value1": "={{$json[\"body\"][\"issue\"][\"body\"]}}",
"value2": "/[a,A]ssign[\\w*\\s*]*me/gm",
"operation": "regex"
}
]
}
},
"typeVersion": 1
},
{
"id": "2cbdec7e-8724-4016-b7b1-eac573946e7f",
"name": "작업을 원하나요?",
"type": "n8n-nodes-base.if",
"position": [
-880,
100
],
"parameters": {
"conditions": {
"number": [],
"string": [
{
"value1": "={{$json[\"body\"][\"comment\"][\"body\"]}}",
"value2": "/[a,A]ssign[\\w*\\s*]*me/gm",
"operation": "regex"
}
]
}
},
"typeVersion": 1
},
{
"id": "64d80a69-acfd-4e3c-96f2-01706bf2ed48",
"name": "할당되지 않았나요?",
"type": "n8n-nodes-base.if",
"position": [
-660,
0
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{$json[\"body\"][\"issue\"][\"assignees\"].length}}",
"operation": "equal"
}
],
"string": []
}
},
"typeVersion": 1
},
{
"id": "6029b9bd-1616-40c7-ae4b-9d96740151a9",
"name": "이슈 생성자 할당",
"type": "n8n-nodes-base.github",
"position": [
-660,
-400
],
"webhookId": "6d201c22-4f29-49bd-b0fb-2f78756c5403",
"parameters": {
"owner": "={{$node[\"Switch\"].json[\"body\"][\"repository\"][\"owner\"][\"login\"]}}",
"operation": "edit",
"editFields": {
"labels": [
{
"label": "assigned"
}
],
"assignees": [
{
"assignee": "={{$json.body.issue[\"user\"][\"login\"]}}"
}
]
},
"repository": "={{$node[\"Switch\"].json[\"body\"][\"repository\"][\"name\"]}}",
"issueNumber": "={{ $json[\"body\"][\"issue\"][\"number\"] }}",
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": null,
"name": "GitHub@Harshil"
}
},
"typeVersion": 1
},
{
"id": "e3460bc4-fe63-47db-8bbb-c288e2f3f842",
"name": "댓글 추가",
"type": "n8n-nodes-base.github",
"position": [
-440,
100
],
"webhookId": "218f39cf-64fb-41d1-92ba-0849243dee97",
"parameters": {
"body": "=Hey @{{$json[\"body\"][\"comment\"][\"user\"][\"login\"]}},\n\nThis issue is already assigned to {{$json[\"body\"][\"issue\"][\"assignee\"][\"login\"]}} 🙂",
"owner": "={{$json[\"body\"][\"repository\"][\"owner\"][\"login\"]}}",
"operation": "createComment",
"repository": "={{$json[\"body\"][\"repository\"][\"name\"]}}",
"issueNumber": "={{$json[\"body\"][\"issue\"][\"number\"]}}",
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": null,
"name": "GitHub@Harshil"
}
},
"typeVersion": 1
},
{
"id": "d65b9db7-8708-4ba3-b95e-c8d2a5b0c6cb",
"name": "댓글 작성자 할당",
"type": "n8n-nodes-base.github",
"position": [
-440,
-100
],
"webhookId": "3ef2ace6-afe0-47ee-8bb7-3a0a837ce8b7",
"parameters": {
"owner": "={{$json[\"body\"][\"repository\"][\"owner\"][\"login\"]}}",
"operation": "edit",
"editFields": {
"labels": [
{
"label": "assigned"
}
],
"assignees": [
{
"assignee": "={{$json[\"body\"][\"comment\"][\"user\"][\"login\"]}}"
}
]
},
"repository": "={{$json[\"body\"][\"repository\"][\"name\"]}}",
"issueNumber": "={{$json[\"body\"][\"issue\"][\"number\"]}}",
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": null,
"name": "GitHub@Harshil"
}
},
"typeVersion": 1
},
{
"id": "924d54fc-2744-418a-95f2-d71eb3383f1d",
"name": "GitHub 트리거1",
"type": "n8n-nodes-base.githubTrigger",
"position": [
-1320,
-100
],
"webhookId": "52c5fe44-23ef-4903-b6ae-731edd36127e",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "[username]"
},
"events": [
"issue_comment",
"issues"
],
"options": {},
"repository": {
"__rl": true,
"mode": "name",
"value": "[reponame]"
},
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": null,
"name": "GitHub Personal Credentials"
}
},
"typeVersion": 1
},
{
"id": "96e8e530-34aa-4e55-a3b6-36fa0f94e7f4",
"name": "작업 없음, 아무것도 하지 않음",
"type": "n8n-nodes-base.noOp",
"position": [
-660,
-200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9954a4af-9c03-4761-930d-ee8408b77b8f",
"name": "작업 없음, 아무것도 하지 않음1",
"type": "n8n-nodes-base.noOp",
"position": [
-660,
200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4a8907e2-277f-4985-8dad-5799a4a46e26",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2040,
-480
],
"parameters": {
"width": 1820,
"height": 1000,
"content": "GitHub Auto-Assign Workflow\nTrigger: Listens for new GitHub issues or comments.\nSwitch: Checks if the action is either \"opened\" or \"created\" (i.e. new issue opened or comment added).\nIF no assignee? If it's a new issue, checks if there's no one assigned yet and the issue body includes \"assign me\".\n\n✅ If true → Assign Issue Creator (assigns the issue to the person who opened it + adds \"assigned\" label).\n❌ Else → do nothing.\n\nIF wants to work? If it's a comment, checks if the comment includes \"assign me\".\n\nIf yes → goes to IF not assigned?\nIf the issue still has no assignee:\n\n✅ Assign Commenter (assigns the commenter + label).\n\n\nElse:\n\n💬 Add Comment \"This issue is already assigned to @someone\".\n\n\nElse → do nothing.\n\n🔧 Setup Guide (easy steps):\nClone/import: Paste this JSON into your n8n Editor (use the Import menu).\nConnect GitHub credentials:\n\nSet Github Trigger1 to listen on your owner/repo via OAuth.\nProvide OAuth credentials for the two GitHub nodes.\n\nEnable the workflow (turn it active).\nTest it out:\n\nOpen a new issue with \"assign me\" → you get assigned.\nComment \"assign me\" on unassigned issues → the commenter gets assigned.\nComment \"assign me\" on already assigned issues → auto-comment says someone else is assigned.\n\n📝 Why this is handy:\n\nAutomates GitHub triage: anyone asking gets the issue!\nKeeps things fair: avoids conflicts by checking assignments.\nScales across issues & comments with just one simple workflow.\n\n✅ Optional Tweaks:\n\nAdjust trigger events (e.g. only issues, no comments).\nChange the regex to detect other phrases.\nAdd notifications (e.g., Slack or email alerts when assignment happens)."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "acdd4625-6ad4-4b4d-9e2f-0ed7bed010b4",
"connections": {
"b1e09744-5b20-4336-8760-bdd7422e9b77": {
"main": [
[
{
"node": "d8358b88-60ce-49c8-b156-6e8d29004ac1",
"type": "main",
"index": 0
}
],
[
{
"node": "2cbdec7e-8724-4016-b7b1-eac573946e7f",
"type": "main",
"index": 0
}
]
]
},
"924d54fc-2744-418a-95f2-d71eb3383f1d": {
"main": [
[
{
"node": "b1e09744-5b20-4336-8760-bdd7422e9b77",
"type": "main",
"index": 0
}
]
]
},
"d8358b88-60ce-49c8-b156-6e8d29004ac1": {
"main": [
[
{
"node": "6029b9bd-1616-40c7-ae4b-9d96740151a9",
"type": "main",
"index": 0
}
],
[
{
"node": "96e8e530-34aa-4e55-a3b6-36fa0f94e7f4",
"type": "main",
"index": 0
}
]
]
},
"64d80a69-acfd-4e3c-96f2-01706bf2ed48": {
"main": [
[
{
"node": "d65b9db7-8708-4ba3-b95e-c8d2a5b0c6cb",
"type": "main",
"index": 0
}
],
[
{
"node": "e3460bc4-fe63-47db-8bbb-c288e2f3f842",
"type": "main",
"index": 0
}
]
]
},
"2cbdec7e-8724-4016-b7b1-eac573946e7f": {
"main": [
[
{
"node": "64d80a69-acfd-4e3c-96f2-01706bf2ed48",
"type": "main",
"index": 0
}
],
[
{
"node": "9954a4af-9c03-4761-930d-ee8408b77b8f",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 엔지니어링
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Gmail 도구, Google Gemini 분류와 Telegram 알림 포함
Gmail 도우미, Google Gemini 분류 및 Telegram 알림 포함
If
Gmail
Switch
+
If
Gmail
Switch
25 노드Roshan Ramani
AI 챗봇
텔레그램 승인이 포함된 AI 이메일 회신 어시스턴트
OpenAI와 Telegram 승인을 사용한 Gmail 이메일 회신 자동화
If
Gmail
Telegram
+
If
Gmail
Telegram
16 노드Roshan Ramani
티켓 관리
Google Gemini 및 Telegram 알림을 사용한 JotForm 자동화된 리드 자격 인증
Google Gemini와 Telegram 알림을 사용한 JotForm 자동 잠재 고객 자격 평가
Set
Switch
Telegram
+
Set
Switch
Telegram
12 노드Roshan Ramani
Gform to GitHub
구글 양식 제출로 GitHub 문제 오류 보고서 생성
If
Github
Http Request
+
If
Github
Http Request
17 노드xerang
엔지니어링
워크플로우 로직 학습: 병합, IF 및 스위치 연산
워크플로우 로직 배우기: 병합, IF 및 Switch 연산
If
Set
Merge
+
If
Set
Merge
22 노드Lucas Peyrin
엔지니어링
고급 n8n 워크플로우와 GitHub 동기화
GitHub를 활용한 지능형 변경 감지 자동화 워크플로우 백업
If
N8n
Set
+
If
N8n
Set
38 노드Maksym Brashenko
데브옵스