Maunium GitLab bot
A Gitlab bot for Matrix. It uses mautrix, go-playground webhooks and go-gitlab
Discussion
Matrix room: #maulabbot:maunium.net
Features
-
Spam a Matrix room using GitLab webhooks
-
Issues/merge requests
- Comments
- Push events
- Tag creation
- Pipeline events
- Wiki page edits
-
Issues/merge requests
-
Log in to GitLab accounts (per-user)
- [Maybe] Allow logging in to multiple GitLab servers and add a per-room config of which server to use in that room by default.
-
Commits
- View full commit messages
- View commit diffs
- View commit history
-
Issue management
- Read issues
- Create/close/reopen issues
- Read comments on issues
- Comment on issues
- Shorter commands
Usage
Configure the bot by copying example-config.json
to config.json
and
filling out the fields.
Docker
- Create a directory for the bot and cd into it.
- Pull the docker image with
docker pull docker.io/maubot/gitlab:latest
. - Make a config file as described above
- Run the bot:
docker run --restart unless-stopped -v `pwd`:/etc/maulabbot:z docker.io/maubot/gitlab:latest
Webhooks
When adding a GitLab webhook, add the internal room ID as a query string in the
field room
. For example, if the address + path is https://example.com/webhook
,
you could add https://example.com/webhook?room=!HweXqCwBqJzepVovYt:matrix.org
as the webhook URL and the bot would send notifications to the room whose
internal ID is !HweXqCwBqJzepVovYt:matrix.org
.
Commands
You should log in with your GitLab access token, since most commands require
authentication. You can log in by sending !gitlab login <access token>
to the
bot in a private room.
The bot only handles commands prefixed with !gitlab
. Use !gitlab help
for help.