Модуль community.general.jira – Создание и изменение задач в экземпляре JIRA
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Для использования в плейбуке укажите: community.general.jira.
Описание
- Создание и изменение задач в экземпляре JIRA.
Параметры
Параметр | Комментарии |
|---|---|
account_id строка добавлено в community.general 2.5.0 | Устанавливает идентификатор учетной записи для назначенного лица, когда Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях. |
assignee строка | Устанавливает назначенного лица, когда Недавние версии JIRA больше не принимают имя пользователя в качестве идентификатора пользователя. В этом случае используйте Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях. |
attachment словарь добавлено в community.general 2.5.0 | Информация об загружаемом вложение. |
|
content строка |
Кодированные в Base64 содержимое файла для вложения. Если не указано, используются содержимое |
|
filename путь / обязательно |
Путь к файлу для загрузки (с удаленного узла) или, если указано |
|
mimetype строка |
Тип MIME для предоставления при загрузке. Если не указано, будет выполнена проверка. |
comment строка | Текст комментария для добавления. Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях. |
comment_visibility словарь добавлено в community.general 3.2.0 | Используется для указания видимости комментария. Подробности см. в https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-comments/#api-rest-api-2-issue-issueidorkey-comment-post |
|
type строка / обязательно |
Используйте тип для указания используемого типа ограничения видимости JIRA. Варианты:
|
|
value строка / обязательно |
Используйте значение для указания значения, соответствующего типу ограничения видимости. Например, имя группы или роли. |
description строка | Описание проблемы, где это уместно. Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях. |
fields словарь | Это структура данных произвольной формы, которая может содержать произвольные данные. Это передается напрямую в JIRA REST API (возможно, после слияния с другими необходимыми данными, как при передаче для создания). См. примеры для получения дополнительной информации, а также JIRA REST API для структуры, необходимой для различных полей. При передаче в комментарий структура данных объединяется на первом уровне, начиная с community.general 4.6.0. Это полезно для добавления свойств JIRA, например. Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях. По умолчанию: |
inwardissue строка | Установите проблему, из которой будет создана ссылка. |
issue псевдонимы: ticket строка | Существующий ключ проблемы для обработки. |
issuetype строка | Тип проблемы для создания проблемы. |
jql строка добавлено в community.general 0.2.0 | Запрос JIRA в синтаксисе JQL, например «CMDB Hostname» =»test.example.com». |
linktype строка | Установите тип ссылки, когда выбран параметр «link». |
maxresults целое число добавлено в community.general 0.2.0 | Ограничьте результат Используется, когда |
operation псевдонимы: command строка / обязательно | Выполняемая операция.
Варианты:
|
outwardissue string | Укажите задачу, к которой будет создана ссылка. |
password string | |
project string | Проект для этой операции. Требуется для создания задачи. |
status string | Используется только тогда, когда |
summary string | Аннотация задачи, где это уместно. Обратите внимание, что JIRA может не разрешать изменять значения полей на определенных переходах или состояниях. |
timeout float | Установить таймаут, в секундах, для запросов к API JIRA. По умолчанию: |
token string добавлен в community.general 4.2.0 | |
uri string / обязательно | Базовый URI для экземпляра JIRA. |
username string | |
validate_certs boolean | Требовать действительные сертификаты SSL (установить в Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Может выполняться в |
diff_mode | Поддержка: нет | Вернет детали того, что изменилось (или, возможно, нужно изменить в |
Примечания
Примеры
# Create a new issue and add a comment to it:
- name: Create an issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
project: ANS
operation: create
summary: Example Issue
description: Created using Ansible
issuetype: Task
args:
fields:
customfield_13225: "test"
customfield_12931: {"value": "Test"}
register: issue
- name: Comment on issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: comment
comment: A comment added by Ansible
- name: Comment on issue with restricted visibility
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: comment
comment: A comment added by Ansible
comment_visibility:
type: role
value: Developers
- name: Comment on issue with property to mark it internal
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: comment
comment: A comment added by Ansible
fields:
properties:
- key: 'sd.public.comment'
value:
internal: true
# Add an workog to an existing issue
- name: Worklog on issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: worklog
comment: A worklog added by Ansible
fields:
timeSpentSeconds: 12000
- name: Workflow on issue with comment restricted visibility
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: worklog
comment: A worklog added by Ansible
comment_visibility:
type: role
value: Developers
fields:
timeSpentSeconds: 12000
- name: Workflow on issue with comment property to mark it internal
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: worklog
comment: A worklog added by Ansible
fields:
properties:
- key: 'sd.public.comment'
value:
internal: true
timeSpentSeconds: 12000
# Assign an existing issue using edit
- name: Assign an issue using free-form fields
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key}}'
operation: edit
assignee: ssmith
# Create an issue with an existing assignee
- name: Create an assigned issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
project: ANS
operation: create
summary: Assigned issue
description: Created and assigned using Ansible
issuetype: Task
assignee: ssmith
# Edit an issue
- name: Set the labels on an issue using free-form fields
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: edit
args:
fields:
labels:
- autocreated
- ansible
# Updating a field using operations: add, set & remove
- name: Change the value of a Select dropdown
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: update
args:
fields:
customfield_12931: [ {'set': {'value': 'Virtual'}} ]
customfield_13820: [ {'set': {'value':'Manually'}} ]
register: cmdb_issue
delegate_to: localhost
# Retrieve metadata for an issue and use it to create an account
- name: Get an issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
project: ANS
operation: fetch
issue: ANS-63
register: issue
# Search for an issue
# You can limit the search for specific fields by adding optional args. Note! It must be a dict, hence, lastViewed: null
- name: Search for an issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
project: ANS
operation: search
maxresults: 10
jql: project=cmdb AND cf[13225]="test"
args:
fields:
lastViewed: null
register: issue
- name: Create a unix account for the reporter
become: true
user:
name: '{{ issue.meta.fields.creator.name }}'
comment: '{{ issue.meta.fields.creator.displayName }}'
# You can get list of valid linktypes at /rest/api/2/issueLinkType
# url of your jira installation.
- name: Create link from HSP-1 to MKY-1
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
operation: link
linktype: Relates
inwardissue: HSP-1
outwardissue: MKY-1
# Transition an issue
- name: Resolve the issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: transition
status: Resolve Issue
account_id: 112233445566778899aabbcc
fields:
resolution:
name: Done
description: I am done! This is the last description I will ever give you.
# Attach a file to an issue
- name: Attach a file
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: HSP-1
operation: attach
attachment:
filename: topsecretreport.xlsx
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/jira_module.html