Getting Started
First, create a user for marge-bot on your GitLab instance. We'll use marge-bot
as
username here as well. GitLab sorts users by Name, so we recommend you pick one
that starts with a space, e.g. Marge Bot
, so it is quicker to assign to (our
code strips trailing whitespace in the name, so it won't show up elsewhere).
Then add marge-bot
to your projects as Developer
or Maintainer
, the latter
being required if she will merge to protected branches.
For certain features, namely, --impersonate-approvers
, and --add-reviewers
,
you will need to grant marge-bot
admin privileges as well. In the latter, so
that she can query the email of the reviewers to include it in the commit. Note
that if you're trying to run marge-bot against a GitLab instance you don't have
yourself admin access to (e.g. https://www.gitlab.com), you won't be able to use
features that require admin for marge-bot.
Second, you need an authentication token for the marge-bot
user. You will need
to select the api
and read_user
scopes in all cases.
If marge-bot was made an admin to handle approver impersonation and/or adding a
reviewed-by field, then you will also need to add sudo
scope under
Impersonation Tokens
in the User Settings. Assuming your GitLab install is
install is https://your-gitlab.example.com
the link will be at
https://your-gitlab.example.com/admin/users/marge-bot/impersonation_tokens
.
On older GitLab installs, to be able to use impersonation features if marge-bot
was made an admin, use the PRIVATE TOKEN found in marge-bot's Profile
Settings
; otherwise just use a personal token (you will need to impersonate the
marge-bot user via the admin UI to get the private token, it should then be at
http://my-gitlab.example.com/profile/personal_access_tokens
reachable via
Profile Settings -> Access Tokens
).
Once you have the token, put it in a file, e.g. marge-bot.token
.
Finally, create a new ssh key-pair, e.g like so
ssh-keygen -t ed25519 -C marge-bot@invalid -f marge-bot-ssh-key -P ''
Add the public key (marge-bot-ssh-key.pub
) to the user's SSH Keys
in GitLab
and keep the private one handy.
Once you've set up the user, configure the options to your liking and choose one of the deployment options to start running.