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,则会删除该组。

要求

执行此模块的主机需要以下要求。

参数

参数

注释

api_job_token

字符串

在 community.general 4.2.0 中添加

用于登录的 GitLab CI 作业令牌。

api_oauth_token

字符串

在 community.general 4.2.0 中添加

用于登录的 GitLab OAuth 令牌。

api_password

字符串

用于对 API 进行身份验证的密码。

api_token

字符串

具有 API 权限的 GitLab 访问令牌。

api_url

字符串

API 的可解析端点。

api_username

字符串

用于对 API 进行身份验证的用户名。

auto_devops_enabled

布尔值

在 community.general 3.7.0 中添加

为此组中的所有项目默认使用 Auto DevOps 管道。

选项

  • false

  • true

avatar_path

路径

在 community.general 4.2.0 中添加

配置头像的绝对路径图像。文件大小不应超过 200 kb。

此选项仅在创建时使用,不用于更新。

ca_path

字符串

在 community.general 8.1.0 中添加

用于验证 GitLab 服务器证书的 CA 证书包。

default_branch

字符串

在 community.general 9.5.0 中添加

除非您指定不同的分支,否则所有合并请求和提交都针对此分支进行。

description

字符串

组的描述。

enabled_git_access_protocol

字符串

在 community.general 9.5.0 中添加

all 表示启用 SSH 和 HTTP(S)。

ssh 表示仅启用 SSH。

http 表示仅启用 HTTP(S)。

仅适用于顶级组。

选项

  • "all"

  • "ssh"

  • "http"

force_delete

布尔值

在 community.general 7.5.0 中添加

即使组中包含项目,也强制删除组。

仅当 state=absent 时使用。

选项

  • false ← (默认)

  • true

lfs_enabled

布尔值

在 community.general 9.5.0 中添加

此组中的项目可以使用 Git LFS。

选项

  • false

  • true

lock_duo_features_enabled

布尔值

在 community.general 9.5.0 中添加

对所有子组强制执行 GitLab Duo 功能。

仅适用于顶级组。

选项

  • false

  • true

membership_lock

布尔值

在 community.general 9.5.0 中添加

无法将用户添加到此组中的项目。

选项

  • false

  • true

mentions_disabled

布尔值

在 community.general 9.5.0 中添加

组提及已禁用。

选项

  • false

  • true

name

字符串 / 必需

您要创建的组的名称。

parent

字符串

允许创建子组

父组的 ID 或完整路径,格式为 group/name

路径

字符串

您要创建的组的路径,这将是 api_url/group_path

如果不提供,则将使用 group_name。

prevent_forking_outside_group

布尔值

在 community.general 9.5.0 中添加

防止在组外分叉。

选项

  • false

  • true

prevent_sharing_groups_outside_hierarchy

布尔值

在 community.general 9.5.0 中添加

成员无法邀请此组及其子组之外的组。

仅适用于顶级组。

选项

  • false

  • true

project_creation_level

字符串

在 community.general 3.7.0 中添加

确定开发人员是否可以在组中创建项目。

选项

  • "developer"

  • "maintainer"

  • "noone"

request_access_enabled

布尔值

在 community.general 9.5.0 中添加

用户可以请求访问权限(如果可见性为公共或内部)。

选项

  • false

  • true

require_two_factor_authentication

布尔值

在 community.general 3.7.0 中添加

要求此组中的所有用户都设置双因素身份验证。

选项

  • false

  • true

service_access_tokens_expiration_enforced

布尔值

在 community.general 9.5.0 中添加

服务帐户令牌过期。

更改不会影响现有的令牌过期日期。

仅适用于顶级组。

选项

  • false

  • true

share_with_group_lock

布尔值

在 community.general 9.5.0 中添加

项目不能与其他组共享。

选项

  • false

  • true

state

字符串

创建或删除组。

可能的值为 present 和 absent。

选项

  • "present" ← (默认)

  • "absent"

subgroup_creation_level

字符串

在 community.general 3.7.0 中添加

允许创建子组。

选项

  • "maintainer"

  • "owner"

two_factor_grace_period

字符串

在 community.general 9.5.0 中添加

延迟 2FA 执行(小时)。

validate_certs

布尔值

提供 HTTPS 端点时是否验证 SSL 证书。

选项

  • false

  • true ← (默认)

visibility

字符串

组的默认可见性

选项

  • "private" ← (默认)

  • 内部

  • 公共

wiki_access_level

字符串

在 community.general 9.5.0 中添加

enabled 表示每个人都可以访问Wiki。

private 表示只有该组成员可以访问Wiki。

disabled 表示组级Wiki已禁用。

选项

  • 已启用

  • 私有

  • 已禁用

属性

属性

支持

描述

check_mode

支持:完全支持

可以在check_mode下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在check_mode下更改的内容)的详细信息。

示例

- 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

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

error

字符串

GitLab API返回的错误消息

返回值:失败

示例:"400: path is already in use"

group

字典

API 对象

返回值:始终返回

msg

字符串

成功或失败消息

返回值:始终返回

示例:"Success"

result

字典

从服务器解析的JSON响应

返回值:始终返回

作者

  • Werner Dijkerman (@dj-wasabi)

  • Guillaume Martinez (@Lunik)