Wekan - это сервис для ведения проектов. Весь интерфейс выстроен на основе канбан-досок. Вы будто работаете с настоящей доской в кабинете: прикрепляете заметки, разносите их в разные категории, устанавливаете дедлайны и следите за процессом реализации задач.
Адаптер Wekan создан для получения и сбора информации с досок с задачами - Wekan canban.
Для работы, вам необходимо получить API ключ. Его можно получить используя документацию Wekan.
Для работы скрипта вам необходимо создать и запустить docker container.
Для более детальной инструкции по работе с адаптером проследуйте по ссылке.
| Метод | Путь | Описание |
|---|---|---|
| POST | /users/login |
Авторизация |
| GET | /api/users |
Получение всех пользователей |
| GET | /api/users/{user_id} |
Получение информации о конкретном пользователе |
| GET | /api/users/{user_id}/boards |
Получение всех досок для пользователя |
| GET | /api/boards/{board_id} |
Получение информации о доске |
| GET | /api/boards/{board_id}/lists |
Получение списка всех листов с определенной доски |
| GET | /api/boards/{board_id}/custom-fields |
Получение значений поля custom field |
| GET | /api/boards/{board_id}/lists/{list_id}/cards |
Получение всех карточек с определенного листа |
| GET | /api/boards/{board_id}/lists/{list_id}/cards/{card_id} |
Получение информации о текущей карточке |
| GET | /api/boards/{board_id}/cards/{card_id}/comments |
Получение всех комментариев карточки |
| GET | /api/boards/{board_id}/cards/{card_id}/comments/{comment_id} |
Получение полной информации об определенном комментарии для определенной карточки |
[
{
"_id": "mongo_card_id",
"users":["mongo_user_id", ...],
"board_id": "board_id",
"card_id": "card_id",
"info":
{
"hours": "spent_time",
"timestamp": "timestamp",
"assignees": ["user_id", ...]
},
"status": "status",
"completed": true/false,
"last_activity": "timestamp"
}
]
scripts \
api \
api.py - модуль для работы с Wekan
responses.py - модуль для создания pydantic моделей
adapter.py - модуль для сбро информации с Wekan
config.py - модуль для работы с конфигурацией программы
database.py - модуль для обращения к модулям пакета footprint_mongoengine
utils.py - дополнительные функции и константы
.dockerignore
.env.example - структура .env файла
.gitignore
Dockerfile - описание docker контейнера
main.py - основной скрипт программы
requirements.txt - список зависимостей программы
README.md - описание
get_list_cards - получает все карточки с определенного листа текущей доски;get_card_timestamp - получает время закрытия карточки;get_complete_field_id - получает информацию о статусе выполнения карточки;get_card_complete_status - проверяет статус выполнения карточки;get_users - получает всех пользователей Wekan;map_card_to_database - отображает данные из API формата в database формат;get_updated_cards - получает карточки с обновленной информацией;map_users_with_db - соотносит карточки с исполнителем и сохраняет их в базу данных;get_card_last_activity - получает дату последней активности карточки.Для того чтобы установить адаптер, вам необходимо клонировать данный репозиторий, используя данную команду:
git clone https://git.miem.hse.ru/394/adapters/wekan.git
Для корректной работы Вам необходимо установить все зависимости, указанные в requirements.txt, используя команду:
pip install --extra-index-url https://footprint.auditory.ru/pypi/simple -r requirements.txt
Если вы используете docker, в первую очередь вам необходимо собрать образ, используя команду:
docker build -t wekan .
Для того чтобы запустить скрипт, Вам необходимо создать необходимые переменные окружения. Это достаточно просто, так как python-dotenv автоматически считывает .env файлы за вас.
После вы можете запустить контейнер, используя команду:
docker run --rm --env-file .env wekan