{"id":28610938,"url":"https://github.com/asikur-dev/github-webhook-notifier-server","last_synced_at":"2026-05-07T10:31:19.745Z","repository":{"id":298510613,"uuid":"1000221317","full_name":"asikur-dev/github-webhook-notifier-server","owner":"asikur-dev","description":"Automating GitHub Push Notifications to Discord - Streamline your development workflow by automatically sending GitHub push notifications to a Discord channel. This setup uses a Node.js server to process webhook events, extract key details like usernames and commit messages, and deliver customizable alerts with fallback options for robustness.","archived":false,"fork":false,"pushed_at":"2025-06-12T08:27:32.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-18T23:28:47.770Z","etag":null,"topics":["asikur","discord-push","github","github-actions","push-notifications"],"latest_commit_sha":null,"homepage":"https://github-webhook-notifier-server.onrender.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asikur-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-11T12:55:08.000Z","updated_at":"2025-06-12T08:27:35.000Z","dependencies_parsed_at":"2025-06-11T13:56:36.362Z","dependency_job_id":"ea59eebf-f1b5-4470-a9b1-708738c626dd","html_url":"https://github.com/asikur-dev/github-webhook-notifier-server","commit_stats":null,"previous_names":["asikur-dev/github-webhook-notifier-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asikur-dev/github-webhook-notifier-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asikur-dev%2Fgithub-webhook-notifier-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asikur-dev%2Fgithub-webhook-notifier-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asikur-dev%2Fgithub-webhook-notifier-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asikur-dev%2Fgithub-webhook-notifier-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asikur-dev","download_url":"https://codeload.github.com/asikur-dev/github-webhook-notifier-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asikur-dev%2Fgithub-webhook-notifier-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32733377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asikur","discord-push","github","github-actions","push-notifications"],"created_at":"2025-06-11T23:07:58.551Z","updated_at":"2026-05-07T10:31:19.727Z","avatar_url":"https://github.com/asikur-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub to Discord Push Notification\n\nAn automated system to send GitHub **push event** notifications to a Discord channel using webhooks. Built with **Node.js**, this project listens to GitHub webhook payloads and sends customizable messages to keep your team updated in real-time.\n\n---\n\n## 🚀 Features\n\n* **Real-time notifications** for GitHub push events\n* **Customizable messages** via query parameters\n* **Robust fallbacks** for missing payload data\n* **Easy to deploy** on platforms like Render\n* **Support for multiple GitHub events** with extensibility\n\n---\n\n## 🔧 Prerequisites\n\n* Node.js (\u003e= 18.0.0)\n* A Discord server with a webhook URL\n* Access to a GitHub repository\n\n---\n\n## 📦 Installation\n\n```bash\ngit clone \u003crepository-url\u003e\ncd \u003crepository-folder\u003e\nnpm install\n```\n\n---\n\n## ⚙️ Configuration\n\nCreate a `.env` file in the root:\n\n```env\nDISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your-webhook-id/your-webhook-token\n```\n\n\u003e ⚠️ Do **NOT** commit `.env` — add it to `.gitignore`\n\n---\n\n## 🖥️ Running the Server Locally\n\n```bash\nnpm start\n```\n\n### 🟢 Render Deployment\n\n* Ensure your server listens to `process.env.PORT || 9000`\n* Set `DISCORD_WEBHOOK_URL` in Render’s environment settings\n* Deploy the project to Render\n\n---\n\n## 🔗 GitHub Webhook Setup\n\n1. Go to your GitHub repository → **Settings** → **Webhooks** → **Add webhook**\n2. **Payload URL**: `https://your-server.onrender.com/github-webhook`\n3. **Content Type**: `application/json`\n4. **Events to Trigger**: Select `Let me select individual events` and check `Pushes`\n5. **Save** the webhook\n\n---\n\n## ⚙️ How It Works\n\n### Server Operation\n\n* The server runs on `/github-webhook`\n* Extracts commit data: username, repository name, commit message, URL\n* Supports optional query string: `?message=` or `?data=` (default: `Asikur (default user)`)\n\n### Discord Notification\n\n* Sends message to `DISCORD_WEBHOOK_URL`\n* Format:\n\n  ```\n  Someone pushed to Unknown Repository: No commit message (No commit URL) - Custom note: Asikur (default user)\n  ```\n\n### Extending Support\n\n* Add event handlers in `index.js` for other GitHub events (e.g., pull requests, issues, releases)\n* Use `payload.action` or `payload` structure to customize the message\n\n---\n\n## 🎯 Benefits\n\n* 📡 **Instant Updates**: Avoid manual status updates\n* ⚙️ **Efficient Workflow**: Streamlined team communication\n* ✏️ **Custom Notes**: Add context with `?message=` or `?data=`\n* 🔄 **Reliable Defaults**: Handles missing GitHub fields\n* 📢 **Scalable Integration**: Supports multiple channels or repositories\n\n---\n\n## 📈 Use Cases\n\n* 🚀 Push to GitHub → Auto notify on Discord\n* 🔧 Pass custom notes with push using query parameters\n* 🧑‍💻 Collaborate better with real-time updates\n\n---\n\n## 🧪 Troubleshooting\n\n* **404 Error**: Ensure server is running and endpoint URL is correct\n* **500 Error**: Check `DISCORD_WEBHOOK_URL` validity\n* **No Notification**: Confirm GitHub webhook is active and push event is selected\n\n---\n\n## 🧩 Customizing Events\n\nGo to **Webhook Settings → Let me select individual events**:\n\n* ✅ Pushes *(default implemented)*\n* 🔃 Pull Requests\n* 🐞 Issues\n* 🚀 Releases\n\nUpdate `index.js` to parse and send messages for those events accordingly.\n\n---\n\n## 🤝 Contributing\n\nPull requests and issue reports are welcome!\n\n---\n\n## 📜 License\n\nThis project is licensed under the **ISC License**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasikur-dev%2Fgithub-webhook-notifier-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasikur-dev%2Fgithub-webhook-notifier-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasikur-dev%2Fgithub-webhook-notifier-server/lists"}