/maulabbot

A GitLab bot for Matrix

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Maunium GitLab bot

A Gitlab bot for Matrix. It uses mautrix, go-playground webhooks and go-gitlab

Features

  • Spam a Matrix room using GitLab webhooks
    • Issues/merge requests
      • Comments
    • Push events
    • Tag creation
    • Pipeline events
    • Wiki page edits
  • 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 server by copying example-config.json to config.json and filling out the fields.

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.