Примеры использования хуков: Difference between revisions
(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:CLI#Хуки|другой странице]]. | ||
== Создание кейсов в системах отслеживания ошибок == | == Создание кейсов в системах отслеживания ошибок == | ||
Line 8: | Line 8: | ||
На сервере, где будет выполняться хук, должен быть установлен '''python3'''. | На сервере, где будет выполняться хук, должен быть установлен '''python3'''. | ||
* Скачайте и распакуйте архив со скриптом и конфигом хука: [[ | * Скачайте и распакуйте архив со скриптом и конфигом хука: [[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 | <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 чекера | ||
:[[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'''. | ||
* Скачайте и распакуйте архив со скриптом и конфигом хука: [[ | * Скачайте и распакуйте архив со скриптом и конфигом хука: [[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 | <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 чекера | ||
:[[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
- После нажатия на хук он выполнится и в указанном проекте редмайна будет создан новый кейс с информацией из предупреждения в заголовке и описании