n8n Workflow

Assign Issues To Interested Contributors

This n8n workflow automates tasks and integrates with various services. Assign Issues To Interested Contributors - ready to import and run in your n8n instance.

n8n workflow.json

About This Script

This n8n workflow automates tasks and integrates with various services. Assign Issues To Interested Contributors - ready to import and run in your n8n instance.
Features:
  • Conditional logic and branching
Source Code
{
    "nodes": [
        {
            "name": "Github Trigger",
            "type": "n8n-nodes-base.githubTrigger",
            "position": [
                450,
                300
            ],
            "webhookId": "52c5fe44-23ef-4903-b6ae-731edd36127e",
            "parameters": {
                "owner": "harshil1712",
                "events": [
                    "issue_comment",
                    "issues"
                ],
                "repository": "build-discord-bot",
                "authentication": "oAuth2"
            },
            "credentials": {
                "githubOAuth2Api": "GitHub Personal Credentials"
            },
            "typeVersion": 1,
            "id": "1813b3ce-a09e-43d5-a5b6-1854860ecab4"
        },
        {
            "name": "Github Trigger",
            "type": "n8n-nodes-base.githubTrigger",
            "position": [
                450,
                300
            ],
            "webhookId": "52c5fe44-23ef-4903-b6ae-731edd36127e",
            "parameters": {
                "owner": "harshil1712",
                "events": [
                    "issue_comment",
                    "issues"
                ],
                "repository": "build-discord-bot",
                "authentication": "oAuth2"
            },
            "credentials": {
                "githubOAuth2Api": "GitHub Personal Credentials"
            },
            "typeVersion": 1,
            "id": "286a894a-2450-4156-8225-b1a7cfc0ec1b"
        },
        {
            "name": "Switch",
            "type": "n8n-nodes-base.switch",
            "position": [
                650,
                300
            ],
            "parameters": {
                "rules": {
                    "rules": [
                        {
                            "value2": "opened"
                        },
                        {
                            "output": 1,
                            "value2": "created"
                        }
                    ]
                },
                "value1": "={{$json[\"body\"][\"action\"]}}",
                "dataType": "string"
            },
            "typeVersion": 1,
            "id": "09827372-123b-4592-a789-543b8ff24dad"
        },
        {
            "name": "IF no assignee?",
            "type": "n8n-nodes-base.if",
            "position": [
                1050,
                150
            ],
            "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": "faf209cf-c765-4420-b982-251e83b3535b"
        },
        {
            "name": "NoOp",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1250,
                250
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "917a5d6b-9d9f-45ff-bafc-5a68fcd37097"
        },
        {
            "name": "IF wants to work?",
            "type": "n8n-nodes-base.if",
            "position": [
                850,
                500
            ],
            "parameters": {
                "conditions": {
                    "number": [],
                    "string": [
                        {
                            "value1": "={{$json[\"body\"][\"comment\"][\"body\"]}}",
                            "value2": "/[a,A]ssign[\\w*\\s*]*me/gm",
                            "operation": "regex"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "id": "2bcc1942-fb51-422f-a006-17f23cd4b840"
        },
        {
            "name": "IF not assigned?",
            "type": "n8n-nodes-base.if",
            "position": [
                1050,
                450
            ],
            "parameters": {
                "conditions": {
                    "number": [
                        {
                            "value1": "={{$json[\"body\"][\"issue\"][\"assignees\"].length}}",
                            "operation": "equal"
                        }
                    ],
                    "string": []
                }
            },
            "typeVersion": 1,
            "id": "e1eb2035-a068-4011-b410-84838b5059dc"
        },
        {
            "name": "Assign Issue Creator",
            "type": "n8n-nodes-base.github",
            "position": [
                1250,
                50
            ],
            "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": "GitHub@Harshil"
            },
            "typeVersion": 1,
            "id": "2c38dd10-175d-44b4-b333-771f1f1bb04f"
        },
        {
            "name": "Add Comment",
            "type": "n8n-nodes-base.github",
            "position": [
                1350,
                600
            ],
            "parameters": {
                "body": "=Hey @{{$json[\"body\"][\"comment\"][\"user\"][\"login\"]}},\n\nThis issue is already assigned to {{$json[\"body\"][\"issue\"][\"assignee\"][\"login\"]}} \ud83d\ude42",
                "owner": "={{$json[\"body\"][\"repository\"][\"owner\"][\"login\"]}}",
                "operation": "createComment",
                "repository": "={{$json[\"body\"][\"repository\"][\"name\"]}}",
                "issueNumber": "={{$json[\"body\"][\"issue\"][\"number\"]}}",
                "authentication": "oAuth2"
            },
            "credentials": {
                "githubOAuth2Api": "GitHub@Harshil"
            },
            "typeVersion": 1,
            "id": "dc49654b-a6f1-4da9-a797-523d0f752dd4"
        },
        {
            "name": "NoOp1",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1050,
                650
            ],
            "parameters": [],
            "typeVersion": 1,
            "id": "78097e40-f50f-421a-99bf-18f24ae0017b"
        },
        {
            "name": "Assign Commenter",
            "type": "n8n-nodes-base.github",
            "position": [
                1350,
                400
            ],
            "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": "GitHub@Harshil"
            },
            "typeVersion": 1,
            "id": "d1bca85f-aa42-4f5e-8288-6b3152aa758a"
        }
    ],
    "connections": {
        "Switch": {
            "main": [
                [
                    {
                        "node": "IF no assignee?",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "IF wants to work?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Github Trigger": {
            "main": [
                [
                    {
                        "node": "Switch",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "IF no assignee?": {
            "main": [
                [
                    {
                        "node": "Assign Issue Creator",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "NoOp",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "IF not assigned?": {
            "main": [
                [
                    {
                        "node": "Assign Commenter",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Add Comment",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "IF wants to work?": {
            "main": [
                [
                    {
                        "node": "IF not assigned?",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "NoOp1",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    },
    "n8n_version": "1.5.0"
}
Requirements
n8n instance, Github API credentials
Tags
#n8n #automation #workflow
Quick Actions
More in n8n Workflows