Как стать автором
Поиск
Написать публикацию
Обновить
2.45

Atlassian *

Jira, Confluence и вот это всё

Сначала показывать
Порог рейтинга
Уровень сложности

Простая Kanban-доска для Jira

Время на прочтение14 мин
Количество просмотров38K
Здесь я расскажу, как сделать канбан-доску для проекта в Jira, пользуясь только QML и JavaScript. С небольшими доработками вместо Jira вы можете использовать любой другой трекер, имеющий REST API.



Предыстория


Некоторое время назад, теперь уже практически в другой жизни, в мою бытность руководителем проекта, я понял, что теряю представление о занятости участников нашего проекта. Кто-то занимается Большим и Важным делом, кто-то исправляет срочные баги, а может быть кто-то, извините, балду пинает, а я об этом не в курсе и задачи ему не ставлю. И мне захотелось иметь наглядную картинку текущих дел.
Читать дальше →

Централизованный сontinuous deployment за год vol 2

Время на прочтение7 мин
Количество просмотров8.6K
В нашей прошлой статье мы рассказали о том как строили централизованный конвейер, но описали его довольно поверхностно. Это породило массу вопросов, которые мы не можем оставить без ответа. Здесь мы попробуем максимально глубоко залезть «под капот» и рассказать, как работает наш централизованный конвейер.

Читать дальше →

Три способа обновить запрос в Jira из ScriptRunner, используя Jira Java API

Время на прочтение13 мин
Количество просмотров12K
В этой статье будут рассмотрены три способа обновления запроса в Jira, используя Jira Java API.
Я буду использовать следующие методы Jira Java API:

  • Issue.setCustomFieldValue(CustomField customField, Object value)
  • CustomField.updateValue(FieldLayoutItem fieldLayoutItem, Issue issue, ModifiedValue modifiedValue, IssueChangeHolder issueChangeHolder)
  • IssueService.update(ApplicationUser user, IssueService.UpdateValidationResult updateValidationResult)

Будут приведены примеры скриптов для обновления всех типов кастомных полей, доступных в Jira из «коробки», с таблицей, в которой указаны отличия работы рассматриваемых методов друг от друга.

Читать дальше →

Atlassian User Group Moscow в гостях у Райффайзенбанка

Время на прочтение1 мин
Количество просмотров2.4K
15 февраля приглашаем гостей на встречу Atlassian User Group Moscow в Райффайзенбанк.
Мы поговорим о тонкостях учета рабочего времени сотрудников, об опыте использования CI/CD конвейера в Райффайзенбанке и об эволюции процессов в SkuVault.


Читать дальше →

Как работать с Jira плагином из ScriptRunner или как избежать дублирования кода

Время на прочтение4 мин
Количество просмотров7.4K
В этой статье я хотел бы обсудить проблему дублирования кода в Adaptivist ScriptRunner.
Когда начинаешь писать скрипты в ScriptRunner, то обычно весь код пишешь в одном скрипте и затем добавляешь этот скрипт в пост функцию, валидатор, условие и тому подобное.

Все идет хорошо до тех пор, пока ты не обнаружил ошибку в коде, или не произошли изменения в бизнес-требованиях. В этом момент ты понимаешь, что поправить нужно не один скрипт, а несколько скриптов с изменившейся логикой, а еще хуже то, что ты не помнишь, какие точно скрипты нужно править.

Можно запустить поиск по директории, в которой лежат скрипты, но как показывает практика, такое решение проблемы практически всегда оставляет баги в коде.
Это классическая проблема, связанная с дублированием кода.
Попробуем избавиться от дублирования кода.
Читать дальше →

Atlassian User Group Ufa — первый блин не комом

Время на прочтение1 мин
Количество просмотров1.4K
Вот и Уфа дозрела до Atlassian Community и единого пространства жалоб на новый дизайн, стабильность и практического решения проблем с продуктами Atlassian. Мы провели Ufa AUG #1 и могу точно сказать, что первый блин — не комом!



