community.general.gitlab_issue 模块 – 创建、更新或删除 GitLab 问题

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在剧本中使用它,请指定:community.general.gitlab_issue

community.general 8.1.0 中的新增功能

概要

  • 如果问题不存在,则创建问题。

  • 当问题确实存在时,如果提供的参数不同,则会更新该问题。

  • 当问题确实存在且 state=absent 时,该问题将被删除。

  • 当检测到多个问题时,任务将失败。

  • 现有问题基于 titlestate_filter 过滤器进行匹配。

要求

以下要求需要在执行此模块的主机上满足。

参数

参数

注释

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 身份验证的用户名。

assignee_ids

列表 / 元素=字符串

省略 @ 字符的被分配人用户名列表。

设置为一个空数组以取消分配所有被分配人。

ca_path

字符串

在 community.general 8.1.0 中添加

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

description

字符串

问题的描述。

如果找到,将被 description_path 中指定的文件内容覆盖。

description_path

路径

包含问题描述的文件的路径。

接受 MarkDown 格式的文件。

issue_type

字符串

问题的类型。

选择

  • "issue" ← (默认)

  • "incident"

  • "test_case"

labels

列表 / 元素=字符串

标签名称列表。

设置为一个空数组以删除所有标签。

milestone_group_id

字符串

托管所需里程碑的组的路径或数字 ID。

字符串

里程碑的名称。

设置为空字符串以取消分配里程碑。

project

字符串 / 必需

项目的路径或名称。

state

字符串

创建或删除问题。

选择

  • "present" ← (默认)

  • "absent"

state_filter

字符串

在搜索时指定问题状态的过滤器。

选择

  • "opened" ← (默认)

  • "closed"

title

字符串 / 必需

问题的标题。标题用作唯一标识符,以确保幂等性。

validate_certs

布尔值

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

选择

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 中运行并返回更改状态预测,而无需修改目标。

diff_mode

支持:

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

示例

- name: Create Issue
  community.general.gitlab_issue:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: "group1/project1"
    title: "Ansible demo Issue"
    description: "Demo Issue description"
    labels:
        - Ansible
        - Demo
    assignee_ids:
        - testassignee
    state_filter: "opened"
    state: present

- name: Delete Issue
  community.general.gitlab_issue:
    api_url: https://gitlab.com
    api_token: secret_access_token
    project: "group1/project1"
    title: "Ansible demo Issue"
    state_filter: "opened"
    state: absent

返回值

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

描述

issue

字典

API 对象。

已返回: 成功

msg

字符串

成功或失败消息。

已返回: 始终

示例: "Success"

作者

  • zvaraondrej (@zvaraondrej)