[Из песочницы] Bitbucket анонсировала системы плагинов: новый виток борьбы облачных VCS
Bitbucket анонсировал «Atlassian connect for Bitbucket»: возможность создавать плагины, встраиваемые в облачную часть Bitbucket, расширяющие его интерфейс и добавляющие новые возможности. Это качественный рывок в борьбе между Bitbucket, Github, Gitlab и TFS: если раньше мы были ограничены вебхуками и REST API, то теперь появилась возможность допиливать «под себя» и для других разработчиков непосредственно облачный интерфейс. Ужа доступно несколько расширений, основанных на nodejs SDK для создания плагинов и документация.
Как разъясняют в анонсе разработчики Bitbucket, одна из проблем современной разработки — это постоянное переключение контекста. Да, у нас есть интеграция между многочисленными тулзами, но это не избавляет разработчика от необходимости переключаться между облачным интерфейсом системы контроля версий, командной строкой, где он запускает тесты, облачным интерфейсом continuous integration системы и множество других кон, окошек и консолей. Платформа «Atlassian Connect» призвана облегчить жизнь разработчиков, позволяет дополнять и надстраивать существующий интерфейс облачно системы, добавляя в него необходимую функциональность и интерфейсы других сервисов. Как это выглядит «вживую» можно посмотреть на этом видео:[embedded content]
Технически все реализовано следующим образом. Плагин, или, как его называет Atalssian, Аддон — это веб-сервер, который запускается где-то в облаке (он должен быть доступен Bitbucket по url) и регистрируется в Bitbucket по HTTP API. Когда пользователь заходит в настройки своего профиля, у него есть выбор: либо установить разрабатываемый аддон по url, либо установить один из зарегистрированных в маркете адонов. После чего Bitbucket обращается к аддону и запрашивает у него по REST API информацию по точкам расширения — какие кнопки он хочет добавить в интерфейс, какие окна предоставить и так далее. И когда пользователь попадает на экран Bitbucket, где что-то должно быть расширено и улучшено аддоном — то Bitbucket запрашивает у аддона соответствующие части интерфейса как картинки и ifram’ы, встраивает их в свой интерфейс.Интеграция двусторонняя: не только Bitbucket получает от аддона информацию и элементы интерфейса, но и аддон обращается к Bitbucket по REST API для совершения полезных действий.
Уже доступен десяток готовых аддонов, которые можно подключить в настройках профиля пользователя, раздел «add-ons», «manage add-ons». Также можно начать разрабатывать свои аддоны: для этого доступна документация и основанный на nodejs sdk, который можно поставить с помощью npm. Надеюсь, что эта инициатива Bitbucket не останется незамеченной остальными разработчиками облачных VCS, и в скором времени мы увидим механизмы расширений для Github, Gilab, TFS и других платформ. Что, в свою очередь, немного облегчит жизнь разработчиков и позволит легче создавать замечательный софт.