community.general.gitlab_group 模块 – 创建/更新/删除 GitLab 组
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:community.general.gitlab_group。
摘要
- 如果 GitLab 中不存在该组,则会创建它。 
- 如果该组存在且 state=absent,则会删除该组。 
要求
执行此模块的主机需要以下要求。
- python-gitlab Python 模块 
- requests (Python 库 https://pypi.ac.cn/project/requests/) 
参数
| 参数 | 注释 | 
|---|---|
| 用于登录的 GitLab CI 作业令牌。 | |
| 用于登录的 GitLab OAuth 令牌。 | |
| 用于对 API 进行身份验证的密码。 | |
| 具有 API 权限的 GitLab 访问令牌。 | |
| API 的可解析端点。 | |
| 用于对 API 进行身份验证的用户名。 | |
| 为此组中的所有项目默认使用 Auto DevOps 管道。 选项 
 | |
| 配置头像的绝对路径图像。文件大小不应超过 200 kb。 此选项仅在创建时使用,不用于更新。 | |
| 用于验证 GitLab 服务器证书的 CA 证书包。 | |
| 除非您指定不同的分支,否则所有合并请求和提交都针对此分支进行。 | |
| 组的描述。 | |
| 
 
 
 仅适用于顶级组。 选项 
 | |
| 此组中的项目可以使用 Git LFS。 选项 
 | |
| 对所有子组强制执行 GitLab Duo 功能。 仅适用于顶级组。 选项 
 | |
| 无法将用户添加到此组中的项目。 选项 
 | |
| 组提及已禁用。 选项 
 | |
| 您要创建的组的名称。 | |
| 允许创建子组 父组的 ID 或完整路径,格式为 group/name | |
| 您要创建的组的路径,这将是 api_url/group_path 如果不提供,则将使用 group_name。 | |
| 防止在组外分叉。 选项 
 | |
| 成员无法邀请此组及其子组之外的组。 仅适用于顶级组。 选项 
 | |
| 确定开发人员是否可以在组中创建项目。 选项 
 | |
| 用户可以请求访问权限(如果可见性为公共或内部)。 选项 
 | |
| 要求此组中的所有用户都设置双因素身份验证。 选项 
 | |
| 服务帐户令牌过期。 更改不会影响现有的令牌过期日期。 仅适用于顶级组。 选项 
 | |
| 项目不能与其他组共享。 选项 
 | |
| 创建或删除组。 可能的值为 present 和 absent。 选项 
 | |
| 允许创建子组。 选项 
 | |
| 延迟 2FA 执行(小时)。 | |
| 提供 HTTPS 端点时是否验证 SSL 证书。 选项 
 | |
| 组的默认可见性 选项 
 | |
| 
 
 
 选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持:完全支持 | 可以在 | |
| 支持:不支持 | 在差异模式下,将返回有关已更改内容(或可能需要在 | 
示例
- name: "Delete GitLab Group"
  community.general.gitlab_group:
    api_url: https://gitlab.example.com/
    api_token: "{{ access_token }}"
    name: my_first_group
    state: absent
- name: "Create GitLab Group"
  community.general.gitlab_group:
    api_url: https://gitlab.example.com/
    validate_certs: true
    api_username: dj-wasabi
    api_password: "MySecretPassword"
    name: my_first_group
    path: my_first_group
    state: present
# The group will by created at https://gitlab.dj-wasabi.local/super_parent/parent/my_first_group
- name: "Create GitLab SubGroup"
  community.general.gitlab_group:
    api_url: https://gitlab.example.com/
    validate_certs: true
    api_username: dj-wasabi
    api_password: "MySecretPassword"
    name: my_first_group
    path: my_first_group
    state: present
    parent: "super_parent/parent"
# Other group which only allows sub-groups - no projects
- name: "Create GitLab Group for SubGroups only"
  community.general.gitlab_group:
    api_url: https://gitlab.example.com/
    validate_certs: true
    api_username: dj-wasabi
    api_password: "MySecretPassword"
    name: my_main_group
    path: my_main_group
    state: present
    project_creation_level: noone
    auto_devops_enabled: false
    subgroup_creation_level: maintainer
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| GitLab API返回的错误消息 返回值:失败 示例: | |
| API 对象 返回值:始终返回 | |
| 成功或失败消息 返回值:始终返回 示例: | |
| 从服务器解析的JSON响应 返回值:始终返回 | 
