Интеграция с Bitbucket Cloud
Интеграция с Bitbucket Cloud позволяет:
настроить связь с CI-системой Bitbucket Cloud:
- автоматически передавать результаты тестов из пайплайна Bitbucket Cloud в ТестОпс с помощью allurectl;
- запускать пайплайн Bitbucket Cloud из интерфейса ТестОпс через запуск джобы ТестОпс;
- синхронизировать статус запуска пайплайна сразу в обеих системах — ТестОпс и Bitbucket Cloud.
настроить связь с таск-трекером Bitbucket Cloud:
- связывать сущности ТестОпс (тест-кейсы, запуски, результаты тестов, дефекты, карантин) с задачами Bitbucket Cloud (см. Ссылки на задачи из таск-трекеров);
- получать ссылки на связанные запуски из ТестОпс в задачах Bitbucket Cloud.
В настроенной интеграции с CI-системой Bitbucket Cloud одна джоба ТестОпс соответствует одному пайплайну Bitbucket Cloud, а один запуск джобы — одному запуску пайплайна.
Примечание
Чтобы настроить или удалить любую интеграцию ТестОпс с внешней системой, необходима глобальная роль «Администратор» в инстансе ТестОпс и, как правило, права администратора инстанса внешней системы.
Настройка интеграции и подключений с Bitbucket Cloud
Чтобы настроить интеграцию с Bitbucket Cloud:
Настройте связь от ТестОпс к Bitbucket Cloud:
- Создайте API-токен в Bitbucket Cloud.
- Подключите интеграцию с Bitbucket Cloud на уровне инстанса ТестОпс.
- Добавьте настроенное подключение к Bitbucket Cloud в проект ТестОпс.
Настройте связь от Bitbucket Cloud к ТестОпс:
- Создайте API-токен в ТестОпс.
- Измените пайплайн в Bitbucket Cloud.
- Запустите и проверьте пайплайн в Bitbucket Cloud.
- Настройте созданную джобу в ТестОпс.
Параметризируйте джобу в ТестОпс и пайплайн в Bitbucket Cloud (при необходимости).
Важно
Если вы планируете использовать интеграцию:
- только с таск-трекером Bitbucket Cloud — достаточно выполнить шаги только по настройке связи от ТестОпс к Bitbucket Cloud;
- только с CI-системой Bitbucket Cloud — необходимо выполнить все шаги по настройке интеграции;
- с таск-трекером и CI-системой Bitbucket Cloud одновременно — необходимо выполнить все шаги по настройке интеграции.
1. Настройте связь от ТестОпс к Bitbucket Cloud
1.1. Создайте API-токен в Bitbucket Cloud
Перейдите в ваш инстанс Bitbucket Cloud.
Нажмите на ваш аватар и перейдите в раздел Account settings.
В верхнем меню перейдите на вкладку Security.
В разделе API tokens нажмите Create and manage API tokens.
Нажмите Create API token with scopes.
Заполните поля:
- Name — введите название токена, которое поможет вам распознать интеграцию (например, Токен для ТестОпс).
- Expires on — введите срок действия токена. После указанной даты интеграция перестанет работать. Чтобы возобновить ее работу, вам нужно будет создать новый токен.
Нажмите Next.
Выберите Bitbucket и нажмите Next.
Поставьте галочки напротив разрешений:
- read:account;
- read:user:bitbucket;
- read:repository:bitbucket;
- read:pipeline:bitbucket и write:pipeline:bitbucket — если планируете использовать интеграцию с CI-системой Bitbucket Cloud;
- read:issue:bitbucket и write:issue:bitbucket — если планируете использовать интеграцию с таск-трекером Bitbucket Cloud.
Нажмите Next.
Нажмите Create token.
Нажмите Copy, чтобы скопировать токен в буфер обмена.
Сохраните токен в безопасном месте, он понадобится для подключения интеграции с Bitbucket Cloud в ТестОпс.
1.2. Подключите интеграцию с Bitbucket Cloud на уровне инстанса ТестОпс
Перейдите в ваш инстанс ТестОпс.
Перейдите в раздел Администрирование → Интеграции.
Нажмите Добавить интеграцию.
В списке доступных интеграций выберите Bitbucket Cloud.
Заполните поля:
Название подключения — введите название, которое поможет вам распознать интеграцию (например, Bitbucket Cloud production).
Endpoint — введите URL-адрес Bitbucket Cloud c названием вашего рабочего пространства (например, https://bitbucket.org/my-workspace/).
Тип учетных данных — нажмите на выпадающий список и выберите тип учетных данных Bitbucket Cloud, который будет поддерживать интеграция:
- Все (глобальные и проектные) — интеграция может работать как с глобальными, так и с проектными учетными данными;
- Только глобальные — интеграция может работать только с глобальными учетными данными;
- Только проектные — интеграция может работать только с проектными учетными данными.
Примечание
Подробнее о поддерживаемых типах учетных данных см. Интеграции с внешними системами → Глобальные и проектные учетные данные.
Если ваш инстанс Bitbucket Cloud использует самоподписанный SSL-сертификат, уберите галочку напротив Проверка SSL-сертификата.
Если вы планируете использовать интеграцию с таск-трекером Bitbucket Cloud, в секции Репозитории добавьте репозитории Bitbucket Cloud, в которых находятся нужные задачи:
- Нажмите + Добавить.
- В поле Рабочее пространство введите название проекта, в котором расположен нужный репозиторий.
- В поле Название репозитория введите название репозитория.
Совет
Чтобы определить названия проекта и репозитория, перейдите в ваше рабочее пространство в Bitbucket Cloud, например, https://bitbucket.org/my-workspace/workspace/overview и в сайдбаре слева разверните разделы Repositories и Projects.
Если интеграция может работать с глобальными учетными данными Bitbucket Cloud, в секции Глобальные учетные данные:
- Введите электронную почту нужной учетной записи в Bitbucket Cloud.
- Введите API-токен, который вы сохранили на шаге 1.1.
Нажмите Добавить подключение.
В разделе Администрирование → Интеграции появится интеграция с Bitbucket Cloud с одним автоматически созданным подключением.
1.3. Добавьте настроенное подключение к Bitbucket Cloud в проект ТестОпс
Чтобы добавить настроенное подключение к Bitbucket Cloud в нужный проект ТестОпс, воспользуйтесь одним из способов:
В ТестОпс перейдите в раздел Администрирование → Интеграции.
В списке настроенных интеграций найдите и откройте интеграцию с Bitbucket Cloud.
В списке настроенных подключений найдите и откройте ваше подключение к Bitbucket Cloud.
Нажмите Добавить в проект.
В списке доступных проектов выберите нужный проект ТестОпс.
Если интеграция может работать и с глобальными, и с проектными учетными данными Bitbucket Cloud, в поле Тип учетных данных нажмите на выпадающий список и выберите вариант, который будет использоваться в проекте:
- Проектные — использовать проектные учетные данные для подключения к Bitbucket Cloud;
- Глобальные — использовать глобальные учетные данные для подключения к Bitbucket Cloud.
Если интеграция будет работать с проектными учетными данными Bitbucket Cloud, в секции Проектные учетные данные:
- Введите электронную почту нужной учетной записи в Bitbucket Cloud.
- Введите API-токен, который вы сохранили на шаге 1.1.
Нажмите Добавить в проект.
2. Настройте связь от Bitbucket Cloud к ТестОпс
Выполните шаги ниже, если вы планируете запускать пайплайны Bitbucket Cloud из интерфейса ТестОпс и автоматически синхронизировать результаты тестов.
2.1. Создайте API-токен в ТестОпс
В ТестОпс нажмите на ваш аватар и перейдите в раздел API-токены.
Нажмите + Токен.
Введите название токена, которое поможет вам распознать интеграцию (например, Токен для Bitbucket Cloud).
Нажмите Создать.
ТестОпс сгенерирует токен и отобразит его в модальном окне.
Нажмите иконку Копировать, чтобы скопировать токен в буфер обмена.
Cохраните токен в безопасном месте, он понадобится для настройки интеграции в Bitbucket Cloud.
Нажмите Готово.
2.2. Измените пайплайн в Bitbucket Cloud
Перейдите в ваш репозиторий Bitbucket Cloud.
В сайдбаре слева перейдите в раздел Source.
Откройте файл bitbucket-pipelines.yml.
В правом верхнем углу нажмите Edit.
На вкладке Configure разверните раздел Add variables.
В секции Repository добавьте переменные окружения, заполнив поля:
Name Value Secured ALLURE_ENDPOINT URL-адрес инстанса ТестОпс Нет ALLURE_TOKEN API-токен ТестОпс, который вы сохранили на шаге 2.1 Да ALLURE_PROJECT_ID ID проекта ТестОпс Нет Примечание
Обязательно отметьте как Secured только ALLURE_TOKEN. Для остальных переменных этот параметр опционален.
В коде пайплайна, который запускает тесты:
Добавьте блок
variables. Он должен включать переменные со значениями:ALLURE_LAUNCH_NAME— шаблон названия запуска.ALLURE_RESULTS— путь к директории с результатами тестов (например, build/allure-results).
Совет
Вы можете добавить дополнительные переменные для гибкой настройки пайплайна. Например, с помощью переменной
ALLURE_LAUNCH_TAGSможно указать теги, которые будут присвоены запуску в ТестОпс.Подробнее о доступных переменных см. allurectl.
В блоке
step.scriptдобавьте шаг, который загружает allurectl и делает его исполняемым.Пример изменения пайплайна
yamlimage: python:3.8 pipelines: custom: pytest python tests: - variables: - name: ALLURE_LAUNCH_NAME default: "" - name: ALLURE_RESULTS default: "build/allure-results" - step: name: pytest tests script: - /usr/local/bin/python -m pip install --upgrade pip - pip install pytest allure-pytest - export ALLURE_LAUNCH_NAME="${BITBUCKET_REPO_FULL_NAME} - ${BITBUCKET_BUILD_NUMBER}" - wget https://github.com/allure-framework/allurectl/releases/latest/download/allurectl_linux_amd64 -O ./allurectl - chmod +x ./allurectl - ./allurectl watch -- pytest tests --alluredir=${ALLURE_RESULTS}
Сохраните изменения в файле.
2.3. Запустите и проверьте пайплайн в Bitbucket Cloud
В Bitbucket Cloud откройте репозиторий, для которого вы настраиваете интеграцию.
Перейдите к запуску пайплайна, инициированному последним коммитом.
Примечание
Если у вас отключен автоматический запуск пайплайна после коммитов, выполните запуск вручную.
Дождитесь, когда завершится выполнение пайплайна.
В деталях выполнения пайплайна нажмите на шаг, который запускает тесты.
Ближе к концу лога шага найдите ссылку на запуск в ТестОпс (например,
Report link: https://testops.example.com/jobrun/23).Перейдите по ссылке в ТестОпс и откройте карточку результата одного из тестов.
В левом нижнем углу в секции Из запуска джобы найдите ссылку на пайплайн Bitbucket Cloud.
Перейдите по ссылке в Bitbucket Cloud, чтобы убедиться, что она работает корректно.
2.4. Настройте джобу в ТестОпс
Перейдите в ваш проект ТестОпс.
Перейдите в раздел Джобы.
В списке будет отображаться новая джоба, автоматически добавленная во время запуска на шаге 2.3.
Напротив добавленной джобы нажмите
⋯→ Настроить.Заполните поля:
Название — введите название, которое поможет вам распознать джобу.
Сервер сборки — нажмите на выпадающий список и выберите название подключения к Bitbucket Cloud, которое вы добавили на шаге 1.2.
Джоба может быть использована для запуска тестов — поставьте галочку, чтобы пользователи могли запускать джобу из ТестОпс.
Параметры — добавьте переменные Branch и CustomName, которые необходимы для правильной работы интеграции с Bitbucket Cloud. Для этого нажмите + Добавить и заполните поля:
Название Значение Переменная окружения Branch Название ветки для запуска тестов в Bitbucket Cloud по умолчанию — CustomName Название пайплайна Bitbucket Cloud из файла bitbucket-pipelines.yml в секции pipelines: custom:—
Нажмите Отправить.
3. Параметризируйте джобу в ТестОпс и пайплайн в Bitbucket Cloud
При запуске пайплайнов в Bitbucket Cloud можно указывать переменные. ТестОпс поддерживает эту функциональную возможность через Окружение, которое позволяет задавать параметры для новых джоб ТестОпс и просматривать параметры из пайплайнов, запущенных со стороны Bitbucket Cloud.
3.1. Добавьте глобальные переменные окружения в ТестОпс
Перейдите в ваш инстанс ТестОпс.
Перейдите в раздел Администрирование → Окружения.
Для каждой переменной, которую вы хотите добавить:
- Нажмите + Создать.
- Введите название глобальной переменной.
- Нажмите Отправить.

3.2. Сопоставьте переменные пайплайна с глобальными переменными окружения в ТестОпс
Перейдите в ваш проект ТестОпс.
Перейдите в раздел Настройки → Окружение.
Для каждой переменной, которую вы хотите использовать:
- Нажмите + Создать, если переменной нет в списке. Если переменная уже существует, напротив ее названия нажмите иконку Редактировать.
- В поле Ключ введите название переменной, которое будет использоваться в Bitbucket Cloud.
- В поле Переменная окружения нажмите на выпадающий список и выберите название глобальной переменной в ТестОпс из шага 3.1.
- Нажмите Отправить.

3.3. Добавьте параметры в джобу ТестОпс
В ТестОпс перейдите в раздел Джобы.
Напротив джобы, которую вы хотите параметризировать, нажмите
⋯→ Настроить.Для каждой переменной, которую вы хотите добавить, в секции Параметры нажмите + Добавить и заполните поля:
- Название — введите название переменной, которое будет использоваться в Bitbucket Cloud (такое же, как Ключ из шага 3.2).
- Значение — введите значение по умолчанию, которое должно использоваться, если не указано другое значение для конкретного запуска.
- Переменная окружения — нажмите на выпадающий список и выберите название глобальной переменной в ТестОпс из шага 3.1.

Нажмите Отправить.
3.4. Укажите переменные в пайплайне Bitbucket Cloud
Перейдите в ваш репозиторий Bitbucket Cloud.
В сайдбаре слева перейдите в раздел Source.
Откройте файл bitbucket-pipelines.yml.
В правом верхнем углу нажмите Edit.
Добавьте в блок
variablesпеременные, которые будут использоваться при запуске тестов (такие же, как Ключ из шага 3.2).Пример использования переменных в пайплайне
Предположим, вы указали значения по умолчанию для переменных PRODUCT_VERSION и TESTS_BROWSER. Чтобы связать пайплайн с этими переменными, добавьте их в блок
variables:yamltest: - variables: - name: ALLURE_LAUNCH_NAME default: "" - name: ALLURE_RESULTS default: "build/allure-results" - name: PRODUCT_VERSION default: "1.23" - name: TESTS_BROWSER default: "chrome"
Пример настроенного пайплайна Bitbucket Cloud
Ниже приведен пример пайплайна Bitbucket Cloud, который дает общее представление о настройке интеграции между Bitbucket Cloud и ТестОпс:
yaml
image: python:3.8
pipelines:
custom:
pytest python tests:
- variables:
- name: ALLURE_LAUNCH_NAME
default: ""
- name: ALLURE_RESULTS
default: "build/allure-results"
- name: ALLURE_LAUNCH_TAGS
default: "bitbucket, pytest"
- name: TESTS_BROWSER
default: "firefox"
- step:
name: pytest tests
script:
- /usr/local/bin/python -m pip install --upgrade pip
- pip install pytest allure-pytest
- export ALLURE_LAUNCH_NAME="${BITBUCKET_REPO_FULL_NAME} - ${BITBUCKET_BUILD_NUMBER}"
- wget https://github.com/allure-framework/allurectl/releases/latest/download/allurectl_linux_amd64 -O ./allurectl
- chmod +x ./allurectl
- ./allurectl watch -- pytest tests --alluredir=${ALLURE_RESULTS}Удаление подключений и интеграции с Bitbucket Cloud
Вы можете удалить подключение к интеграции с Bitbucket Cloud двумя способами — на уровне отдельного проекта (через настройки проекта) или на уровне всего инстанса ТестОпс (через раздел Администрирование).
Удаление подключения на уровне проекта
Важно
Последствия удаления всех подключений из интеграции с Bitbucket Cloud на уровне проекта:
Подключения к интеграции с Bitbucket Cloud перестанут отображаться в списке подключений проекта, но продолжат работать в других проектах инстанса, в которых они были добавлены, и сохранятся в разделе Администрирование → Интеграции.
Интеграция с Bitbucket Cloud перестанет отображаться в списке интеграций проекта, но сохранится в разделе Администрирование → Интеграции.
Связь с инстансом Bitbucket Cloud будет удалена из джоб ТестОпс, которые относятся к интеграции и находятся в этом проекте:
- Иконки для запуска и обновления этих джоб в разделе Джобы останутся активными.
- ТестОпс не сможет запустить тесты из проекта на стороне Bitbucket Cloud. После закрытия запуска результаты этих тестов получат статус «Неизвестный».
- Результаты запусков тестов из Bitbucket Cloud не будут отправляться в проект ТестОпс.
Все связи с задачами Bitbucket Cloud, которые относятся к интеграции, будут сохранены в сущностях ТестОпс, но вы не сможете создавать новые связи для этого проекта.
Чтобы удалить подключение на уровне проекта:
- Перейдите в ваш проект ТестОпс.
- Перейдите в раздел Настройки → Интеграции.
- В списке настроенных интеграций найдите и откройте интеграцию с Bitbucket Cloud.
- Напротив нужного подключения к Bitbucket Cloud нажмите
⋯→ Удалить → Да, удалить.
Подключение перестанет работать в вашем проекте.
Удаление подключения на уровне инстанса
Важно
Последствия удаления всех подключений из интеграции с Bitbucket Cloud на уровне инстанса:
Подключения и интеграция с Bitbucket Cloud будут полностью удалены.
Связь с инстансом Bitbucket Cloud будет удалена из всех джоб ТестОпс, которые относятся к интеграции:
- Иконки для запуска и обновления этих джоб в разделе Джобы станут неактивными.
- Результаты запусков тестов из Bitbucket Cloud не будут отправляться в инстанс ТестОпс.
Все связи с задачами Bitbucket Cloud, которые относятся к интеграции, будут удалены из сущностей ТестОпс. Это действие необратимо — восстановить удаленные ссылки будет невозможно.
Чтобы удалить подключение на уровне инстанса:
- В ТестОпс перейдите в раздел Администрирование → Интеграции.
- В списке настроенных интеграций найдите и откройте интеграцию с Bitbucket Cloud.
- В списке настроенных подключений откройте карточку нужного подключения и напротив названия каждого проекта нажмите
⋯→ Удалить из проекта → Да, удалить. - Нажмите Назад в интеграцию, чтобы вернуться к списку подключений.
- Напротив нужного подключения к Bitbucket Cloud нажмите
⋯→ Удалить → Да, удалить.
Подключение перестанет работать во всех проектах инстанса.

