From 07d1b3372b3fc8f5e3bc1721696fbd5785a4689f Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Wed, 22 Feb 2023 16:54:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- documentation/docs/changelog.md | 6 --- documentation/docs/changelog/index.md | 12 +++++ .../docs/getting-started/configuration.md | 52 +++++++++++++++++++ .../docs/getting-started/features.md | 19 +++++++ documentation/docs/index.md | 13 ++++- documentation/mkdocs.yml | 6 ++- .../integrations/analytics/custom.html | 16 ++++++ 7 files changed, 116 insertions(+), 8 deletions(-) delete mode 100644 documentation/docs/changelog.md create mode 100644 documentation/docs/changelog/index.md create mode 100644 documentation/docs/getting-started/features.md create mode 100644 documentation/overrides/partials/integrations/analytics/custom.html diff --git a/documentation/docs/changelog.md b/documentation/docs/changelog.md deleted file mode 100644 index f6b2c70..0000000 --- a/documentation/docs/changelog.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -hide: -- comments -title: ChangeLog - ---- \ No newline at end of file diff --git a/documentation/docs/changelog/index.md b/documentation/docs/changelog/index.md new file mode 100644 index 0000000..927cdaf --- /dev/null +++ b/documentation/docs/changelog/index.md @@ -0,0 +1,12 @@ +--- +title: ChangeLog +hide: + - comments + +--- + +# ChangeLog + +## v.2.0.0 + +## v.1.0.0 \ No newline at end of file diff --git a/documentation/docs/getting-started/configuration.md b/documentation/docs/getting-started/configuration.md index e69de29..d9f700c 100644 --- a/documentation/docs/getting-started/configuration.md +++ b/documentation/docs/getting-started/configuration.md @@ -0,0 +1,52 @@ +Есть несколько способов запустить бота-помощника. Бот был спроектирован таким образом, чтобы работать локально на вашем ПК, но вы можете запустить его на сервере в режиме 24/4. + +## Создание бота в Telegram +Перед запуском необходимо создать бота в Telegram. Для этого перейдите в официального бота [@GodFather](https://t.me/BotFather) и выполните команду `/newbot`. + +## Конфигурация +Несмотря на то, какой вариант запуска вы виберете, необходимо будет указать следующие переменные среды: + +* `TELEGRAM_BOT_TOKEN` — токен, который вы получили при создании бота. +* `TELEGRAM_BOT_USERNAME` — название, которое вы дали боту. Оканчивается на bot. +* `GITLAB_PERSONAL_TOKEN` — токен, который вы получили в GitLab +* `TELEGRAM_PERSON_ID` — ваш id в telegram, можно узнать тут. +* `GITLAB_URL` — url на gitlab. Локальный или облачный. +* `DATASOURCE_URL` — ссылка на базу данных Postgres, в следующем формате: jdbc:postgresql://localhost:5432/gitlab_bot +* `DATASOURCE_USERNAME` — пользователь БД +* `DATASOURCE_PASSWORD` — пароль от БД + +## Запуск Docker Compose + +## Запуск Docker +Команда для запуска выглядит следующим образом: + +``` docker +docker run --name gitlab-notify \ + --env TELEGRAM_BOT_TOKEN=value \ + --env TELEGRAM_BOT_USERNAME=value \ + --env GITLAB_PERSONAL_TOKEN=value \ + --env TELEGRAM_PERSON_ID=value \ + --env GITLAB_URL=value \ + --env DATASOURCE_URL=jdbc:postgresql://localhost:5432/gitlab_bot \ + --env DATASOURCE_USERNAME=postgres \ + --env DATASOURCE_PASSWORD=value \ + --network="host" upagge/gitlab-telegram-notify:latest +``` + +## Запуск в IDEA + +## Запуск JAR релиза + +Скачать актуальный jar-файл всегда можно на странице релизов GitHub. + +``` shell +java -DTELEGRAM_BOT_USERNAME=value \ + -DTELEGRAM_BOT_TOKEN=value \ + -DTELEGRAM_PERSON_ID=value \ + -DDATASOURCE_URL=value \ + -DDATASOURCE_PASSWORD=value \ + -DDATASOURCE_USERNAME=value \ + -DGITLAB_PERSONAL_TOKEN=value \ + -DGITLAB_URL=value \ + -jar gitlab-notification.jar +``` \ No newline at end of file diff --git a/documentation/docs/getting-started/features.md b/documentation/docs/getting-started/features.md new file mode 100644 index 0000000..e7237dc --- /dev/null +++ b/documentation/docs/getting-started/features.md @@ -0,0 +1,19 @@ +## Уведомления + +### Новый MR + +### Конфликт в MR + +### Обновление MR + +### Изменение статуса MR + +### Новый тред в MR + +### Упоминание в треде + +### Ответ в дискусии + +## Взаимодействие с GitLab + +### Ответ в треде \ No newline at end of file diff --git a/documentation/docs/index.md b/documentation/docs/index.md index ba58a6f..ceed00f 100644 --- a/documentation/docs/index.md +++ b/documentation/docs/index.md @@ -6,4 +6,15 @@ hide: --- -# GitLab Notification – Персональный бот в Telegram для GitLab \ No newline at end of file +# GitLab Notification – Персональный Telegram для GitLab +Персональный помощник для взаимодействия с GitLab. Получайте уведомления о событиях в GitLab: новые MR, где вы ревьювер, конфликты в ваших MR, уведомления о новых сообщениях в тредах, где вы являетесь участником, и многое другое. + +## :ninja: Privacy + +Мое решение сфокусировано на приватности и прозрачности. Код и используемые зависимости полностью открыты и доступны для изучения и самостоятельной сборки. + +Для работы бота токен доступа устанавливается в переменные среды и никуда не передается, кроме запросов в GitLab. + +Некоторые уведомления могут содержать чуствительную информацию. Например, уведомления о новых сообщениях в тредах. Возможно вы не захотите раскрывать столько информации о ваших репозиториях Телеграму, ведь через него идет получение уведомлений. Специально для таких случаев предусмотрены уровни конфиденциальности разных типов уведомлений. + +Возьмем для примера уведомление о новом сообщении в треде. При минимальном уровне конфиденциальности вы получите уведомление с текстом коментария и сможете сразу ответить на него в телеграм, а при максимальном уровне конфиденциальности будет сообщаться только о факте нового комментария, без содержания. Все это настраивается при первом запуске. \ No newline at end of file diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml index 11f9ca6..3a617da 100644 --- a/documentation/mkdocs.yml +++ b/documentation/mkdocs.yml @@ -42,7 +42,7 @@ theme: - navigation.sections - navigation.tracking # - navigation.tabs - - navigation.tabs.sticky +# - navigation.tabs.sticky - navigation.footer - search - search.suggest @@ -50,6 +50,7 @@ theme: - content.action.edit - content.code.copy - toc.follow + - toc.integrate plugins: - social - meta @@ -83,6 +84,9 @@ markdown_extensions: extra: generator: false + analytics: + provider: custom + property: foobar version: provider: mike # alternate: diff --git a/documentation/overrides/partials/integrations/analytics/custom.html b/documentation/overrides/partials/integrations/analytics/custom.html new file mode 100644 index 0000000..019676a --- /dev/null +++ b/documentation/overrides/partials/integrations/analytics/custom.html @@ -0,0 +1,16 @@ + + + + \ No newline at end of file