trackers
Общее описание проекта
Проект представляет собой систему для управления временем и ресурсами в IT-компании, использующую Django. Основной целью является интеграция с внешними системами трекинга задач (например, Jira и Redmine), сбор и обработка данных о затраченном времени и ресурсах на различные проекты и задачи.
Описание модулей проекта
- Административный модуль: Включае т управление настройками трекеров, пользователями и их доступом к трекерам.
- API-модуль: Предоставляет функциональность для взаимодействия с внешними трекинговыми системами, такими как Jira и Redmine.
- Модуль настроек трекера: Отвечает за хранение и управление настройками различных трекеров.
- Модуль декораторов: Содержит функции для управления доступом и проверки прав пользователя.
- Модель данных: Определяет структуру данных, используемую для работы с трекерами, пользователями и настройками.
Общая логика работы системы
Система интегрируется с внешними системами управления задачами (Jira, Redmine) для сбора данных о затраченном времени и ресурсах. Администраторы могут настраивать трекеры и управлять доступом пользователей. Система обрабатывает данные от трекеров, адаптирует их под общий формат и предоставляет информацию для анализа и отчетн ости.
Интеграции с внешними системами
Система интегрируется с:
- Jira: Сбор данных о затраченном времени и задачах через API Jira.
- Redmine: Аналогичная интеграция для сбора данных из системы Redmine.
Интеграция позволяет автоматизировать сбор и обработку данных о проектах и затраченных ресурсах, упрощая управление проектами и ресурсами в компании.
Действия в системе
- spent_time_jira: Расчет затраченного времени в Jira.
- spent_jira: Получение информации о затраченном времени в Jira.
- post_jira: Добавление записи о затраченном времени в Jira.
- put_jira: Обновление информации о затраченном времени в Jira.
- delete_jira: Удаление записи о затраченном вре мени в Jira.
- issues_estimates_jira: Получение оценок по задачам в Jira.
- issues_jira: Получение списка задач из Jira.
- spent_time_redmine: Расчет затраченного времени в Redmine.
- spent_redmine: Получение информации о затраченном времени в Redmine.
- post_redmine: Добавление записи о затраченном времени в Redmine.
- put_redmine: Обновление информации о затраченном времени в Redmine.
- delete_redmine: Удаление записи о затраченном времени в Redmine.
- issues_estimates_redmine: Получение оценок по задачам в Redmine.
- issues_redmine: Получение списка задач из Redmine.
Сценарий использования
Рассмотрим реальный сценарий использования системы. Предположим, что в IT-компании существует необходимость ведения учета времени, затраченного сотрудниками на различные задачи. Система интегрируется с Jira и Redmine, позволяя автоматически собирать данные о затраченном времени и задачах.
Сотрудник, работающий над проектом, заносит информацию о затраченном времени в Jira или Redmine. Администратор системы использует функцию spent_time_jira или spent_time_redmine для расчета общего времени, затраченного на проект. При необходимости обновления или корректировки данных используются функции put_jira или put_redmine. Для получения обзора по задачам применяются issues_jira и issues_redmine.
Таким образом, система позволяет эффективно управлять временными ресурсами сотрудников, обеспечивая прозрачность и точность учета времени, затраченного на различные задачи и проекты.
Модель данных
-
Tracker
host: Строка, представляющая хост трекера.api_version: Строка, указывающая версию API трекера. Может быть пустой.type: Тип трекера (например, Jira или Redmine).identifier: Уникальный идентификатор трекера.default_activity: Целое число, указывающее на дефолтную активность.status_completed: Строка, обозначающая статус завершения задачи в трекере.
-
TrackerUser
user: Внешний ключ, связывающий с пользователем.api_key: Строка, ключ API для доступа к трекеру.tracker: Внешний ключ, связывающий с трекером.monoissue: Строка, специфичная для трекера задача.
-
TrackerSetting
tracker: Внешний ключ, связывающий с трекером. Один к одному.tracker_cost: Целое число, стоимость использования трекера.contractor_id: Целое число, идентификатор подрядчика.sum_to_pay: Целое число, сумма к оплате.sum_in_rub: Целое число, сумма в рублях.invoicing_date: Целое число, дата выставления счета.estimated_invoice_closing_status_ids: Строка, содержащая идентификаторы статусов закрытия счетов.
-
RightsSupport
- Эта модель используется для управления правами доступа, не создаёт таблицу в базе данных. Управляет доступом к задачам.