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

From Svacer Wiki
(add jira hook info)
(fix general hooks documentation page link)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
__TOC__
__TOC__


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


== Создание кейсов в системах отслеживания ошибок ==
== Создание кейсов в системах отслеживания ошибок ==
Line 8: Line 8:
На сервере, где будет выполняться хук, должен быть установлен '''python3'''.
На сервере, где будет выполняться хук, должен быть установлен '''python3'''.


* Скачайте и распакуйте архив со скриптом и конфигом хука: [[File:Gitlab-hooks.zip]]
* Скачайте и распакуйте архив со скриптом и конфигом хука: [[Media:Gitlab-hooks.zip|Gitlab-hooks.zip]]
* Сделайте файл gitlab-create-issue.py исполняемым
* Сделайте файл '''gitlab-create-issue.py''' исполняемым
   chmod u+x gitlab-create-issue.py
   chmod u+x gitlab-create-issue.py
* Поменяйте в файле gitlab-create-issue.py путь к интерпретатору python3, если в вашей системе он не такой, как указано там в первой строчке
* Поменяйте в файле '''gitlab-create-issue.py''' путь к интерпретатору '''python3''', если в вашей системе он не такой, как указано там в первой строчке
* В файле '''hooks.json''' поменяйте URL гитлаба в '''args'''
* В файле '''hooks.json''' поменяйте URL гитлаба в '''args'''
* В качестве второго аргумента args впишите ID проекта гитлаба (его можно найти на главной странице проекта, под именем)
* В качестве второго аргумента args впишите ID проекта гитлаба. Его можно найти на главной странице проекта, под именем
:[[File:Gitlab-project-id.png|thumb|left]]<br clear=all />
:[[File:Gitlab-project-id.png|thumb|left]]<br clear=all />
* В гитлабе создайте Access Token для проекта в '''Settings > Access Tokens'''. Выберите роль 'Reporter', scope — 'api'
* В гитлабе создайте Access Token для проекта в '''Settings > Access Tokens'''. Выберите роль 'Reporter', scope — 'api'
Line 19: Line 19:
* Созданный токен впишите как третий аргумент в '''args'''
* Созданный токен впишите как третий аргумент в '''args'''
* В аргументе '''cmd''' этого же файла укажите полный путь к скрипту '''gitlab-create-issue.py'''
* В аргументе '''cmd''' этого же файла укажите полный путь к скрипту '''gitlab-create-issue.py'''
* Запустите svacer с указанием пути к файлу hooks.json в аргументе '''hooks'''
:* Если вы настраиваете хук на Windows, то вместо этого укажите в '''cmd''' путь к интерпретатору python (или просто имя, если он есть в PATH), а в качестве первого аргумента в '''args''' добавьте путь к скрипту хука
   svacer server --hooks=/home/user/svacer/hooks/gitlab/hooks.json
