rgxfox / jira
Some tools for interacting with jira by rest api
0.1.1-RC2
2023-06-04 07:59 UTC
Requires
- illuminate/routing: ^10.13
- illuminate/support: ^10.13
- lesstif/php-jira-rest-client: ^5.5
This package is auto-updated.
Last update: 2024-05-04 10:00:20 UTC
README
- PHP >= 8.0
- Laravel >= 10
Requirements
Библиотека имеет следующие настройки, которые необходимо разместить в вашем файле окружения:
- JIRA_HOST - адрес сервера, на котором располагается Jira
JIRA_HOST='https://jira.yoursite.com'
- JIRA_USER - ваше имя пользователя в Jira. От этого пользователя будут производиться rest-запросы
JIRA_USER='surname.n'
- JIRA_PASS - ваш пароль от Jira
JIRA_PASS='12345'
- TOKEN_BASED_AUTH - флаг, уведомляющий о том, что авторизация происходит не по токену. Должен быть установлен
TOKEN_BASED_AUTH='false'
- RGXFOX_JIRA_DEVELOPERS - json-кодированный массив разработчиков, по которым будет считаться статистика. В значение нужно подставить сам json
RGXFOX_JIRA_DEVELOPERS='json_encode([ developer1.name => [ 'NAME' => 'Developer 1', 'LEAD' => 'lead1.name' ], developer2.name => [ 'NAME' => 'Developer 2', 'LEAD' => 'lead1.name' ], lead1.name => [ 'NAME' => 'Lead 1', 'LEAD' => 'lead1.name' ], ... ], true)'
- RGXFOX_JIRA_HASH - хеш, который передается в виде GET-параметра для авторизации запроса
RGXFOX_JIRA_HASH='ofq847yoqiu4fhoa87e4yf'
Использование
Библиотека создает несколько маршрутов, которыми можно воспользоваться ддя получения статистики по задачам или разработчикам.
/kd/sprint/stat
- получает статистику (в виде json) по активным спринтам
#http://localhost/kd/sprint/stat?hash=ofq847yoqiu4fhoa87e4yf return [ 'ActiveSprint1' => [ 'id' => 10, 'name' => 'ActiveSprint1', 'active' => true, 'lead' => 'lead1.name', 'startDate' => [ 'date' => '2023-05-01 00:00:00.000000', 'timezone_type' => 3, 'timezone' => 'UTC' ], 'endDate' => [ 'date' => '2023-05-14 23:59:00.000000', 'timezone_type' => 3, 'timezone' => 'UTC' ], 'sprintInterval' => '01.05.2023 0:00 - 14.05.2023 23:59', 'issues' => [ 'dev-2596' => [ 'key' => 'dev-2596', 'originalEstimate' => 3600, 'spentTime' => 0, 'assignee' => 'developer1.name', 'curator' => 'lead1.name', 'isFinished' => 0, 'estimate' => 0, 'isReturn' => 0, 'title' => 'Add new icon', 'causes' => [], 'type' => 'Задача на реализацию" ], ... ] ], ... ];
/kd/sprint/issues
- получает статистику (в виде json) по задачам
#http://localhost/kd/sprint/issues?hash=ofq847yoqiu4fhoa87e4yf # Ответ практически идентичен статистике спринтов, но методика подсчета спринтов другая
/kd/sprint/check
- получает статистику (в виде json) по конкретным задача конкретного спринта
#http://localhost/kd/sprint/check?hash=ofq847yoqiu4fhoa87e4yf&sprint=ActiveSprint1&tasks=dev-1000,dev-1001,dev-1002,dev-1003,dev-1004 return [ 'dev-1000' => [ 'key' => 'dev-1000', 'status' => 'РЕАЛИЗОВАНО', 'inSprint' => 1, 'hasCurator' => 1, 'hasComponents' => 1, 'hasEstimate' => 1, 'busKey' => '', 'causes' => [] ], ... ];