A Gitlab bot for Matrix. It uses mautrix, go-playground webhooks and go-gitlab
- 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
Configure the server by copying example-config.json
to config.json
and
filling out the fields.
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
.
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.