Один из принципов дизайна в Atlassian — лаконичность. В ходе эволюции UX некоторые непопулярные действия, расчитанные на опытных пользователей, были спрятаны в выпадающих списках или за горячими клавишами. Там они ждут предприимчивого пользователя, который случайно наткнётся на них благодаря случайному нажатию клавиш или клику мышки (ну, или заглянет в руководство). Вот шесть моих любимых трюков Bitbucket Cloud, о которых вы, возможно, никогда не слышали:
Омнибар в Bitbucket — это строка быстрого доступа к действиям, похожая на ⇧⇧ в средах разработки JetBrains или ⌘+P в Sublime Text. Запустить омнибар можно на любой странице, нажав клавишу точки.
По умолчанию, он покажет набор действий, соответствующих текущему контексту:
![Omnibar](https://habrastorage.org/files/9bc/23c/61f/9bc23c61fc3c4da583ae1fae44cfbda7.gif)
Как только вы начнёте вводить символы, он будет искать по имени репозитории, принадлежащие вам или вашей команде:
![Поиск репозиториев](https://habrastorage.org/files/6e2/13b/2dd/6e213b2ddd6b452499d73b08b64c7605.gif)
А также заголовки задач и пулл реквестов — по всем вашим репозиторям:
![Поиск задач и пулл-реквестов](https://habrastorage.org/files/c87/721/2e9/c877212e932f42379215cc9a7f7754a5.gif)
И даже файлы в текущем репозитории по их названию:
![Поиск файлов по названию](https://habrastorage.org/files/a68/972/24b/a6897224b96640b4b860e46c9a62d948.gif)
Кстати, если помимо Bitbucket вы пользуетесь JIRA, попробуйте нажать клавишу точки, когда в следующий раз будете просматривать там какую-нибудь задачу.
Клавиша
Клавиши-модификаторы могут различаться в зависимости от браузера и операционной системы — перечисленные актуальны для Chrome на OS X, — так что воспользуйтесь списком сочетаний (⇧+?) в своём браузере, чтобы уточнить их.
![Список горячих клавиш](https://habrastorage.org/r/w1560/files/e36/bea/dd2/e36beadd2f024dc6911edca0faef94d0.png)
Даже если вы уже пользовались сниппетами в Bitbucket, чтобы делиться кодом, вы можете не знать о том, что с их же помощью можно делиться и другими типами файлов. Просто перетащите любой файл в область сниппета.
![Картинки в сниппетах](https://habrastorage.org/files/99a/1b4/370/99a1b4370b8041109c4d8594704bcc2a.gif)
Это может быть изображение, видео и даже компилированный код! По размеру файл должен не превышать 10 Мб. Есть также удобная консольная команда для загрузки файлов:
![Утилита для загрузки сниппетов](https://habrastorage.org/files/cf1/c29/e28/cf1c29e285fe4312bd1658ddbb2c7510.gif)
Страница Downloads в репозитории позволяет скачать архив с его кодом в состоянии, в котором он был на момент определённого коммита. Архив может быть
![Страница Downloads](https://habrastorage.org/r/w1560/files/610/69b/cca/61069bcca6a248179033125867d5a670.png)
Используемые в ссылках этой страницы URL выглядят примерно так:
Вот формат этой ссылки:
На самом деле, можно заменить
Более того, можно использовать ссылки на родительские коммиты — вот так можно сослаться на второго прародителя текущей ветки
Это может оказаться весьма удобным для нужд Continuous Integration и Continuous Delivery, когда необходимо скачать образ репозитория на момент определённого коммита. Git поддерживает кучу способов идентифицировать коммит, а кроме того, этот способ работает и с Mercuruial!
В июне мы запустили фреймворк Bitbucket Connect, позволяющий расширять пользовательский интерфейс Bitbucket. Возможно, вы уже пользовались какими-то из сторонних утилит, которые интегрировались с Bitbucket с помощью этого фреймворка. Однако с помощью Bitbucket Connect вы можете изменить ваш собственный Bitbucket.
К примеру, вот такой JSON является самостоятельным расширением для Bitbucket Connect:
После установки в Bitbucket на страницах коммитов появится ссылка Download as ZIP, — она будет использовать вышеупомянутый ресурс
![Добавленная расширением ссылка](https://habrastorage.org/r/w1560/files/398/3e5/86c/3983e586cd0f4d9bb67085e87011da48.png)
Этот аддон я выложил в виде сниппета, и установить его себе можно с помощью этой ссылки.
Вы можете использовать этот способ для добавления ссылок в ваши репозитории, визуализации вашего кода или реализации совершенно новых возможностей на основе Bitbucket. У фреймворка есть документация и получасовой видео-урок.
Если вы дочитали до сюда, то наверняка любите всё самое новое. Если это действительно так, зайдите в настройки Bitbucket и выберите Manage features в меню слева, чтобы включить предрелизные функции. К слову, прямо сейчас вас там ждёт улучшенный список пулл реквестов!
![Бета-функции](https://habrastorage.org/r/w1560/files/861/21c/fb5/86121cfb570e4c2fb2b7680621fd5100.png)
Время от времени заглядывайте в настройки снова, поскольку команда Bitbucket зачастую выкладывает тизер- и бета-версии задолго до официального релиза.
Спасибо за чтение! Если вы хотите поделиться своими трюками в Bitbucket или если у вас есть классная идея для расширения, оставьте комментарий здесь или пишите Тиму @kannonboy в Twitter.
Я с удовольствием отвечу на вопросы об этих и других возможностях Bitbucket. Надеюсь, какие-то из перечисленных трюков станут полезными для вас.
Автор оригинальной статьи — Тим Петтерсен, участвовал в разработке JIRA, FishEye/Crucible и Stash. С начала 2013 года он рассказывает о процессах разработки, git, непрерывной интеграции и поставке (continuous integration/deployment) и инструментах Atlassian для разработчиков, особенно о Bitbucket. Тим регулярно публикует заметки об этих и других вещах в Twitter под псевдонимом @kannonboy.
Омнибар
Омнибар в Bitbucket — это строка быстрого доступа к действиям, похожая на ⇧⇧ в средах разработки JetBrains или ⌘+P в Sublime Text. Запустить омнибар можно на любой странице, нажав клавишу точки.
По умолчанию, он покажет набор действий, соответствующих текущему контексту:
![Omnibar](https://habrastorage.org/files/9bc/23c/61f/9bc23c61fc3c4da583ae1fae44cfbda7.gif)
Как только вы начнёте вводить символы, он будет искать по имени репозитории, принадлежащие вам или вашей команде:
![Поиск репозиториев](https://habrastorage.org/files/6e2/13b/2dd/6e213b2ddd6b452499d73b08b64c7605.gif)
А также заголовки задач и пулл реквестов — по всем вашим репозиторям:
![Поиск задач и пулл-реквестов](https://habrastorage.org/files/c87/721/2e9/c877212e932f42379215cc9a7f7754a5.gif)
И даже файлы в текущем репозитории по их названию:
![Поиск файлов по названию](https://habrastorage.org/files/a68/972/24b/a6897224b96640b4b860e46c9a62d948.gif)
Кстати, если помимо Bitbucket вы пользуетесь JIRA, попробуйте нажать клавишу точки, когда в следующий раз будете просматривать там какую-нибудь задачу.
Горячие клавиши
Клавиша
.
для вызова омнибара — всего лишь одна из горячих. С помощью ⇧+? на любой странице можно увидеть список контекстно-зависимых сочетаний клавиш. Вот некоторые из тех, которыми в команде Bitbucket пользуются каждый день:- / — поместить курсор в строку поиска
- [ — свернуть/развернуть боковое меню
- ⌃+⏎ — опубликовать комментарий
Клавиши-модификаторы могут различаться в зависимости от браузера и операционной системы — перечисленные актуальны для Chrome на OS X, — так что воспользуйтесь списком сочетаний (⇧+?) в своём браузере, чтобы уточнить их.
![Список горячих клавиш](https://habrastorage.org/files/e36/bea/dd2/e36beadd2f024dc6911edca0faef94d0.png)
Бинарные сниппеты
Даже если вы уже пользовались сниппетами в Bitbucket, чтобы делиться кодом, вы можете не знать о том, что с их же помощью можно делиться и другими типами файлов. Просто перетащите любой файл в область сниппета.
![Картинки в сниппетах](https://habrastorage.org/files/99a/1b4/370/99a1b4370b8041109c4d8594704bcc2a.gif)
Это может быть изображение, видео и даже компилированный код! По размеру файл должен не превышать 10 Мб. Есть также удобная консольная команда для загрузки файлов:
![Утилита для загрузки сниппетов](https://habrastorage.org/files/cf1/c29/e28/cf1c29e285fe4312bd1658ddbb2c7510.gif)
Zip
или tar
любого коммита
Страница Downloads в репозитории позволяет скачать архив с его кодом в состоянии, в котором он был на момент определённого коммита. Архив может быть
zip
, tar.gz
или tar.bz2
:![Страница Downloads](https://habrastorage.org/files/610/69b/cca/61069bcca6a248179033125867d5a670.png)
Используемые в ссылках этой страницы URL выглядят примерно так:
bitbucket.org/atlassian/atlassian-connect-express/get/v1.0.4.zip
Вот формат этой ссылки:
bitbucket.org/<repo_owner>/<repo_name>/get/<revision>.<zip|tar.gz|tar.bz2>
На самом деле, можно заменить
<revision>
любым уникальным идентификатором коммита. Например, указав его короткий SHA-1 хеш: bitbucket.org/.../get/badc0de.zip
Более того, можно использовать ссылки на родительские коммиты — вот так можно сослаться на второго прародителя текущей ветки
master
: bitbucket.org/.../get/master^2~2.zip
Это может оказаться весьма удобным для нужд Continuous Integration и Continuous Delivery, когда необходимо скачать образ репозитория на момент определённого коммита. Git поддерживает кучу способов идентифицировать коммит, а кроме того, этот способ работает и с Mercuruial!
Настройка интерфейса
В июне мы запустили фреймворк Bitbucket Connect, позволяющий расширять пользовательский интерфейс Bitbucket. Возможно, вы уже пользовались какими-то из сторонних утилит, которые интегрировались с Bitbucket с помощью этого фреймворка. Однако с помощью Bitbucket Connect вы можете изменить ваш собственный Bitbucket.
К примеру, вот такой JSON является самостоятельным расширением для Bitbucket Connect:
{
"key": "download-commit-as-zip",
"name": "Download commit as ZIP",
"description": "Adds a \"Download as ZIP\" link to the commits page on Bitbucket",
"baseUrl": "https://bitbucket.org",
"modules": {
"webItems": [{
"key": "download-link",
"url": "https://bitbucket.org/{repo_path}/get/{commit_hash}.zip",
"name": {
"value": "Download as ZIP"
},
"location": "org.bitbucket.commit.summary.actions",
"params": {
"auiIcon": "aui-iconfont-down"
}
}],
"oauthConsumer": {
"clientId": "WaLh6mhKdRUDpVcXAH"
}
},
"scopes": ["team"],
"contexts": ["personal"]
}
После установки в Bitbucket на страницах коммитов появится ссылка Download as ZIP, — она будет использовать вышеупомянутый ресурс
/get/<revision>.zip
:![Добавленная расширением ссылка](https://habrastorage.org/files/398/3e5/86c/3983e586cd0f4d9bb67085e87011da48.png)
Этот аддон я выложил в виде сниппета, и установить его себе можно с помощью этой ссылки.
Вы можете использовать этот способ для добавления ссылок в ваши репозитории, визуализации вашего кода или реализации совершенно новых возможностей на основе Bitbucket. У фреймворка есть документация и получасовой видео-урок.
Включение предрелизных функций
Если вы дочитали до сюда, то наверняка любите всё самое новое. Если это действительно так, зайдите в настройки Bitbucket и выберите Manage features в меню слева, чтобы включить предрелизные функции. К слову, прямо сейчас вас там ждёт улучшенный список пулл реквестов!
![Бета-функции](https://habrastorage.org/files/861/21c/fb5/86121cfb570e4c2fb2b7680621fd5100.png)
Время от времени заглядывайте в настройки снова, поскольку команда Bitbucket зачастую выкладывает тизер- и бета-версии задолго до официального релиза.
На сегодня всё
Спасибо за чтение! Если вы хотите поделиться своими трюками в Bitbucket или если у вас есть классная идея для расширения, оставьте комментарий здесь или пишите Тиму @kannonboy в Twitter.
Я с удовольствием отвечу на вопросы об этих и других возможностях Bitbucket. Надеюсь, какие-то из перечисленных трюков станут полезными для вас.
Автор оригинальной статьи — Тим Петтерсен, участвовал в разработке JIRA, FishEye/Crucible и Stash. С начала 2013 года он рассказывает о процессах разработки, git, непрерывной интеграции и поставке (continuous integration/deployment) и инструментах Atlassian для разработчиков, особенно о Bitbucket. Тим регулярно публикует заметки об этих и других вещах в Twitter под псевдонимом @kannonboy.