Программа:

  1. Трагедия в трех томах: как мы упрощали процессы в SkuVault, и как отражали и автоматизировали это в Atlassian Jira | Презентация
  2. Цикл документооборота фич в Confluence
  3. Q&A сессия с вопросами по доскам, интеграциям, тайм-трекингу в таск-трекере, и миллиону других вещей

Как компания Atlassian построила бизнес стоимостью 10 млрд долларов. Часть 2

Время на прочтение10 мин
Количество просмотров6.3K


Продолжаем рассказывать историю Atlassian. 1 часть вы можете прочитать тут.

2015 год — настоящее время: расширение на прибыльные конкурентные рынки


Для многих SaaS-компаний сегодняшний бизнес Atlassian выглядит как «конечная цель»: вырасти в огромную работающую на мировом рынке публичную компанию со сложным набором интегрированных продуктов для самых разных команд.

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

С одной стороны, Atlassian работает над тем, чтобы ее решениями могли пользоваться самые разные отделы организаций. С другой стороны, компании нужно каким-то образом сохранить актуальность для небольших команд, поскольку для них многие приносящие компании доход продукты становятся излишне сложными. Однако вместо того, чтобы тратить время на разработку «облегченных» версий собственных решений, Atlassian идет опробованным путем: приобретает продукты с более простой функциональностью, интегрирует их и пополняет таким образом свое семейство.

Давайте подробнее рассмотрим, каким образом приобретения и интеграция за последние несколько лет помогли компании расширить продуктовую воронку и выйти на более прибыльные конкурентные рынки.

Переведено в Alconost
Читать дальше →

Как при разработке плагина для Jira упаковать зависимую библиотеку в obr

Время на прочтение5 мин
Количество просмотров4.4K
При разработке плагинов для Jira периодически приходится использовать библиотеки, которых в Jira нет, поэтому их нужно установить вместе с разрабатываемым плагином. В Jira сторонние библиотеки можно упаковать в плагин двумя способами:

Указать у сторонней библиотеки область видимости компилирования, и тогда классы из этой библиотеки будут упакованы в jar-файл разрабатываемого плагина. Для этого необходимо в файле pom.xml написать:

  <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.2-atlassian-1</version>
	<scope>compile</scope>   
</dependency>

Собрать плагин таким образом, чтобы jar-файл сторонней библиотеки находился в папке dependencies файла obr разрабатываемого плагина.
Читать дальше →

Как компания Atlassian построила бизнес стоимостью 10 млрд долларов. Часть 1

Время на прочтение11 мин
Количество просмотров15K

«Было много умных людей, которые не собирались присоединяться к нашей компании, давать деньги или советы — потому что наш бизнес не имел для них никакого смысла».
— Майк Кэннон-Брукс, сооснователь Atlassian


Когда компания Atlassian еще только появилась (в 2002 году), перед ее основателями стоял выбор.

С одной стороны, они могли пойти обычным путем и сделать то, что делало большинство SaaS-компаний: набрать отдел продаж, постучаться в двери инвесторов и попытаться превратить идею в миллионы долларов в виде финансирования.

Однако основатели Atlassian не пошли таким (ожидаемым) путем — они решили действовать иначе, и это в конечном итоге позволило им построить бизнес стоимостью 10 млрд долларов.

Переведено в Alconost
Читать дальше →

Распространенные примеры использования продвинутых JQL-запросов

Время на прочтение2 мин
Количество просмотров47K
В данной статье приведены наиболее часто используемые JQL-запросы с использованием различных функций. Данный материал удобно иметь под рукой при необходимости создания сложных JQL-запросов для проектов в JIRA. В первую очередь информация будет полезна менеджерам и тим-лидам. В данной статье собраны примеры запросов, которые наиболее часто используются мною в ежедневной проектной деятельности.
Читать дальше →

Приглашаем на Atlassian Meetup 12 декабря

Время на прочтение1 мин
Количество просмотров2.4K


Друзья, приглашаем всех неравнодушных на очередную встречу Atlassian Meetup, которая пройдёт 12 декабря в московском офисе Mail.Ru Group. Как всегда, в программе интересные доклады о способах и особенностях использования продуктов линейки Atlassian.
Читать дальше →

