workflows.fit
Back to n8n workflows
n8n templateFreeBy RamS

Monitor GitHub repo access and push events with GitHub and Slack alerts

Monitor GitHub Repositories for Unauthorized Actions How it works: This workflow monitors GitHub for high-risk activities to ensure that only authorized users can modify the repository. It periodically polls GitHub fo...

DevelopmentCore NodesCommunicationHITLSchedule TriggerCodeData TableHttp Request
Loading interactive preview...

Template notes

Monitor GitHub Repositories for Unauthorized Actions

How it works:

This workflow monitors GitHub for high-risk activities to ensure that only authorized users can modify the repository. It periodically polls GitHub for events such as PushEvent, MemberEvent, and PublicEvent.

For each event, the workflow extracts the username of actor and looks it up in the itwhitelist data table to determine the user’s role. A Switch node then routes the event to the appropriate validation logic.

• Member & Public events: Only users with the admin role are allowed. Any non-admin action such as adding a repository member or changing a private repository to public triggers an alert. • Push events: The user must exist in the whitelist. If no role is found, the user is treated as unknown and flagged.

All unauthorized actions are reported to Slack, including the event type, actor name, and repository details.

Setup steps: Credentials: Connect your GitHub Personal Access Token and Slack Bot Token.

Create a Data Table named itwhitelist with columns githubusername and role. Add your GitHub username with the role admin to prevent self-alerts. Accordingly, add other developers and members in your organization with appropriate roles to white list them.