Skip to content
Snippets Groups Projects
README.md 1.59 KiB
Newer Older
  • Learn to ignore specific revisions
  • Tulir Asokan's avatar
    Tulir Asokan committed
    Maunium GitLab bot
    ==================
    
    A Gitlab bot for Matrix. It uses
    [mautrix](https://github.com/tulir/mautrix),
    [go-playground webhooks](https://github.com/go-playground/webhooks) and
    [go-gitlab](https://github.com/xanzy/go-gitlab)
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    ## Features
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    * [x] Spam a Matrix room using GitLab webhooks
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    	* [X] Issues/merge requests
    		* [X] Comments
    	* [X] Push events
    	* [ ] Tag creation
    	* [ ] Pipeline events
    	* [ ] Wiki page edits
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    * [x] Log in to GitLab accounts (per-user)
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    	* [ ] [Maybe] Allow logging in to multiple GitLab servers and add a per-room config of which server to use in that room by default.
    
    * [x] Commits
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    	* [x] View full commit messages
    
    	* [x] View commit diffs
    	* [x] View commit history
    
    * [x] Issue management
    
    	* [x] Create/close/reopen issues
    
    	* [x] Read comments on issues
    
    	* [x] Comment on issues
    
    * [ ] Shorter commands
    
    Tulir Asokan's avatar
    Tulir Asokan committed
    
    ## 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.