
Bamboo
Test IT поддерживает интеграцию с Bamboo. Для настройки используется всего несколько строк кода, поддерживаются любые тестовые фреймворки и платформы.
Вы можете интегрировать как простые проекты (только с запуском тестов), так и сложные проекты (несколько отдельных проектов), которые запускаются в несколько независимых потоков.
Независимо от ваших требований процесс интеграции будет одинаков:
- Запуск автоматизированных тестов в пайплайнах GitLab
 - Для Test IT CLI: Генерация JUnit XML отчета с результатами автоматизированных тестов
 - Загрузка результатов с помощью Test IT CLI или адаптера Test IT для тестовых фреймворков
 
Используйте переменную окружения
Чтобы утилита Test IT CLI работала корректно, передавайте приватный токен через переменную окружения TMS_TOKEN. О безопасной передаче токена читайте в разделе Безопасное хранение данных.
Стандартный запуск
Данная инструкция описывает запуск простого проекта в Bamboo. Она актуальна для любых тестовых фреймворков и платформ. В качестве примера описан запуск с помощью тестового фреймворка Pytest для Python.
Для быстрой и простой интеграции с Test IT вы можете использовать утилиту Test IT CLI, которая позволяет загрузить все результаты автотестов с помощью одной команды.
Ниже представлен пример файла bamboo.yaml, который отвечает за работу пайплайнов в Bamboo (необходимо указать URL вашего ресурса):
# bamboo-specs/bamboo.yaml
plan:
  project-key: <PROJECT_KEY>
  key: BI
  name: Bamboo Integration
stages:
  - Test:
    - Tests
            
Tests:
    tasks:
        - script:
            # Install project dependencies
            - pip install -r requirements.txt
            # Execute test and generate report
            - pytest --junitxml=results/test-results.xml src/tests.py
    final-tasks:
        - script:
            # Install Test IT CLI
            - pip install testit-cli
            
            # Submit test results to TMS
            - testit
              --url <YOUR_INSTANCE_URL> \
              --project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
              --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
              --testrun-name "Bamboo test run" \
              --results results/test-results.xml
Простым добавлением необходимых шагов вы можете запускать множество необходимых вам тестов и загружать их в Test IT. Больше информации вы можете найти в официальной документации.
Параллельный запуск
Test IT поддерживает параллельный запуск автоматизированных тестов в Bamboo. При этом добавляются дополнительные независимые шаги для создания, завершения прогона (тест-рана) и запуска тестов.
Ниже представлен пример файла bamboo.yaml, который отвечает за работу пайплайнов в Bamboo (необходимо указать URL вашего ресурса и токен переменной):
# bamboo-specs/bamboo.yaml
version: 2
plan:
  project-key: <PROJECT_KEY>
  key: BI
  name: Bamboo Integration
stages:
  - Create:
    - Create testrun
  - Test:
      jobs:
        - Tests 1
        - Tests 2
  - Complete:
    - Complete testrun
Create testrun:
    tasks:
        - script:
            # Install Test IT CLI
            - pip install testit-cli
  
            # Create testrun
            - testit testrun create \
              --url <YOUR_INSTANCE_URL> \
              --project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
              --token <TOKEN_VARIABLE> \
              --testrun-name "Bamboo test run" \
              --output output.txt
    artifacts:
        -
           name: Reports
           location: .
           pattern: 'output.txt'
           shared: true
    
Tests 1:
    tasks:
        - script:
            # Install project dependencies 
            - pip install -r requirements.txt
            
            # Execute test and generate report
            - pytest --junitxml=results/test-results.xml src/tests.py
    final-tasks:
        - script:         
            # Install Test IT CLI
            - pip install testit-cli
            
            # Submit test results to TMS
            - testit results upload \
              --url <YOUR_INSTANCE_URL> \
              --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
              --testrun-id "$(cat output.txt)" \
              --results results/test-results.xml
            
Tests 2:
    tasks:
        - script:
            # Install project dependencies 
            - pip install -r requirements.txt
            
            # Execute test and generate report
            - pytest --junitxml=results/test-results.xml src/tests.py
    final-tasks:
        - script:            
            # Install Test IT CLI
            - pip install testit-cli
            
            # Submit test results to TMS
            - testit results upload \
              --url <YOUR_INSTANCE_URL> \
              --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
              --testrun-id "$(cat output.txt)" \
              --results results/test-results.xml
              
Complete testrun:
    tasks:
        - script:
            # Install Test IT CLI
            - pip install testit-cli
        
            # Complete testrun
            - testit testrun complete \
              --url <YOUR_INSTANCE_URL> \
              --testrun-id "$(cat output.txt)"
Безопасное хранение данных
Для работы утилиты Test IT CLI вам необходимо использовать приватный токен для авторизации. Хранение данного токена и другой чувствительной информации в коде строго не рекомендуется, так как доступ к этой информации будет иметь любой у кого есть доступ к коду.
Используйте переменные Bamboo для хранения чувствительной информации. Подробнее с секретами вы можете ознакомится в официальной документации.