- Создавать баги из супергрупп в вашу Jira (Название топика в супергруппе должно включать ключ проекта)
- Синкать с Github через вебхук и Action и публиковать ссылку на PR в комментариях к задаче в Jira (название ветки или ПР должны включать ключ проекта и номер задачи) (за автора комментария берется пользователь - владелец токена)
- В личке с ботом можно получать таблицы работы по задачам и отображать зарплату по часовой ставке или фиксированной за спринт
Nest.js телеграм бот, для отправки сообщений и картинок задачами в Jira, сбора таблиц работы над задачами и зарплаты
Nest.js telegram bot for sending messages and images to Jira, collecting tables of work on tasks and salary
Для корректной локальной работы, необходимо создать файл .env.dev и заполнить его переменными окружения, аналогичными .env.example, с учетом ваших доступов к проектам в Jira.
Локально проект запускается командой:
pnpm run start:dev
Для деплоя на сервер понадобится настроить Action/Secrets в Github. Конретно используемые аргументы из env окружения сборки описаны в файле github/workflows/production-deploy.yaml
Бот покрывает доступ к задачам из вне при помощи 2х переменных окружения:
SUPERADMIN_LIST=Это набор никнеймов или ИД телеграм пользователей, которые будут иметь доступ ко всему функционалу бота и всем задачам в спринтах
AVAILABILITY_BY_KEYS=Доступ для остальных пользователей к задачам в проекте, который указан в ключе
Конфигурация связи телеграм пользователей с Jira пользователями по почте или displayName:
RELATION_BY_NAME_OR_EMAIL=никнейм_или_ид_телеграм_пользователя:displayName:email,etc.
Конфигурация связи телеграм пользователей с зарплатой по проекту или по всем сразу:
SALARY_RELATION_BY_TG_AND_PROJECT=tgNicknameOrId1:{amount=<number>,currency=<currency>,type=<fixed|hourly>}|tgNicknameOrId2:{key=<projectKey>,amount=<number>,currency=<currency>,type=<fixed|hourly>}
<number> - сумма, например 3000 или 25 или любая другая
- сумма зарплаты<currency> - например USDT или RUB или любая другая
- просто ключ валюты<type> - например fixed или hourly
- тип зарплаты, фиксированная за спринт или часовая<projectKey> - ключ проекта из Jira
- можно не указывать, тогда зарплата будет считаться по всем проектам|
- разделитель между пользователями,
- разделитель между параметрами зарплаты:
- разделитель между параметрами пользователя=
- разделитель между ключом и значением
Бот умеет синкаться с Github через вебхук и Action. Пример Action лежит в workflows_example/pull-request-created.yml. В вашем проекте нужно создать соответствующий vars.JIRA_PUSH_BOT_ENV, с телом:
JIRA_BOT_HOST=ваш хост
JIRA_BOT_SECRET=ваш секрет для вебхука
Так же требуется прописать его в ваш .env в для бота.
Проект сделан на основе бойлерплейта, описание которого можно найти в статьях:
pnpm run start:dev
- for hot reload application runningfirebase init
- for firebase-tools creation settings for your firebase projectfirebase deploy --only firestore:indexes
- for firestore indexes deployment by firestore.indexes.json file
A progressive Node.js framework for building efficient and scalable server-side applications.
Nest framework TypeScript starter repository.
$ pnpm install
# development
$ pnpm run start
# watch mode
$ pnpm run start:dev
# production mode
$ pnpm run start:prod
# unit tests
$ pnpm run test
# e2e tests
$ pnpm run test:e2e
# test coverage
$ pnpm run test:cov
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
Nest is MIT licensed.