J.A.R.V.I.S. для (не)железного человека: как Perf станет ассистентом каждого Delivery менеджера

Время на прочтение3 мин
Количество просмотров4.5K

Гениальный изобретатель Тони Старк стал рок-звездой киновселенной и одним из самых узнаваемых героев не только из-за фирменного юмора, ума и денег. У человека с атомным реактором вместо сердца есть одно исключительное преимущество – информация. Причем, личный смарт-помощник J.A.R.V.I.S. не просто выводит для Старка на экран статистику, но и анализирует происходящее, а еще – дает советы. Таким интеллектуальным личным ассистентом для Delivery менеджеров станет Perf, над которым работают в EPAM. О новом слове в Delivery менеджменте, которое скоро будет звучать чаще других, наши коллеги Сергей Сахоненко и Иван Кащенко рассказали на Atlassian Day в Минске.

Читать дальше →

Централизованный сontinuous deployment за год

Время на прочтение6 мин
Количество просмотров11K
В одном из предыдущих постов про DevOps мы обещали рассказать про технологическую составляющую нашего CI/CD-конвейера.

Чтобы описать всю картину в красках и полноценно поделиться своими эмоциями (живописать боль и кровавые слезы), расскажу о том, с чего мы начинали пару лет назад и к чему пришли сегодня.


Читать дальше →

Ближайшие события

Феншуйная автоматизация CI & CD с помощью Jenkins и Jira

Время на прочтение8 мин
Количество просмотров82K

image alt text


Мы давно ничего не рассказывали об автоматизации разработки. Поэтому в этот раз расскажу о том, как мы сократили время релиза с трех дней до одного и убрали из процесса участие человека с его возможными ошибками.


Рассказывать о долгом и тернистом пути всегда непросто. Однако за последние годы инфраструктура разработки Яндекс.Денег сделала большой шаг в сторону автоматизации самого важного для нас процесса — релиза, о чем просто грех не рассказать. Фактически получилось полноценное решение Continuous Integration и Continuous Delivery на базе связки Bitbucket, Jenkins и Jira.

Читать дальше →

OpenShift + Jenkins + Bitbucket, непрерывная интеграция и публикация из коробки

Время на прочтение5 мин
Количество просмотров19K

В этой статье я покажу, как быстро развернуть среду для сборки, тестирования и публикации приложений используя платформу OpenShift на примере PHP проекта. Использовать буду OpenShift online, но всё это же можно развернуть и на собственных серверах или в VirtualBox (есть готовая сборка). Git-сервером для хранения и версионирования кода будет Bitbucket.
Читать дальше →

Как отобразить динамическую выгрузку из БД на страницах Atlassian Confluence?

Время на прочтение4 мин
Количество просмотров19K

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

  • метрик вашего продукта,
  • Agile-метрик по работе команд,
  • графика роста численности вашей команды,
  • списка ближайших дней рождений,
  • и т. д.
В этой статье я хочу поделиться своим опытом, как наиболее красиво и удобно отображать подобную информацию на страницах Confluence.
Читать дальше →

Сопоставляем неоднозначные термины в GitLab, GitHub и Bitbucket

Время на прочтение3 мин
Количество просмотров23K

Всем привет, если вы не в курсе, мы начали публиковать переводы релизных статей ГитЛаба.
Если вы пропустили предыдущие, вот ссылки: 8.10, 8.9, 8.8


ГитЛаб выпускает релизы 22 числа каждого месяца.
Перевод поста про релиз 8.11 в работе, а пока представляю на ваш суд еще одну статью из блога ГитЛаба про различие терминологии у GitLab, GitHub и Bitbucket.




В зависимости от рабочих задач и потребностей клиентов разработчикам приходится использовать разные платформы управления репозиториями. Типичный разработчик участвует в каком-нибудь открытом проекте на GitHub, а на работе хостит проект одного клиента на GitLab, а другого — в Mercurial и на Bitbucket. Переключения между платформами осложняются тем, что в них одни и те же вещи могут называться совершенно по-разному. В этой статье мы поможем вам сопоставить различия и заодно объясним, почему мы выбрали именно такие названия.


