Примеры использования хуков

From Svacer Wiki
Revision as of 16:04, 30 May 2024 by Akuzmin (talk | contribs) (fix general hooks documentation page link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Общую документацию по использованию хуков смотрите на другой странице.

Создание кейсов в системах отслеживания ошибок

Gitlab

На сервере, где будет выполняться хук, должен быть установлен python3.

  • Скачайте и распакуйте архив со скриптом и конфигом хука: Gitlab-hooks.zip
  • Сделайте файл gitlab-create-issue.py исполняемым
 chmod u+x gitlab-create-issue.py
  • Поменяйте в файле gitlab-create-issue.py путь к интерпретатору python3, если в вашей системе он не такой, как указано там в первой строчке
  • В файле hooks.json поменяйте URL гитлаба в args
  • В качестве второго аргумента args впишите ID проекта гитлаба. Его можно найти на главной странице проекта, под именем

  • В гитлабе создайте Access Token для проекта в Settings > Access Tokens. Выберите роль 'Reporter', scope — 'api'

  • Созданный токен впишите как третий аргумент в args
  • В аргументе cmd этого же файла укажите полный путь к скрипту gitlab-create-issue.py
  • Если вы настраиваете хук на Windows, то вместо этого укажите в cmd путь к интерпретатору python (или просто имя, если он есть в PATH), а в качестве первого аргумента в args добавьте путь к скрипту хука
  "cmd": "python",
  "args": [
    "C:\\svacer-hooks\\gitlab-create-issue.py",
    "https://gitlab.example.com",
    ...
  • Запустите svacer с указанием пути к файлу hooks.json в аргументе hooks
 svacer server --hooks=/home/user/svacer/hooks.json
  • Хук будет доступен в UI Svacer, на правой панели, в Details > Hooks > Run

  • После нажатия на хук он выполнится и в указанном проекте гитлаба будет создан новый кейс с информацией из предупреждения в заголовке и описании, в качестве лейбла (тега) будет задан severity чекера

Jira

На сервере, где будет выполняться хук, должен быть установлен python3.

  • Скачайте и распакуйте архив со скриптом и конфигом хука: Jira-hooks.zip
  • Сделайте файл jira-create-issue.py исполняемым
 chmod u+x jira-create-issue.py
  • Поменяйте в файле jira-create-issue.py путь к интерпретатору python3, если в вашей системе он не такой, как указано там в первой строчке
  • В файле hooks.json поменяйте URL джиры в args
  • В качестве второго аргумента args впишите ID проекта джиры. Его можно найти на главной странице проекта в графе Key, или взять из URL проекта

  • Создайте Personal Access Token для аккаунта, от которого будут создаваться кейсы в Profile > Personal Access Tokens > Create Token. У этого аккаунта должны быть права на создание кейсов в соответствующем проекте
  • Созданный токен впишите как третий аргумент в args
  • В качестве четвертого аргумента в args укажите тип кейса, который будет создаваться. Посмотреть какие типы доступны в вашем проекте можно при создании кейса в поле issue type

  • В аргументе cmd этого же файла укажите полный путь к скрипту jira-create-issue.py
  • Если вы настраиваете хук на Windows, то вместо этого укажите в cmd путь к интерпретатору python (или просто имя, если он есть в PATH), а в качестве первого аргумента в args добавьте путь к скрипту хука
  "cmd": "python",
  "args": [
    "C:\\svacer-hooks\\jira-create-issue.py",
    "https://jira.example.com",
    ...
  • Запустите svacer с указанием пути к файлу hooks.json в аргументе hooks
 svacer server --hooks=/home/user/svacer/hooks.json
  • Хук будет доступен в UI Svacer, на правой панели, в Details > Hooks > Run

  • После нажатия на хук он выполнится и в указанном проекте джиры будет создан новый кейс с информацией из предупреждения в заголовке и описании, в качестве лейбла (тега) будет задан severity чекера


Redmine

На сервере, где будет выполняться хук, должен быть установлен python3.

  • Скачайте и распакуйте архив со скриптом и конфигом хука: Redmine-hooks.zip
  • Сделайте файл redmine-create-issue.py исполняемым
 chmod u+x redmine-create-issue.py
  • Поменяйте в файле redmine-create-issue.py путь к интерпретатору python3, если в вашей системе он не такой, как указано там в первой строчке
  • В файле hooks.json поменяйте URL редмайна в args
  • В качестве второго аргумента args впишите ID проекта редмайна. Его можно найти в настройках проекта, или взять из URL

  • В Redmine должен быть включен REST API в Administration > Settings > API

  • Когда REST API включен, вы найдете свой API-ключ на странице аккаунта (/my/account), в правой панели

  • Впишите этот ключ как третий аргумент в args
  • В аргументе cmd этого же файла укажите полный путь к скрипту redmine-create-issue.py
  • Если вы настраиваете хук на Windows, то вместо этого укажите в cmd путь к интерпретатору python (или просто имя, если он есть в PATH), а в качестве первого аргумента в args добавьте путь к скрипту хука
  "cmd": "python",
  "args": [
    "C:\\svacer-hooks\\redmine-create-issue.py",
    "https://redmine.example.com",
    ...
  • Запустите svacer с указанием пути к файлу hooks.json в аргументе hooks
 svacer server --hooks=/home/user/svacer/hooks.json
  • Хук будет доступен в UI Svacer, на правой панели, в Details > Hooks > Run

  • После нажатия на хук он выполнится и в указанном проекте редмайна будет создан новый кейс с информацией из предупреждения в заголовке и описании