Spec-Zone.ru › Ansible

Модуль 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

Устанавливает идентификатор учетной записи для назначенного лица, когда operation create, transition, или edit.

Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях.

assignee

строка

Устанавливает назначенного лица, когда operation create, transition, или edit.

Недавние версии JIRA больше не принимают имя пользователя в качестве идентификатора пользователя. В этом случае используйте account_id.

Обратите внимание, что JIRA может не разрешить изменение значений полей на определенных переходах или состояниях.

attachment

словарь

добавлено в community.general 2.5.0

Информация об загружаемом вложение.

content

строка

Кодированные в Base64 содержимое файла для вложения. Если не указано, используются содержимое attachment.filename.

filename

путь / обязательно

Путь к файлу для загрузки (с удаленного узла) или, если указано attachment.content, имя файла для использования в приложении.

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.

Варианты:

  • "group"
  • "role"

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=search. Если значение не указано, используется значение по умолчанию для JIRA.

Используется, когда operation=search, в противном случае игнорируется.

operation

псевдонимы: command

строка / обязательно

Выполняемая операция.

worklog было добавлено в community.general 6.5.0.

Варианты:

  • "attach"
  • "comment"
  • "create"
  • "edit"
  • "fetch"
  • "link"
  • "search"
  • "transition"
  • "update"
  • "worklog"

outwardissue

string

Укажите задачу, к которой будет создана ссылка.

password

string

Пароль для входа.

Должен использоваться с username. Взаимоисключающее с token.

project

string

Проект для этой операции. Требуется для создания задачи.

status

string

Используется только тогда, когда operation равно transition, и немного вводит в заблуждение, фактически ссылается на имя перехода.

summary

string

Аннотация задачи, где это уместно.

Обратите внимание, что JIRA может не разрешать изменять значения полей на определенных переходах или состояниях.

timeout

float

Установить таймаут, в секундах, для запросов к API JIRA.

По умолчанию: 10.0

token

string

добавлен в community.general 4.2.0

Личный токен доступа для входа.

Взаимоисключающее с username и password.

uri

string / обязательно

Базовый URI для экземпляра JIRA.

username

string

Имя пользователя для входа.

Должен использоваться с password. Взаимоисключающее с token.

validate_certs

boolean

Требовать действительные сертификаты SSL (установить в false если вы хотите использовать самозаверяющие сертификаты)

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: нет

Может выполняться в check_mode и возвращать прогноз изменённого статуса без изменения целевого объекта.

diff_mode

Поддержка: нет

Вернет детали того, что изменилось (или, возможно, нужно изменить в check_mode), когда используется режим сравнения.

Примечания

Примечание

  • В настоящее время это работает только с basic-auth или токенами.
  • Для использования с JIRA Cloud передайте адрес электронной почты для входа как username, а API-токен как password.

Примеры

# 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

Авторы

  • Steve Smith (@tarka)
  • Per Abildgaard Toft (@pertoft)
  • Brandon McNama (@DWSR)

Ссылки на коллекции

  • Отслеживание ошибок
  • Репозиторий (источники)
  • Спросить о помощи
  • Отправить отчет об ошибке
  • Запросить функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API