Skip to main content

Automatically assign review on gitlab/heptapod

Project description

This project aims to automatically assign unassigned pending merge-requests on a gitlab/heptapod instance.

Each member of a project can be randomly assigned to a pending merge-requests.

Assignbot assigns reviews to users, based on their preferences. Their preferences are store in a simple yaml file. The history of the assignment is stored in a CSV file, in a S3 storage.

The preferences file

The users define their “review preferences” in a preferences file, formatted in yaml.

The “preferences file” is a yaml file constructed as follow :

    max_auto_review_per_week: XXX
    max_auto_review_per_day: YYY
    max_auto_review_per_week: ZZZ
    max_auto_review_per_day: WWW

where username_1 is the username of a gitlab user, and max_auto_review_per_week (max_auto_review_per_day) is the maximum of automatically assigned review per week (per day).

The S3 storage

Assignbot uses a CSV file to keep track of users assignments. This CSV file is stored in an S3 storage. When you execute the bot, you must provide the following environment variables:

  • AWS_ACCESS_KEY_ID: your S3 key ID

  • AWS_SECRET_ACCESS_KEY: your S3 secret access key

  • S3_ENDPOINT_URL: your S3 endpoint url

  • S3_BUCKET_NAME: the S3 bucket to be used

Executing the bot

Once assignbot installed, you can run it as follow :

  GITLAB_TOKEN="XXX-an-api-token" \
  S3_BUCKET_NAME="you_bucket_name" \
  AWS_SECRET_ACCESS_KEY="your_secret_access_key" \
  AWS_ACCESS_KEY_ID="your_access_key_id" \
  python3 -m assignbot ./users_preferences.yml

and the bot should start assigning merge requests to the users.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

assignbot-0.1.0.tar.gz (2.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page