Workflow: HTTP GitHub Automation

Workflow Details

Download Workflow
{
    "id": "6",
    "name": "Dashboard",
    "nodes": [
        {
            "name": "Cron",
            "type": "n8n-nodes-base.cron",
            "position": [
                -290,
                180
            ],
            "parameters": {
                "triggerTimes": {
                    "item": [
                        {
                            "mode": "everyMinute"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Dashboard Configuration",
            "type": "n8n-nodes-base.set",
            "color": "#FF0000",
            "notes": "Update project settings",
            "position": [
                -10,
                180
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "dashboardHostname",
                            "value": "http:\/\/192.168.0.14:8080"
                        },
                        {
                            "name": "dashboardAuthToken",
                            "value": "n8n-rocks!"
                        },
                        {
                            "name": "product_hunt_post_id",
                            "value": "170391"
                        },
                        {
                            "name": "npm_package",
                            "value": "n8n"
                        },
                        {
                            "name": "docker_name",
                            "value": "n8nio"
                        },
                        {
                            "name": "docker_repository",
                            "value": "n8n"
                        },
                        {
                            "name": "github_owner",
                            "value": "n8n-io"
                        },
                        {
                            "name": "github_repo",
                            "value": "n8n"
                        }
                    ]
                },
                "options": []
            },
            "notesInFlow": true,
            "typeVersion": 1
        },
        {
            "name": "Retrieve Docker Data",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                260,
                300
            ],
            "parameters": {
                "url": "=https:\/\/hub.docker.com\/v2\/repositories\/{{$node[\"Dashboard Configuration\"].json[\"docker_name\"]}}\/{{$node[\"Dashboard Configuration\"].json[\"docker_repository\"]}}",
                "options": [],
                "queryParametersUi": {
                    "parameter": []
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "User-Agent",
                            "value": "n8n"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Docker Pulls",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                630,
                220
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/docker_pulls",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage Docker Data\"].json[\"pull_count\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "Docker Stars",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                630,
                400
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/docker_stars",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage Docker Data\"].json[\"star_count\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "Retrieve npm Data",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                250,
                50
            ],
            "parameters": {
                "url": "=https:\/\/api.npms.io\/v2\/package\/{{$node[\"Dashboard Configuration\"].json[\"npm_package\"]}}",
                "options": [],
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "User-Agent",
                            "value": "n8n"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "GitHub Watchers",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                820,
                640
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/github_watchers",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage GitHub Data\"].json[\"subscribers_count\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "GitHub Forks",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                820,
                800
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/github_forks",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage GitHub Data\"].json[\"forks_count\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "GitHub Open Issues ",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                620,
                860
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/github_open_issues",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage GitHub Data\"].json[\"open_issues_count\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "GitHub Stars",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                620,
                560
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/github_stars",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage GitHub Data\"].json[\"stargazers_count\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "npm Maintenance",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                830,
                -90
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/npm_maintenance",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "value",
                            "value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"detail\"][\"maintenance\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "npm Popularity",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1030,
                0
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/npm_popularity",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "value",
                            "value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"detail\"][\"popularity\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "npm Quality",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                1030,
                150
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/npm_quality",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "value",
                            "value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"detail\"][\"quality\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "npm Final",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                830,
                190
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/npm_final",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "value",
                            "value": "={{$node[\"Massage npm Data\"].json[\"score\"][\"final\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "Product Hunt Rating",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                630,
                -510
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/prod_hunt_rating",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "value",
                            "value": "={{$node[\"Retrieve Product Hunt Data\"].json[\"data\"][\"post\"][\"reviewsRating\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "Product Hunt Reviews",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                830,
                -410
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/prod_hunt_reviews",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage Product Hunt Data\"].json[\"data\"][\"post\"][\"reviewsCount\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "Product Hunt Votes",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                830,
                -260
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/prod_hunt_votes",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage Product Hunt Data\"].json[\"data\"][\"post\"][\"votesCount\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "Product Hunt Comments",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                630,
                -210
            ],
            "parameters": {
                "url": "={{$node[\"Dashboard Configuration\"].json[\"dashboardHostname\"]}}\/widgets\/prod_hunt_comments",
                "options": [],
                "requestMethod": "POST",
                "bodyParametersUi": {
                    "parameter": [
                        {
                            "name": "auth_token",
                            "value": "={{$node[\"Dashboard Configuration\"].json[\"dashboardAuthToken\"]}}"
                        },
                        {
                            "name": "current",
                            "value": "={{$node[\"Massage Product Hunt Data\"].json[\"data\"][\"post\"][\"commentsCount\"]}}"
                        }
                    ]
                }
            },
            "typeVersion": 1,
            "alwaysOutputData": true
        },
        {
            "name": "GitHub",
            "type": "n8n-nodes-base.github",
            "color": "#FF0000",
            "position": [
                250,
                710
            ],
            "parameters": {
                "owner": "={{$node[\"Dashboard Configuration\"].json[\"github_owner\"]}}",
                "resource": "repository",
                "operation": "get",
                "repository": "={{$node[\"Dashboard Configuration\"].json[\"github_repo\"]}}"
            },
            "credentials": {
                "githubApi": ""
            },
            "typeVersion": 1
        },
        {
            "name": "Retrieve Product Hunt Data",
            "type": "n8n-nodes-base.httpRequest",
            "color": "#FF0000",
            "notes": "Update authorization token",
            "position": [
                250,
                -360
            ],
            "parameters": {
                "url": "https:\/\/api.producthunt.com\/v2\/api\/graphql",
                "options": [],
                "requestMethod": "POST",
                "queryParametersUi": {
                    "parameter": [
                        {
                            "name": "query",
                            "value": "={\n  post(id: {{$node[\"Dashboard Configuration\"].json[\"product_hunt_post_id\"]}}) {\n    commentsCount\n    votesCount\n    reviewsCount\n    reviewsRating\n    name\n  }\n}"
                        }
                    ]
                },
                "headerParametersUi": {
                    "parameter": [
                        {
                            "name": "User-Agent",
                            "value": "n8n"
                        },
                        {
                            "name": "authorization",
                            "value": "Bearer <Enter Product Hunt token here>"
                        }
                    ]
                }
            },
            "notesInFlow": true,
            "typeVersion": 1
        },
        {
            "name": "Massage npm Data",
            "type": "n8n-nodes-base.function",
            "position": [
                440,
                50
            ],
            "parameters": {
                "functionCode": "items[0].json.score.detail.maintenance = parseFloat(items[0].json.score.detail.maintenance.toFixed(2));\nitems[0].json.score.detail.popularity= parseFloat(items[0].json.score.detail.popularity.toFixed(2));\nitems[0].json.score.detail.quality= parseFloat(items[0].json.score.detail.quality.toFixed(2));\nitems[0].json.score.final= parseFloat(items[0].json.score.final.toFixed(2));\n\nreturn items;"
            },
            "typeVersion": 1
        },
        {
            "name": "Massage Product Hunt Data",
            "type": "n8n-nodes-base.function",
            "position": [
                440,
                -360
            ],
            "parameters": {
                "functionCode": "items[0].json.data.post.commentsCount = items[0].json.data.post.commentsCount.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\nitems[0].json.data.post.votesCount= items[0].json.data.post.votesCount.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\nitems[0].json.data.post.reviewsCount= items[0].json.data.post.reviewsCount.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\n\nreturn items;\n"
            },
            "typeVersion": 1
        },
        {
            "name": "Massage Docker Data",
            "type": "n8n-nodes-base.function",
            "position": [
                460,
                300
            ],
            "parameters": {
                "functionCode": "items[0].json.star_count = items[0].json.star_count.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\nitems[0].json.pull_count = items[0].json.pull_count.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\n\nreturn items;\n"
            },
            "typeVersion": 1
        },
        {
            "name": "Massage GitHub Data",
            "type": "n8n-nodes-base.function",
            "position": [
                450,
                710
            ],
            "parameters": {
                "functionCode": "items[0].json.stargazers_count = items[0].json.stargazers_count.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\nitems[0].json.subscribers_count = items[0].json.subscribers_count.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\nitems[0].json.forks_count = items[0].json.forks_count.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\nitems[0].json.open_issues_count = items[0].json.open_issues_count.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \",\");\n\nreturn items;"
            },
            "typeVersion": 1
        }
    ],
    "active": true,
    "settings": [],
    "connections": {
        "Cron": {
            "main": [
                [
                    {
                        "node": "Dashboard Configuration",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "GitHub": {
            "main": [
                [
                    {
                        "node": "Massage GitHub Data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Massage npm Data": {
            "main": [
                [
                    {
                        "node": "npm Maintenance",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "npm Quality",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "npm Popularity",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "npm Final",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Retrieve npm Data": {
            "main": [
                [
                    {
                        "node": "Massage npm Data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Massage Docker Data": {
            "main": [
                [
                    {
                        "node": "Docker Stars",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Docker Pulls",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Massage GitHub Data": {
            "main": [
                [
                    {
                        "node": "GitHub Stars",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "GitHub Watchers",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "GitHub Forks",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "GitHub Open Issues ",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Retrieve Docker Data": {
            "main": [
                [
                    {
                        "node": "Massage Docker Data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Dashboard Configuration": {
            "main": [
                [
                    {
                        "node": "Retrieve Product Hunt Data",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Retrieve npm Data",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Retrieve Docker Data",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "GitHub",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Massage Product Hunt Data": {
            "main": [
                [
                    {
                        "node": "Product Hunt Rating",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Product Hunt Reviews",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Product Hunt Votes",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Product Hunt Comments",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Retrieve Product Hunt Data": {
            "main": [
                [
                    {
                        "node": "Massage Product Hunt Data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Upload video to drive via google script
View
CoinMarketCap_Exchange_and_Community_Agent_Tool
View
Code Webhook Automation Webhook
View
Scrape Web Data with Bright Data, Google Gemini and MCP Automated AI Agent
View
Store the data received from the CocktailDB API in JSON
View
Receive updates for specified tasks in Flow
View
Send daily weather updates via a message in Line
View
Create a new task in Todoist
View
Calendly Filter Create Triggered
View
Create, update, and get a subscriber using the e-goi node
View