{ "meta": { "instanceId": "237600ca44303ce91fa31ee72babcdc8493f55ee2c0e8aa2b78b3b4ce6f70bd9" }, "nodes": [ { "id": "0bd18974-8414-4b83-b3fb-85d2f6a74164", "name": "Create database page", "type": "n8n-nodes-base.notion", "position": [ 1220, 400 ], "parameters": { "title": "={{$json[\"body\"][\"issue\"][\"title\"]}}", "resource": "databasePage", "databaseId": "5026700b-6693-473a-8100-8cc6ddef62a6", "propertiesUi": { "propertyValues": [ { "key": "Issue ID|number", "numberValue": "={{$node[\"Trigger on issues\"].json[\"body\"][\"issue\"][\"id\"]}}" }, { "key": "Link|url", "urlValue": "={{$node[\"Trigger on issues\"].json[\"body\"][\"issue\"][\"html_url\"]}}" } ] } }, "credentials": { "notionApi": { "id": "9", "name": "[UPDATE ME]" } }, "typeVersion": 2 }, { "id": "dfce23fd-7ff8-42d1-9544-694345156080", "name": "Note", "type": "n8n-nodes-base.stickyNote", "position": [ 1220, 800 ], "parameters": { "content": "## IF & Switch\nDepends on what action was taken on an issue in GitHub." }, "typeVersion": 1 }, { "id": "577e0d7a-0539-414f-8ec8-00ce12807d5b", "name": "Find database page", "type": "n8n-nodes-base.notion", "position": [ 1400, 600 ], "parameters": { "options": {}, "resource": "databasePage", "operation": "getAll", "returnAll": true, "databaseId": "5026700b-6693-473a-8100-8cc6ddef62a6", "filterJson": "={{$node[\"Create custom Notion filters\"].json[\"notionfilter\"]}}", "filterType": "json" }, "credentials": { "notionApi": { "id": "9", "name": "[UPDATE ME]" } }, "typeVersion": 2 }, { "id": "91b0586c-eb08-41d0-bbb0-8a03c4a0ac3a", "name": "Switch", "type": "n8n-nodes-base.switch", "position": [ 1580, 600 ], "parameters": { "rules": { "rules": [ { "value2": "edited" }, { "output": 1, "value2": "deleted" }, { "output": 2, "value2": "closed" }, { "output": 3, "value2": "reopened" } ] }, "value1": "={{$node[\"Trigger on issues\"].json[\"body\"][\"action\"]}}", "dataType": "string" }, "typeVersion": 1 }, { "id": "5262e14e-adc2-45d1-9e3f-c0eba013077a", "name": "IF", "type": "n8n-nodes-base.if", "position": [ 1040, 500 ], "parameters": { "conditions": { "string": [ { "value1": "={{$node[\"Trigger on issues\"].json[\"body\"][\"action\"]}}", "value2": "opened" } ] } }, "typeVersion": 1 }, { "id": "735ef0b3-70c3-4a88-ad02-35edf8f749c4", "name": "Edit issue", "type": "n8n-nodes-base.notion", "position": [ 1760, 360 ], "parameters": { "pageId": "={{ $node[\"Find database page\"].json[\"id\"] }}", "resource": "databasePage", "operation": "update", "propertiesUi": { "propertyValues": [ { "key": "Issue|title", "title": "={{$node[\"Trigger on issues\"].json[\"body\"][\"issue\"][\"title\"]}}" } ] } }, "credentials": { "notionApi": { "id": "9", "name": "[UPDATE ME]" } }, "typeVersion": 2 }, { "id": "39b75e78-bd62-40e4-9e88-12c6a1901c34", "name": "Delete issue", "type": "n8n-nodes-base.notion", "position": [ 1760, 520 ], "parameters": { "pageId": "={{$node[\"Find database page\"].json[\"id\"]}}", "operation": "archive" }, "credentials": { "notionApi": { "id": "9", "name": "[UPDATE ME]" } }, "typeVersion": 2 }, { "id": "d8fee72d-c19d-4b99-85c2-dcc5d4fa6756", "name": "Create custom Notion filters", "type": "n8n-nodes-base.function", "position": [ 1220, 600 ], "parameters": { "functionCode": "const new_items = [];\nfor (item of $items(\"Trigger on issues\")) {\n\n // do not process this item if action is created\n if (item.json[\"body\"][\"action\"] == \"opened\") {\n continue;\n }\n\n // build the output template\n var new_item = {\n \"json\": {\n \"notionfilter\": \"\"\n }\n };\n new_item = JSON.stringify(new_item);\n new_item = JSON.parse(new_item);\n new_items.push(new_item);\n\n // create Notion filter to find specific database page by issue ID\n notionfilter = {\n or: [],\n }\n\n const filter = {\n property: 'Issue ID',\n number: {\n equals: parseInt(item.json[\"body\"][\"issue\"][\"id\"])\n }\n }\n notionfilter[\"or\"].push(filter);\n\n new_item.json.notionfilter = JSON.stringify(notionfilter); \n}\n\nreturn new_items;" }, "typeVersion": 1 }, { "id": "99c69200-d932-4379-9a36-96cd8420f21c", "name": "Close issue", "type": "n8n-nodes-base.notion", "position": [ 1760, 680 ], "parameters": { "pageId": "={{$node[\"Find database page\"].json[\"id\"]}}", "resource": "databasePage", "operation": "update", "propertiesUi": { "propertyValues": [ { "key": "Closed|checkbox", "checkboxValue": true } ] } }, "credentials": { "notionApi": { "id": "9", "name": "[UPDATE ME]" } }, "typeVersion": 2 }, { "id": "3f4b27d3-33ae-44f8-ab18-1c23ae7cf890", "name": "Reopen issue", "type": "n8n-nodes-base.notion", "position": [ 1760, 840 ], "parameters": { "pageId": "={{$node[\"Find database page\"].json[\"id\"]}}", "resource": "databasePage", "operation": "update", "propertiesUi": { "propertyValues": [ { "key": "Closed|checkbox" } ] } }, "credentials": { "notionApi": { "id": "9", "name": "[UPDATE ME]" } }, "typeVersion": 2 }, { "id": "62e1a9d3-3fc6-46de-a048-cf8176f30f94", "name": "Trigger on issues", "type": "n8n-nodes-base.githubTrigger", "position": [ 860, 500 ], "webhookId": "bc0a0a44-00db-473b-8746-b60b3b36039c", "parameters": { "owner": "John-n8n", "events": [ "issues" ], "repository": "DemoRepo" }, "credentials": { "githubApi": { "id": "20", "name": "[UPDATE ME]" } }, "typeVersion": 1 } ], "connections": { "IF": { "main": [ [ { "node": "Create database page", "type": "main", "index": 0 } ], [ { "node": "Create custom Notion filters", "type": "main", "index": 0 } ] ] }, "Switch": { "main": [ [ { "node": "Edit issue", "type": "main", "index": 0 } ], [ { "node": "Delete issue", "type": "main", "index": 0 } ], [ { "node": "Close issue", "type": "main", "index": 0 } ], [ { "node": "Reopen issue", "type": "main", "index": 0 } ] ] }, "Trigger on issues": { "main": [ [ { "node": "IF", "type": "main", "index": 0 } ] ] }, "Find database page": { "main": [ [ { "node": "Switch", "type": "main", "index": 0 } ] ] }, "Create custom Notion filters": { "main": [ [ { "node": "Find database page", "type": "main", "index": 0 } ] ] } } }