Workflow: GitHub Cron Create

Workflow Details

Download Workflow
{
    "nodes": [
        {
            "name": "Get latest release",
            "type": "n8n-nodes-base.github",
            "position": [
                540,
                340
            ],
            "parameters": {
                "limit": 1,
                "resource": "release",
                "operation": "getAll"
            },
            "typeVersion": 1
        },
        {
            "name": "Cron",
            "type": "n8n-nodes-base.cron",
            "position": [
                240,
                500
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyWeek"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Merge",
            "type": "n8n-nodes-base.merge",
            "position": [
                740,
                420
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "name": "No issue for release?",
            "type": "n8n-nodes-base.function",
            "position": [
                920,
                420
            ],
            "parameters": {
                "functionCode": "const _ = require('lodash')\n\n\/\/ differentiate merged inputs (didnt find a way to get both inputs into one function invocation)\nconst releases = _.filter(items, i => _.has(i, 'json.assets'))\nif (releases.length != 1) throw new Error(`Invalid release count: ${releases.length}`)\nconst release = releases[0]\nconst issues = _.without(items, release)\n\/\/console.log({release,issues})\n\n\/\/ check if there's an issue for the release\nconst matchingIssue = _.find(issues, i => i.json.title.includes(release.json.tag_name))\n\/\/console.log({release,issues,matchingIssue})\n\nif (matchingIssue)\n  return []\nelse\n  return [release]"
            },
            "executeOnce": false,
            "typeVersion": 1
        },
        {
            "name": "Create issue",
            "type": "n8n-nodes-base.gitlab",
            "position": [
                1100,
                420
            ],
            "parameters": {
                "body": "={{$json[\"url\"]}}\n\n{{$json[\"body\"]}}",
                "owner": "txlab",
                "title": "=Upstream release: {{$json[\"tag_name\"]}}",
                "labels": [],
                "repository": "docker-linkcheck",
                "assignee_ids": []
            },
            "typeVersion": 1
        },
        {
            "name": "List issues",
            "type": "n8n-nodes-base.gitlab",
            "position": [
                540,
                500
            ],
            "parameters": {
                "owner": "txlab",
                "resource": "repository",
                "repository": "docker-linkcheck",
                "getRepositoryIssuesFilters": []
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "Cron": {
            "main": [
                [
                    {
                        "node": "Get latest release",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "List issues",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Merge": {
            "main": [
                [
                    {
                        "node": "No release for issue?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Start": {
            "main": [
                [
                    {
                        "node": "Get latest release",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "List issues",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "List issues": {
            "main": [
                [
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        },
        "Get latest release": {
            "main": [
                [
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "No release for issue?": {
            "main": [
                [
                    {
                        "node": "Create issue",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Webhook Manual Create Webhook
View
Schedule Telegram Automation Scheduled
View
Create a new member, update the information of the member, create a note and a post for the member in Orbit
View
Realtime Notion Todoist 2-way Sync Template
View
Filter Manual Send Triggered
View
Google Calendar Event Reminder
View
Publish Image Post to Bluesky
View
Aggregate Stickynote Create Webhook
View
Tech Radar
View
Aggregate Stickynote Create Triggered
View