{"repo":"m-mizutani/ghnotify","free":true,"listed":false,"github":"https://github.com/m-mizutani/ghnotify","clone":"git clone https://github.com/m-mizutani/ghnotify.git","description":"General GitHub event notification tool to Slack with Open Policy Agent and Rego","language":"Go","stars":21,"topics":["github-actions","go","slack"],"license":"Apache-2.0","category":"chat-messaging","readme_excerpt":"ghnotify ghnotify is a general GitHub event notification tool to Slack with Open Policy Agent and Rego. There are a lot of notification tools from GitHub to Slack. However, in most case, notification rules are deeply integrated with source code implementation and customization of notification rule by end-user is limited. ghnotify uses generic policy language Rego and OPA as runtime to separate implementation and policy completely. Therefore, ghnotify can handle and notify all type of GitHub event , not only issue/PR comments but also such as following events according to your Rego policy. - GitHub Actions success/failure - deploy key creation - push to specified branch - add/remove a label - repository creation, archived, transferred - team modification - a new GitHub App installation Setup 1) Retrieve Bot User OAuth Token of Slack Create your Slack bot and keep OAuth Tokens for Your Workspace in OAuth & Permissions page. 2) Creating Rego policy ghnotify evaluates received GitHub event one by one. If notify variable exists in evaluation results, ghnotify notifies a message to Slack according to the results. Policy rules are following. Input : What data will be provided - input.name : Event name. It comes from X-GitHub-Event header. - input.event : Webhook events. See docs for more detail and schema. Result : What data should be returned - notify : Set of notification messages - notify[ ].channel : Destination channel of Slack. It can be used by only API token - notify[ ].text","default_branch":null,"files":null,"tree":[],"storefront":"/r/m-mizutani","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/m-mizutani/ghnotify/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}