leonjza/php-gitlab-jabberhook

一个用于解析 Gitlab Webhooks 并通过 XMPP 通知的小型库

0.1 2014-10-16 12:06 UTC

This package is auto-updated.

Last update: 2024-09-14 02:40:17 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

这是一个简单的项目,用于解析 Gitlab Webhooks 并通过 XMPP 发送通知。
主要思想是将消息发送到广播服务。这个库主要使用 Openfire jabber 服务器进行测试,但可能在其他许多服务器上也能正常工作。

安装

安装相对简单。确保您有 composer,并执行以下命令:

php composer.phar create-project leonjza/php-gitlab-jabberhook gitlab-notifier "dev-master"
其中 gitlab-notifier 是您希望安装到的目录名称。

接下来,创建入口点文件(您可以命名为任何您想要的名称),您的 webhook 将 POST 到该文件(例如从 examples/test.php)

// File hook.php
<?php

require 'vendor/autoload.php';

$input = file_get_contents('php://input');

$message = new \GitlabXMPPHook\Read($input);
$message = $message->parse();

$jabber = new \GitlabXMPPHook\Client();
$jabber->setOptions('server.local', 5222, 'username@server.local', 'password');
$jabber->call('message')->send($message, 'gitlab_users@broadcast.server.local');

确保此文件可通过您的 web 服务器访问,并在您的 Gitlab 安装中设置服务钩子。建议包含所有项目文件的目录不是世界可访问的,并且 hook.php 文件是 web 目录中唯一的符号链接。

最后,确保您已经修改了 setOptions() 调用,并使用有效的 Jabber 服务器和 JID。

##联系 @leonjza