ihah/webhook-notifier

允许接收Laravel应用程序的Gitlab/Github webhook,并将通知发送到Slack/Discord频道

dev-master 2020-11-15 17:35 UTC

This package is auto-updated.

Last update: 2024-09-20 21:47:36 UTC


README

Latest Version on Packagist Total Downloads

Webhook-notifier包允许接收Laravel应用程序的GitLab/Github webhook有效载荷,并根据有效载荷类型将通知发送到多个Slack/Discord频道。

一键配置,易于设置。

包状态:开发中

安装

您可以通过composer安装此包

composer require ihah/webhook-notifier

发布配置文件

php artisan vendor:publish --provider="Ihah\WebhookNotifier\WebhookNotifierServiceProvider" --tag=config

使用方法

Gitlab + Slack

默认情况下,Gitlab通知webhook到Slack为

domain.com/gitlab/notify/slack
  1. 在.env文件中定义GITLAB_TOKEN
  • GITLAB_TOKEN用于检查请求是否来自GitLab。
  • GITLAB_TOKEN应在GitLab中设置为webhook的密钥令牌(更多信息请参阅GitLab webhook信息)。
  1. 配置../config/webhook-notifier.php文件
  • Slack的入站webhook URL应始终在.env文件中定义,因为它们包含您的频道的密钥,如果泄露则可能会被阻止。(更多信息请参阅Slack入站webhook信息
  • all数组 - 将所有支持的通知发送到指定的频道
  • push数组 - 将所有推送通知发送到指定的频道
// .../config/webhook-notifier.php

'gitlab_token' => env('GITLAB_TOKEN'),
    'slack' => [
        'prefix' => 'gitlab/notify/',
        'middleware'=> [],
        'channels' => [
            'all' => [
                [
                    'name' => 'ricks-gitlab-channel',
                    'url' => env('RICKS_SLACK_CHANNEL_URL')
                ]
            ],

            'push' => [
                [
                    'name' => 'toms-gitlab-channel',
                    'url' => env('TOMS_SLACK_CHANNEL_URL')
                ],
                [
                    'name' => 'jams-gitlab-channel',
                    'url' => env('JAMS_SLACK_CHANNEL_URL')
                ],
            ]
        ],
    ],

测试

composer test

路线图

GitLab

  • GitLab推送事件
  • GitLab问题事件
  • GitLab合并请求事件

GitHub

  • GitHub推送事件
  • GitHub问题事件
  • GitHub合并请求事件

Slack

  • GitLab推送通知到多个频道
  • GitLab问题通知到多个频道
  • GitLab合并通知到多个频道
  • GitHub推送通知到多个频道
  • GitHub问题通知到多个频道
  • GitHub合并通知到多个频道

Discord:

  • GitLab推送通知到多个频道
  • GitLab问题通知到多个频道
  • GitLab合并通知到多个频道
  • GitHub推送通知到多个频道
  • GitHub问题通知到多个频道
  • GitHub合并通知到多个频道

其他

  • 支持事件和监听器
  • 使用队列发送通知

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件ernestasdev@gmail.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。更多信息请参阅许可文件