自动分配gitlab/heptapod上的审查
项目描述
该项目旨在自动将未分配的挂起合并请求分配到gitlab/heptapod实例上。
项目的每个成员都可以随机分配到待处理的合并请求中。
Assignbot根据用户的偏好分配审查任务,这些偏好存储在简单的yaml文件中。分配的历史记录存储在CSV文件中,位于S3存储中。
偏好文件
用户在偏好文件中定义他们的“审查偏好”,格式为yaml。
“偏好文件”是一个按以下方式构建的yaml文件:
username_1: max_auto_review_per_week: XXX max_auto_review_per_day: YYY username_2: max_auto_review_per_week: ZZZ max_auto_review_per_day: WWW
其中 username_1 是gitlab用户的用户名,而 max_auto_review_per_week (max_auto_review_per_day)是每周(每天)自动分配的审查的最大数量。
S3存储
Assignbot使用CSV文件来跟踪用户的分配。此CSV文件存储在S3存储中。当您执行该机器人时,您必须提供以下环境变量
AWS_ACCESS_KEY_ID:您的S3密钥ID
AWS_SECRET_ACCESS_KEY:您的S3秘密访问密钥
S3_ENDPOINT_URL:您的S3端点URL
S3_BUCKET_NAME:要使用的S3存储桶
执行机器人
安装assignbot后,您可以按以下方式运行它:
$ GITLAB_URL="https://your.forge.org" \
GITLAB_TOKEN="XXX-an-api-token" \
S3_ENDPOINT_URL="https://your.s3.storage.fr" \
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
然后,机器人应该开始将合并请求分配给用户。
用例示例
要使用此机器人,您可以在您的 forge 上添加一个新的存储库,并使用以下 .gitlab-ci.yml
assign:
stage: assign
only:
- schedules
variables:
# there is a gitlab bug in the validation of AWS variables. We work
# around it while waiting for the correction.
# see: https://gitlab.com/gitlab-org/gitlab/-/issues/215927
AWS_ACCESS_KEY_ID: "$_AWS_ACCESS_KEY_ID"
AWS_SECRET_ACCESS_KEY: "$_AWS_SECRET_ACCESS_KEY"
script:
- pip install assignbot
- python -m assignbot ./users_preferences.yml
此作业假定您已定义了适当的环境变量,并且在此存储库的根目录中有一个 users_preferences.yml 文件。
然后,您可以在gitlab中创建一个新的“定时任务”,以定期调用此任务。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
assignbot-2.2.2.tar.gz (12.3 kB 查看哈希值)
构建分发
assignbot-2.2.2-py3-none-any.whl (14.2 kB 查看哈希值)
关闭
assignbot-2.2.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9748e40b29473c861e1a835e27c4bc0a45a8353a9e08cb1b0418e619c8d21873 |
|
MD5 | 71701871f779078c4b1ceff3acd3250b |
|
BLAKE2b-256 | ca97a1ea76c05503827d0ceb7c04bd03aa5bcb00938c4c23c7ff36e4dab4ef10 |
关闭
assignbot-2.2.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef67aa7bf49abb4e0eb3e13d542a05c2f71cfadd732b757220c52d3cfd0b6879 |
|
MD5 | f462d5e85ee021ab0a79002442b7dcac |
|
BLAKE2b-256 | 592665c16f0cdc74560e0e957eb459572532d6ab90941174d164365276f5159b |