Состоялась встреча по продуктам Atlassian в Москве
21 апреля мы организовали в Mail.Ru Group мероприятие для обмена опытом использования JIRA и других продуктов Atlassian — Moscow Atlassian Meetup.Событие было запланировано на 19 часов, но посетители начали собираться уже за полчаса до начала. В ожидании докладов кто-то подключался к Wi-Fi, а кто-то наливал себе кофе. Когда все собрались, зал был полон — на встрече было более 100 человек, еще 200 наблюдали за происходящим с помощью онлайн-трансляции. В этом посте я хочу опубликовать видеозаписи и слайды докладов, а также подробнее рассказать о самих докладах.
Автоматизация работы редакции контентных проектовАндрей Молчанов, Mail.Ru Group[embedded content]Первый доклад на конференции был мой. Я рассказывал о том, каким образом с помощью JIRA и разработанного нами плагина удалось автоматизировать часть рутинной работы редакции.
Редакция — это люди, которые обеспечивают наши контентные проекты (Леди Mail.Ru, Hi-Tech Mail.Ru и др.) материалами. Обеспечивают — значит заказывают статьи у внешних и внутренних авторов, оплачивают их, размещают на сайте и затем анализируют статистику.
Сначала мы реализовали учет каждого материала — от заказа до оплаты в виде JIRA Issue. Это позволило вести списки статей на дашборде вместо традиционных записей в блокноте или почте. Кроме того, мы подключили наш Calendar Plugin для наглядного отображения редакционного плана.Я показал, каким образом мы реализовали настройку доступа на уровне полей. Это понадобилось для того, чтобы отображать стоимость только руководителям проекта, остальные данные оставив доступными для всех.
Кроме того, было рассказано про сбор данных статистики со счетчиков Рейтинга Mail.Ru и API пяти самых популярных социальных сетей. По собранным данным динамически строятся медиана, среднее и сумма, отображаемые в написанном гаджете. Кстати, он довольно гибко настраивается. Исходный код всего плагина доступен здесь.
Ссылка на слайды
Почему мы не внедряем у себя Service DeskАнтон Колин, Teamlead [embedded content]Антон обсуждал недостатки JIRA Service Desk от Atlassian, предостерегая слушателей от необдуманного выбора «родного» решения.
После краткого вступления с видео о том, что этот плагин используется для организации службы поддержки на базе JIRA, Антон упомянул неточности сравнения JIRA Service Desk с Zendesk на сайте Atlassian.
Среди недостатков самого JIRA Service Desk были названы:
Высокая стоимость Отсутствие мобильного приложения для агентов (есть бесплатный Pocket Desk от ALM Works) Необходимость приобретения Confluence для использования базы знаний Невозможность просмотра из Service Desk SLA и вложений, добавленных через JIRA Невозможность просмотра клиентом запросов, отправленных по почте Также Антон рассказал про несколько плагинов своей компании. Одним из них был CRM for JIRA, позволяющий задавать доступ к запросам в зависимости от организации автора и проводить опросы удовлетворенности. Вторым был Feedback for JIRA, реализующий более удобный POP3 обработчик писем и формы обратной связи.В заключение Антон предложил обратить внимание на еще одну их разработку — HelpDesk for JIRA, менее красивую и без интеграции с базой знаний, но зато существенно более доступную по цене.
Ссылка на слайды
Что делать, если JIRA работает недостаточно быстро? Андрей Ларионов, ALM Works [embedded content]Андрей сделал обзор основных причин «тормозов» JIRA и предложил варианты решения. Не скрою, лично мне этот доклад понравился больше всего.
Было рекомендовано не трогать стандартные настройки Thread Pool и Garbage Collector, не выделяя при этом всю оперативную память под JIRA.
Для «бытовых» нужд (до 300 000 запросов и 1000 пользователей) было предложено использовать 8-ядерный процессор и 32 ГБ оперативной памяти.
Андрей также советовал в случае возникновения проблем попробовать отключение плагинов по одному — иногда они являются причиной медленной работы.
Было строго рекомендовано кэшировать статику «намертво». Для nginx был предложен следующий пример конфига:
proxy_cache_path /var/cache/nginx/jira levels=1:2 keys_zone=jira:32m max_size=1000m inactive=60m;
location ~* ^/s/(.*)/_/(.*)(gif|jpg|jpeg|js|css|png)$ { expires max; add_header Cache-Control public; more_clear_headers 'Last-Modified' 'ETag»; proxy_next_upstream error timeout http_404 http_500; proxy_pass http://jira-server; proxy_cache jira-bugs; proxy_cache_key »$request_uri»; proxy_cache_valid 200; } Отдельно было описано, как лучше общаться со службой поддержки Atlassian, чтобы как можно быстрее получить ответ. Кстати, наш личный опыт общения с ними полностью подтверждает все сказанное.В случае серьезных проблем были рассмотрены особенности организационного решения — выделения своего Java-программиста или поиска подрядчика для решения задачи.
Самым интересным, на мой взгляд, было детальное рассмотрение общего подхода к решению проблем производительности с помощью нагрузочного тестирования. Андрей рассказал, как именно он собирал access-логи, GC-логи, Thread Dumps и профилировал JIRA.
Ссылка на слайды
Интеграция телефонии с JIRAДенис Кулябин, IT-Забота [embedded content]Денис поделился опытом того, как его команда реализовала модуль, интегрирующий JIRA с IP-телефонией.
Начав с общего обзора доступных решений, Денис перешел к описанию требований, поставленных перед ними. Необходима была поддержка Avaya, Asterisk и Cisco c одной стороны и независимость от версии JIRA c другой.
Решено было написать отдельный модуль интеграции в форме отдельного Java-приложения, а не JIRA-плагина. Этот модуль взаимодействует с JIRA через REST-сервисы, а с телефонией — при помощи агентов IP-телефонии, поставляемых, например, самим Cisco. Такой подход позволяет не зависеть от версии протокола телефонии, часто меняющегося при обновлениях.
После этого Денис перешел к описанию возможностей самого приложения — просмотру данных абонента, списку его обращений и поиску данных при звонке с неизвестного номера.
Ссылка на слайды
После завершения последнего доклада мы все вместе спустились на первый этаж, где нас ждало неформальное общение, обсуждение докладов и вкусная пицца. Кстати, кто спрашивал, пиццу заказывали в Correas — нашей столовой.
Нам понравилось это мероприятие. Мы считаем, что проведение подобных встреч для обмена опытом — это правильно и полезно. Хотим повторить событие в начале осени и надеемся, что будет еще интереснее!
Спасибо всем, кто пришел! Пишите те, кто хочет рассказать что-то осенью!