使用GitLab Python库判断一个mr是否完全approval

import gitlab

# GitLab server URL and personal access token
gitlab_url = 'https://gitlab.example.com'
private_token = 'your_personal_access_token'

# ID of the project and merge request
project_id = 1234
merge_request_iid = 5678

# Create GitLab client
gl = gitlab.Gitlab(gitlab_url, private_token)

# Get the project
project = gl.projects.get(project_id)

# Get the merge request
mr = project.mergerequests.get(merge_request_iid)

# Get the approval status of the merge request
all_approved = mr.approval_state.get()

for rule in all_approved.rules:
   if rule.get('approved')==False:
       print("Not all approvals received.")
       break
else:
	print("All approvals received.")

mr.approval_state.get()返回的格式:

<class 'gitlab.v4.objects.merge_request_approvals.ProjectMergeRequestApprovalState'> => {
  'approval_rules_overwritten': True,
  'rules': [
    {
      'id': 12345,
      'name': 'All Members',
      'rule_type': 'any_approver',
      'eligible_approvers': [],
      'approvals_required': 1,
      'users': [],
      'groups': [],
      'contains_hidden_groups': False,
      'section': None,
      'source_rule': {
        'approvals_required': 1
      },
      'overridden': False,
      'code_owner': False,
      'approved_by': [
        {
          'id': 121,
          'username': 'xxx',
          ......
        },
        {
          'id': 122,
          'username': 'xxx',
          ......
        }
      ],
      'approved': True
    },

所有rule的approved为True则表明全部approved。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 09:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 09:26:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 09:26:03       82 阅读
  4. Python语言-面向对象

    2024-03-12 09:26:03       91 阅读

热门阅读

  1. 安装 WPS 国际版并汉化

    2024-03-12 09:26:03       156 阅读
  2. 用python实现选择排序

    2024-03-12 09:26:03       56 阅读
  3. 软考笔记--层次式架构之表现层框架设计

    2024-03-12 09:26:03       47 阅读
  4. CSS note

    2024-03-12 09:26:03       52 阅读
  5. Spring Boot面试系列-02

    2024-03-12 09:26:03       46 阅读
  6. kuberadm搭建k8s集群

    2024-03-12 09:26:03       45 阅读
  7. 第九节 JDBC数据类型

    2024-03-12 09:26:03       45 阅读
  8. Spring Boot实现热部署有哪几种方式

    2024-03-12 09:26:03       37 阅读