Модуль community.general.jira — создание и изменение задач в экземпляре JIRA
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Эта коллекция уже может быть установлена, если вы используете пакет 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 Cloud требуются идентификаторы учётных записей. Если задано Jira Server и Jira Data Center по-прежнему могут принимать Обратите внимание, что JIRA может запрещать изменение значений полей при определённых переходах или состояниях. |
attachment словарь добавлен в community.general 2.5.0 | Информация о загружаемом вложении. |
|
content строка |
Содержимое файла для вложения в кодировке Base64. Если не указано, вместо него используется содержимое |
|
filename путь / обязательно |
Путь к загружаемому файлу (на удалённом узле) или, если указано |
|
mimetype строка |
Тип MIME, указываемый при загрузке. Если не указан, выполняется максимально возможное автоматическое определение. |
client_cert путь добавлен в community.general 10.4.0 | |
client_key путь добавлен в community.general 10.4.0 | |
cloud логический добавлен в community.general 12.6.0 | Включите при использовании Jira Cloud. Если задано значение Если задано значение В будущем этот параметр может влиять и на другие операции для обеспечения совместимости с Jira Cloud. Варианты:
|
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 строка / обязательно |
Используйте Варианты:
|
|
value строка / обязательно |
Укажите значение, соответствующее типу ограничения видимости, например имя группы или роли. |
custom_user_fields список / элементы=строка добавлен в community.general 12.6.0 | Список имён полей (например, Если задано Встроенные пользовательские поля По умолчанию: |
description строка | Описание задачи, если применимо. Обратите внимание, что JIRA может запрещать изменение значений полей при определённых переходах или состояниях. |
fields словарь | Это структура данных произвольного формата, которая может содержать любые данные. Она передаётся непосредственно в REST API JIRA (возможно, после объединения с другими необходимыми данными, например при создании). Дополнительную информацию см. в примерах, а описание структуры, необходимой для различных полей, — в REST API JIRA. Если задано При передаче в comment структура данных объединяется на первом уровне, начиная с community.general 4.6.0. Это полезно, например, для добавления свойств JIRA. Обратите внимание, что JIRA может запрещать изменение значений полей при определённых переходах или состояниях. По умолчанию: |
inwardissue строка | Задача, из которой создаётся связь. |
issue псевдонимы: ticket строка | Ключ существующей задачи, с которой выполняется операция. |
issuetype строка | Тип задачи при её создании. |
jql строка добавлен в community.general 0.2.0 | Запрос к JIRA на синтаксисе JQL, например |
linktype строка | Задаёт тип связи, если выбрано действие «link». |
maxresults целое число добавлен в community.general 0.2.0 | Ограничивает число результатов Используется только при |
operation псевдонимы: command строка / обязательно | Выполняемая операция.
Варианты:
|
outwardissue строка | Задача, на которую создаётся ссылка. |
password строка | |
project строка | Проект для этой операции. Обязателен при создании задачи. |
status строка | |
status_id строка добавлен в community.general 10.3.0 | |
summary строка | Краткое описание задачи, если применимо. Обратите внимание, что JIRA может запрещать изменение значений полей при определённых переходах или состояниях. |
timeout число с плавающей точкой | Задаёт время ожидания (в секундах) для запросов к API JIRA. По умолчанию: |
token строка добавлен в community.general 4.2.0 | |
uri строка / обязательно | Базовый URI экземпляра JIRA. |
username строка | |
validate_certs логический | Требовать действительные сертификаты SSL (задайте Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: отсутствует | Может выполняться в |
diff_mode | Поддержка: отсутствует | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в |
Примечания
Примечание
- В настоящее время поддерживаются только базовая аутентификация и токены.
- Для использования с JIRA Cloud передайте адрес электронной почты для входа в качестве
username, а токен API — в качествеpassword. - В Jira Cloud устаревшая конечная точка
/rest/api/2/searchудалена. При использованииoperation=searchс Jira Cloud задайтеcloud=true, чтобы модуль использовал вместо неё заменяющую конечную точку/rest/api/2/search/jql.
Примеры
# 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
# Assign an issue on Jira Cloud using an email address
# (the module resolves the email to an account ID automatically)
- name: Assign an issue on Jira Cloud using email
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
issue: '{{ issue.meta.key }}'
operation: edit
cloud: true
assignee: user@example.com
# Create an issue on Jira Cloud with reporter and a custom user field
# resolved from email addresses to account IDs
- name: Create an issue on Jira Cloud with user field resolution
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
project: ANS
operation: create
summary: Example Issue
description: Created using Ansible
issuetype: Task
cloud: true
assignee: assignee@example.com
custom_user_fields:
- customfield_10050
args:
fields:
reporter: reporter@example.com
customfield_10050: approver@example.com
# 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 on Jira Data Center / Server
# 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:
register: issue
# Search for an issue on Jira Cloud (uses the /search/jql endpoint)
- name: Search for an issue on Jira Cloud
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
project: ANS
operation: search
cloud: true
maxresults: 10
jql: project=cmdb AND cf[13225]="test"
args:
fields:
lastViewed:
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
# Use username, password and client certificate authentification
- name: Create an issue
community.general.jira:
uri: '{{ server }}'
username: '{{ user }}'
password: '{{ pass }}'
client_cert: '{{ path/to/client-cert }}'
client_key: '{{ path/to/client-key }}'
# Use token and client certificate authentification
- name: Create an issue
community.general.jira:
uri: '{{ server }}'
token: '{{ token }}'
client_cert: '{{ path/to/client-cert }}'
client_key: '{{ path/to/client-key }}'
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/jira_module.html