Software /
code /
prosody-modules
Diff
mod_pubsub_github/README.md @ 6211:750d64c47ec6 draft default tip
Merge
author | Trần H. Trung <xmpp:trần.h.trung@trung.fun> |
---|---|
date | Tue, 18 Mar 2025 00:31:36 +0700 |
parent | 6003:fe081789f7b5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_pubsub_github/README.md Tue Mar 18 00:31:36 2025 +0700 @@ -0,0 +1,61 @@ +--- +labels: +- 'Stage-Beta' +summary: Publish Github commits over pubsub +--- + +## Introduction + +This module accepts Github web hooks and publishes them to a local +pubsub component for XMPP clients to subscribe to. + +Entries are pushed as Atom payloads. + +It may also work with Gitlab. + +## Configuration + +Load the module on a pubsub component: + +``` {.lua} +Component "pubsub.example.com" "pubsub" + modules_enabled = { "pubsub_github" } + github_secret = "NP7bZooYSLKze96TQMpFW5ov" +``` + +The URL for Github to post to would be either: + +- `http://pubsub.example.com:5280/pubsub_github` +- `https://pubsub.example.com:5281/pubsub_github` + +The module also takes the following config options: + + Name Default Description + ----------------------- ------------------- ------------------------------------------------------------ + `github_node` `"github"`{.lua} The pubsub node to publish commits on. + `github_secret` **Required** Shared secret used to sign HTTP requests. + `github_node_prefix` `"github/"`{.lua} + `github_node_mapping` *not set* Field in repository object to use as node instead of `github_node` + `github_actor` *superuser* Which actor to do the publish as (used for access control) + +More advanced example + +``` {.lua} +Component "pubsub.example.com" "pubsub" + modules_enabled = { "pubsub_github" } + github_actor = "github.com" + github_node_mapping = "name" --> github_node_prefix .. "repo" + -- github_node_mapping = "full_name" --> github_node_prefix .. "owner/repo" + github_secret = "sekr1t" +``` + +If your HTTP host doesn't match the pubsub component's address, you will +need to inform Prosody. For more info see Prosody's [HTTP server +documentation](https://prosody.im/doc/http#virtual_hosts). + +## Compatibility + + ------ ------------- + 0.10 Should work + 0.9 Works + ------ -------------