Начиная с версии 8.4 в GitLab значительно улучшился процесс миграции репозиториев из GitHub. Теперь GitLab импортирует не только репозитории, но ещё и вики-страницы, тикеты и пулл-реквесты. При этом большинство сущностей не меняют своего названия. Например, специфические термины Git, такие как commit или push, везде одинаковы. Не меняются и такие общие термины, как users, webhooks и issues.


Читать дальше →

Как проинтегрировать TeamCity и Bitbucket Server

Время на прочтение3 мин
Количество просмотров17K


Bitbucket Server (ранее известный как Stash) — решение для централизованного управления разработкой, позволяющее управлять вашими репозиториями, в том числе не открывая доступа к ним извне организации. Bitbucket позволяет упростить хранение репозиториев с исходными кодами на вашем сервере и обеспечивает простоту доступа к репозиториям для всех членов вашей команды.

В мире IT известно, что Bitbucket может быть проинтегрирован с другими продуктами и платформами в единую экосистему, которая делает процесс разработки всеобъемлющим и удобным. Чаще всего Bitbucket интегрируется с JIRA. Однако, поиск и локализация проблем — не единственная задача, с которой типовой процесс разработки сталкивается каждый день, и даже несколько раз в день. Более важной задачей является сохранение целостности проекта в процессе внесения дополнений и исправлений в код. Для этих задач вы можете использовать CI-сервер, который в том числе позволяет создавать сборки проектов и выполнять серии тестов для автоматической проверки функциональности.

Bitbucket «из коробки» предлагает интеграцию с родственным решением от AtlassianBamboo. Но, помимо Bamboo, существуют другие CI-решения, которые также достаточно популярны — TeamCity и Jenkins. В нашем посте мы обрисуем специфику интеграции Bitbucket и TeamCity.

Читать дальше →

Монолитные репозитории в Git

Время на прочтение8 мин
Количество просмотров45K
Многие выбрали Git за его гибкость: в частности, модель веток и слияний позволяют эффективно децентрализовать разработку. В большинстве случаев эта гибкость является плюсом, однако некоторые сценарии поддержаны не так элегантно. Один из них — это использование Git для больших монолитных репозиториев — монорепозиториев. Эта статья исследует проблемы монорепозиториев в Git и предлагает способы их смягчения.

Скала Улуру
Скала Улуру в Австралии как пример монолита — КДПВ, не более

Что такое монорепозиторий?


Определения разнятся, но мы будем считать репозиторий монолитным при выполнении следующих условий:
  • Репозиторий содержит более одного логического проекта (например, iOS-клиент и веб-приложение)
  • Эти проекты могут быть не связаны, слабо связаны или связаны сторонними средствами (например, через систему управления зависимостями)
  • Репозиторий большой во многих смыслах:
    • По количеству коммитов
    • По количеству веток и/или тегов
    • По количеству файлов
    • По размеру содержимого (то есть размеру папки .git)
Читать дальше →

Поиск кода в Bitbucket Server

Время на прочтение5 мин
Количество просмотров15K

С удовольствием делюсь новостью, которая, надеюсь, порадует некоторых читателей Хабра: в Bitbucket Server вот-вот появится возможность поиска по коду. Буквально на днях вышел релиз по программе раннего доступа (EAP).

Начну с вольного перевода обращения менеджера продукта, опубликованного в блоге Atlassian:


Как часто это случалось с вами: вы видите сообщение об ошибке, но не знаете, в какой части кода она происходит, или вам известно название функции, но не репозиторий, в коде которого она определена. Многие из вас просили добавить в Bitbucket Server поиск по коду, и я рад сообщить, что ваше ожидание подошло к концу. Сегодня мы приглашаем наших пользователей опробовать поиск по коду в Bitbucket Server через программу раннего доступа (EAP). Теперь вы можете искать и находить нужный код с помощью строки поиска:

Строка поиска
Читать дальше →