⚡ Only 300 spots remaining • Closes in 2d 14h 32m
This comprehensive workflow automation helps you streamline GitHub Cron Create Scheduled processes. By using this blueprint, you can eliminate manual data entry and ensure seamless integration between your favorite platforms.
This workflow is pre-configured and ready for deployment. Simply import the JSON template into your n8n instance and configure your credentials.
This is an exclusive blueprint. Copy the JSON below to use it.
PRO TIP
Always test your workflow in a development environment before pushing to production.
{
"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
}
]
]
}
}
}To use this, copy the JSON above and paste it directly onto your n8n canvas.
Join the elite marketers who have offloaded their entire backend to n8n. Get direct support and custom builds in our private forum.