<pre>
  "cmd": "python",
  "args": [
    "C:\\svacer-hooks\\gitlab-create-issue.py",
    "https://gitlab.example.com",
    ...
</pre>
* Запустите svacer с указанием пути к файлу '''hooks.json''' в аргументе '''hooks'''
   svacer server --hooks=/home/user/svacer/hooks.json
* Хук будет доступен в UI Svacer, на правой панели, в '''Details > Hooks > Run'''
* Хук будет доступен в UI Svacer, на правой панели, в '''Details > Hooks > Run'''
:[[File:Gitlab-create-issue.png|thumb|left]]<br clear=all />
:[[File:Gitlab-create-issue.png|thumb|left]]<br clear=all />
* После нажатия на хук он выполнится и в указанном проекте гитлаба будет создан новый кейс с информацией из предупреждения в заголовке и описании, также в качестве лейбла (тега) будет задан severity чекера
* После нажатия на хук он выполнится и в указанном проекте гитлаба будет создан новый кейс с информацией из предупреждения в заголовке и описании, в качестве лейбла (тега) будет задан severity чекера
:[[File:Gitlab-created-issue.png|thumb|left]]<br clear=all />
:[[File:Gitlab-created-issue.png|thumb|left]]<br clear=all />


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


* Скачайте и распакуйте архив со скриптом и конфигом хука: [[File:Jira-hooks.zip]]
* Скачайте и распакуйте архив со скриптом и конфигом хука: [[Media:Jira-hooks.zip|Jira-hooks.zip]]
* Сделайте файл jira-create-issue.py исполняемым
* Сделайте файл '''jira-create-issue.py''' исполняемым
   chmod u+x jira-create-issue.py
   chmod u+x jira-create-issue.py
* Поменяйте в файле jira-create-issue.py путь к интерпретатору python3, если в вашей системе он не такой, как указано там в первой строчке
* Поменяйте в файле jira-create-issue.py путь к интерпретатору '''python3''', если в вашей системе он не такой, как указано там в первой строчке
* В файле '''hooks.json''' поменяйте URL джиры в '''args'''
* В файле '''hooks.json''' поменяйте URL джиры в '''args'''
* В качестве второго аргумента args впишите ID проекта джиры (его можно найти на главной странице проекта, под именем)
* В качестве второго аргумента args впишите ID проекта джиры. Его можно найти на главной странице проекта в графе '''Key''', или взять из URL проекта
:[[File:Jira-project-id.png|thumb|left]]<br clear=all />
:[[File:Jira-project-id.png|thumb|left]]<br clear=all />
* Создайте Personal Access Token для аккаунта, от которого будут создаваться кейсы в '''Profile > Personal Access Tokens > Create Token'''. У этого аккаунта должны быть права на создание кейсов в соответствующем проекте
* Создайте Personal Access Token для аккаунта, от которого будут создаваться кейсы в '''Profile > Personal Access Tokens > Create Token'''. У этого аккаунта должны быть права на создание кейсов в соответствующем проекте
Line 41: Line 49:
:[[File:Jira-issue-type.png|thumb|left]]<br clear=all />
:[[File:Jira-issue-type.png|thumb|left]]<br clear=all />
* В аргументе '''cmd''' этого же файла укажите полный путь к скрипту '''jira-create-issue.py'''
* В аргументе '''cmd''' этого же файла укажите полный путь к скрипту '''jira-create-issue.py'''
* Запустите svacer с указанием пути к файлу hooks.json в аргументе '''hooks'''
:* Если вы настраиваете хук на Windows, то вместо этого укажите в '''cmd''' путь к интерпретатору python (или просто имя, если он есть в PATH), а в качестве первого аргумента в '''args''' добавьте путь к скрипту хука
   svacer server --hooks=/home/user/svacer/hooks/jira/hooks.json
<pre>
  "cmd": "python",
  "args": [
    "C:\\svacer-hooks\\jira-create-issue.py",
    "https://jira.example.com",
    ...
</pre>
* Запустите svacer с указанием пути к файлу '''hooks.json''' в аргументе '''hooks'''
   svacer server --hooks=/home/user/svacer/hooks.json
* Хук будет доступен в UI Svacer, на правой панели, в '''Details > Hooks > Run'''
* Хук будет доступен в UI Svacer, на правой панели, в '''Details > Hooks > Run'''
:[[File:Jira-create-issue.png|thumb|left]]<br clear=all />
:[[File:Jira-create-issue.png|thumb|left]]<br clear=all />
* После нажатия на хук он выполнится и в указанном проекте джиры будет создан новый кейс с информацией из предупреждения в заголовке и описании, также в качестве лейбла (тега) будет задан severity чекера
* После нажатия на хук он выполнится и в указанном проекте джиры будет создан новый кейс с информацией из предупреждения в заголовке и описании, в качестве лейбла (тега) будет задан severity чекера
:[[File:Jira-created-issue.png|thumb|left]]<br clear=all />
:[[File:Jira-created-issue.png|thumb|left]]<br clear=all />
=== Redmine ===
На сервере, где будет выполняться хук, должен быть установлен '''python3'''.
* Скачайте и распакуйте архив со скриптом и конфигом хука: [[Media:Redmine-hooks.zip|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
:[[File:Redmine-project-id.png|thumb|left]]<br clear=all />
* В Redmine должен быть включен REST API в '''Administration > Settings > API'''
:[[File:Redmine-enable-api.png|thumb|left]]<br clear=all />
* Когда REST API включен, вы найдете свой API-ключ на странице аккаунта (/my/account), в правой панели
:[[File:Redmine-api-key.png|thumb|left]]<br clear=all />
* Впишите этот ключ как третий аргумент в args
* В аргументе '''cmd''' этого же файла укажите полный путь к скрипту '''redmine-create-issue.py'''
:* Если вы настраиваете хук на Windows, то вместо этого укажите в '''cmd''' путь к интерпретатору python (или просто имя, если он есть в PATH), а в качестве первого аргумента в '''args''' добавьте путь к скрипту хука
<pre>
  "cmd": "python",
  "args": [
    "C:\\svacer-hooks\\redmine-create-issue.py",
    "https://redmine.example.com",
    ...
</pre>
* Запустите svacer с указанием пути к файлу hooks.json в аргументе '''hooks'''
  svacer server --hooks=/home/user/svacer/hooks.json
* Хук будет доступен в UI Svacer, на правой панели, в '''Details > Hooks > Run'''
:[[File:Redmine-create-issue.png|thumb|left]]<br clear=all />
* После нажатия на хук он выполнится и в указанном проекте редмайна будет создан новый кейс с информацией из предупреждения в заголовке и описании
:[[File:Redmine-created-issue.png|thumb|left]]<br clear=all />

Latest revision as of 16:04, 30 May 2024

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

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

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

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