{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Jira для начинающих пользователей. Часть 3

В прошлых JQL часть 1 и JQL часть 2, мы рассматривали внутренний язык Jira — JQL.

Возможности Jira позволяют создать доску типа Scrum или Kanban. Данные доски помогают эффективно управлять проектом. Рассмотрим создание досок типа Kanban.

Kanban — это гибкий инструмент управления проектами, предназначенный для визуализации работы, ограничения объема незавершенных работ и максимизации эффективности выполнения задач. Это помогает как agile командам, так и командам DevOps навести порядок в повседневной работе.

Преимущества канбан-доски, заключаются в скорости настройки, способности асинхронно отслеживать бесконечное количество разговоров и комментариев по мере продвижения проекта. Независимо от того, где и когда члены команды регистрируются на доске канбан, они будут видеть самую последнюю информацию о статусе проекта.

Основными элементы канбан-доски являются следующие пять компонентов: визуальные сигналы (1), столбцы (2), лимиты незавершенной работы (3), точка обязательства (4) и точка доставки (5).

С чего начать работу с канбан-доской? Конечно же с ее создания!

Для создания канбан-доски мы можем через просмотр всех досок нажать на кнопку “Создать доску” и у нас выскочит окошко с выбором доски Scrum или Kanban. Выбираем “Создание доски Kanban”.

Для него заранее создадим фильтр с названием “Покупка”, который поможет нам найти задачи в названии которых содержится слово “Купить”, созданные после 1 октября 2021 года и за авторством текущего пользователя, Марины (Marina7) и Алексея (Alex). Подумайте самостоятельно, как написать такой фильтр (ответ в конце статьи).

Нажимаем “Создать доску”. Поздравляю, у нас создалась доска на основе сохраненного фильтра!

В настройках доски мы можем переименовать доску, изменить изначальный JQL фильтр, изменить настройки доступа. Добавлять и удалять столбы. Изменить их название и цвет.

Отдельно стоит упомянуть пункт «Быстрые фильры», где мы можем написать дополнительные JQL подзапросы, которые будут при нажатии на кнопки под названием доски, будут добавлены к основному JQL фильтру союзом AND. Мы можем одновременно включать несколько быстрых фильтров, например одни будут отвечать за время, а другие за исполнителя.

Теперь рассмотрим на API составляющую Kanban-досок в Jira. Для простоты воспользуемся python с предустановленной библиотекой JIRA. С помощью нее найдем все доски, куда мы имеем доступ.

Для начала инициируем библиотеку:

from jira import JIRA

Далее заполним необходимые данные:

SERVER_ADDR = '### ССЫЛКА НА СЕРВЕР JIRA ###' LOGIN = '### ЛОГИН ###' PASS = '### ПАРОЛЬ ###'

Подключимся к серверу:

jira_options = { 'server': SERVER_ADDR, 'verify': False } try: jira = JIRA(options = jira_options, basic_auth=(ALPHA_LOGIN, ALPHA_PASS)) print("Успешное подключение к JIRA") except Exception as e: print("Не удалось подключиться к %s - неверный логин/пароль или сервер не доступен" % (SERVER_ADDR)) print(e)

С помощью метода board() получим названия и id досок, к которым у нас имеется доступ. Непосредственно id используется как значение rapidView в ссылках на доску – так давайте создадим еще и ссылки на эти доски.

boards = jira.boards() print('Доступных досок:', len(boards)) for board in boards: print ("ID %s: %s ( Ссылка: %s/secure/RapidBoard.jspa?rapidView=%s )" % (board.id, board.name, SERVER_ADDR, board.id))

Также рассмотрим поиск задач с помощью JQL. Для начала объявим переменную jql с самим запросом. Пусть в запросе будут задачи, созданные текущим пользователем, где он не является исполнителем.

jql = "reporter = currentUser() AND assignee != currentUser()"

Далее с помощью search_issues найдем и запишем в переменную issues найденные задачи.

issues_1 = jira.search_issues(jql)

Самими часто используемыми дополнительными параметрами search_issues являются:

  1. maxResults – устанавливаем числом максимальное количество задач, которое нам достаточно найти или ставим значение False, когда мы хотим найти все задачи;
  2. expand – дополняем наш запрос дополнительной информацией по задаче, например, историей изменений (‘changelog’).
  3. fields – тут можем указать список интересующих нас полей, другие при этом выгружаться не будут.
issues_2 = jira.search_issues(jql, maxResults = False, expand = 'changelog', fields = ['summary', 'status', 'reporter', 'issuelinks', 'labels', 'created'])

В переменных issues_1 и issues_2 хранятся объекты JIRA Issue.

Для отображения информации по объекту пройдемся по каждой найденной задаче и покажем некоторые значения полей при помощи цикла for.

for issue in issue_jql: print( """ Ключ задачи: %s Название задачи: %s Автор задачи: %s Исполнитель задачи: %s Статус задачи: %s Дата создания задачи: %s """ % (issue.key, issue.fields.summary, issue.fields.reporter, issue.fields.assignee, issue.fields.status, issue.fields.created))

Создавайте, практикуйтесь и повышайте эффективность своей работы!

Ответ: summary ~ Купить and reporter in (currentUser(), Alex, Marina7) AND created < «2021/10/01»

0
1 комментарий
rikozenit

а можно в JIRA подтягивать в таблицу информацию из задачи, кто по ней является текущим исполнителем? НАпример: =executor(task-1111) ?

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда