This commit is contained in:
parent
36f176f5ec
commit
07d1b3372b
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
hide:
|
|
||||||
- comments
|
|
||||||
title: ChangeLog
|
|
||||||
|
|
||||||
---
|
|
12
documentation/docs/changelog/index.md
Normal file
12
documentation/docs/changelog/index.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
title: ChangeLog
|
||||||
|
hide:
|
||||||
|
- comments
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# ChangeLog
|
||||||
|
|
||||||
|
## v.2.0.0
|
||||||
|
|
||||||
|
## v.1.0.0
|
@ -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
|
||||||
|
```
|
19
documentation/docs/getting-started/features.md
Normal file
19
documentation/docs/getting-started/features.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
## Уведомления
|
||||||
|
|
||||||
|
### Новый MR
|
||||||
|
|
||||||
|
### Конфликт в MR
|
||||||
|
|
||||||
|
### Обновление MR
|
||||||
|
|
||||||
|
### Изменение статуса MR
|
||||||
|
|
||||||
|
### Новый тред в MR
|
||||||
|
|
||||||
|
### Упоминание в треде
|
||||||
|
|
||||||
|
### Ответ в дискусии
|
||||||
|
|
||||||
|
## Взаимодействие с GitLab
|
||||||
|
|
||||||
|
### Ответ в треде
|
@ -6,4 +6,15 @@ hide:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# GitLab Notification – Персональный бот в Telegram для GitLab
|
# GitLab Notification – Персональный Telegram для GitLab
|
||||||
|
Персональный помощник для взаимодействия с GitLab. Получайте уведомления о событиях в GitLab: новые MR, где вы ревьювер, конфликты в ваших MR, уведомления о новых сообщениях в тредах, где вы являетесь участником, и многое другое.
|
||||||
|
|
||||||
|
## :ninja: Privacy
|
||||||
|
|
||||||
|
Мое решение сфокусировано на приватности и прозрачности. Код и используемые зависимости полностью открыты и доступны для изучения и самостоятельной сборки.
|
||||||
|
|
||||||
|
Для работы бота токен доступа устанавливается в переменные среды и никуда не передается, кроме запросов в GitLab.
|
||||||
|
|
||||||
|
Некоторые уведомления могут содержать чуствительную информацию. Например, уведомления о новых сообщениях в тредах. Возможно вы не захотите раскрывать столько информации о ваших репозиториях Телеграму, ведь через него идет получение уведомлений. Специально для таких случаев предусмотрены уровни конфиденциальности разных типов уведомлений.
|
||||||
|
|
||||||
|
Возьмем для примера уведомление о новом сообщении в треде. При минимальном уровне конфиденциальности вы получите уведомление с текстом коментария и сможете сразу ответить на него в телеграм, а при максимальном уровне конфиденциальности будет сообщаться только о факте нового комментария, без содержания. Все это настраивается при первом запуске.
|
@ -42,7 +42,7 @@ theme:
|
|||||||
- navigation.sections
|
- navigation.sections
|
||||||
- navigation.tracking
|
- navigation.tracking
|
||||||
# - navigation.tabs
|
# - navigation.tabs
|
||||||
- navigation.tabs.sticky
|
# - navigation.tabs.sticky
|
||||||
- navigation.footer
|
- navigation.footer
|
||||||
- search
|
- search
|
||||||
- search.suggest
|
- search.suggest
|
||||||
@ -50,6 +50,7 @@ theme:
|
|||||||
- content.action.edit
|
- content.action.edit
|
||||||
- content.code.copy
|
- content.code.copy
|
||||||
- toc.follow
|
- toc.follow
|
||||||
|
- toc.integrate
|
||||||
plugins:
|
plugins:
|
||||||
- social
|
- social
|
||||||
- meta
|
- meta
|
||||||
@ -83,6 +84,9 @@ markdown_extensions:
|
|||||||
|
|
||||||
extra:
|
extra:
|
||||||
generator: false
|
generator: false
|
||||||
|
analytics:
|
||||||
|
provider: custom
|
||||||
|
property: foobar
|
||||||
version:
|
version:
|
||||||
provider: mike
|
provider: mike
|
||||||
# alternate:
|
# alternate:
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
<!-- Yandex.Metrika counter -->
|
||||||
|
<script type="text/javascript" >
|
||||||
|
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
||||||
|
m[i].l=1*new Date();
|
||||||
|
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
||||||
|
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
|
||||||
|
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
||||||
|
|
||||||
|
ym(92567215, "init", {
|
||||||
|
clickmap:true,
|
||||||
|
trackLinks:true,
|
||||||
|
accurateTrackBounce:true
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<noscript><div><img src="https://mc.yandex.ru/watch/92567215" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||||
|
<!-- /Yandex.Metrika counter -->
|
Loading…
x
Reference in New Issue
Block a user