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

From Svacer Wiki
Revision as of 17:54, 7 April 2023 by Akuzmin (talk | contribs)
Jump to navigation Jump to search

Общую документацию по использованию хуков см. на странице Help:ServerAdministration#Hooks

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

Gitlab

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

  • Скачайте и распакуйте архив со скриптом и конфигом хука: File: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/gitlab/hooks.json
  • Хук будет доступен в UI Svacer, на правой панели, в Details > Hooks > Run

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

Jira

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

  • Скачайте и распакуйте архив со скриптом и конфигом хука: File: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 проекта джиры (его можно найти на главной странице проекта, под именем)

  • Создайте 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/jira/hooks.json
  • Хук будет доступен в UI Svacer, на правой панели, в Details > Hooks > Run

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