Teams Bot regisztráció és konfiguráció
1. Domain létrehozása a bot számára
A Teams Bot-tal csak HTTPS protokollon keresztül képes kommunikálni a Microsoft Teams, ezért fontos hogy a bot számára is regisztráljunk egy domain-t a projektünkön.
Ezt a Route 53-ban tudjuk megtenni az itt leírt módon.
Az elnevezési konvenciót tekintve kövessük az itt leírtakat. Az ${alkalmazás} placeholder javasolt értéke a Teams Bot esetén: bot.
2. Teams Bot létrehozása és konfigurálása
2.1 Teams Bot regisztráció
- Nyissuk meg ezt az oldalt: Bot Framework - New Bot
- Jelentkezzünk be a jumpcload felhasználónkkal.
-
A Bot profile szekcióban az alábbi mezőket kötelező kitölteni (értékük tetszőleges, de célszerű a projekt nevét beletenni az egyértelműség kedvéért):
- Icon: Kattintsunk az Upload custom icon linkre és töltsük fel a
botrepositorymanifestmappájában találhatóicon-color.png-t. - Display name:
${projekt-név} Bot - Bot handle:
${projekt-név}Bot
Példa

- Icon: Kattintsunk az Upload custom icon linkre és töltsük fel a
-
A Configuration szekcióban adjuk meg a Messaging endpoint mezőben a bot elérhetőségét. (Fontos, hogy az
api/messages-t is tartalmaznia kell az URL-nek.) Pl.:https://bot.${projekt-név}.develop.dev.gbsolutions.io/api/messages - Ezen kívül a Configuration szekcióban az App type legördülő mezőben a
Multi Tenantérték legyen kiválasztva. -
Szükség lesz egy Microsoft App ID-ra. Amennyiben még nem rendelkezünk ilyennel, generáljuk le a Create Microsoft App ID and password gombbal:

-
A megnyíló Alkalmazásregisztrációk képernyőn kattintsunk az Új regisztráció-ra.

-
Az Alkalmazás regisztrálása képernyőn adjuk meg az alkalmazás nevét, és válasszuk ki a Fiókok bármely szervezeti címtárban (bármely Azure AD-címtár – többvállalatos) opciót.

-
Végül kattintsunk a Regisztráció gombra.
-
Ekkor megnyílik a frissen regisztrált alkalmazásunkhoz tartozó konfigurációs képernyő, ahol az Alapvető adatok szekcióban jegyezzük fel az Alkalmazás (ügyfél) azonosítója mező értékét (Ez a Microsoft App ID amit az 7. pontban meg kell adni):

-
Szintén az Alapvető adatok szekcióban kattintsunk a Tanúsítvány vagy titkos kód hozzáadása linkre.

-
A megnyíló képernyőn kattintsunk az Új titkos ügyfélkód gombra.

-
A megnyíló Titkos ügyfélkód hozzáadása panelon adjuk meg a tanúsítvány Leírás-át és Lejárat-át, majd kattintsunk a Hozzáadás gombra.
Példa

-
A létrejött tanúsítványnak mentsük el az értékét, mert arra szükségünk lesz a továbbiakban.

-
Ezt követően bezárhatjuk az Azure oldalt.
-
-
A Configuration szekcióban adjuk meg a Microsoft App ID-t, a Paste your app ID below to continue alatti mezőben.
- Az Admin szekcióban az Owners mezőbe vesszővel elválasztva adjuk meg azon projekt tagok email címét, akiket szeretnénk, hogy szerkesztési joguk legyen a Bot-hoz.
- Pipáljuk be, hogy elfogadjuk a felhasználási feltételeket, majd kattintsunk a Register gombra.
2.2 Teams Bot konfiguráció
- Nyissuk meg ezt az oldalt: Bot Framework - Bots
- Keressük ki az általunk létrehozott botot és kattintsunk rá.
-
A megnyíló Connect to channels képernyőn alapértelmezetten a
Direct LineésWeb Chatchannelek vannak hozzáadva, amikre nekünk nincs szükségünk, így töröljük őket:
Az alábbi lépéseket a
Direct LineésWeb Chatchannel-re is hajtsuk végre!- Kattintsunk az adott channel Actions oszlopában található ceruza ikonra.
-
A megnyíló képernyőn kattintsunk az Add new site doboz jobb felső sarkában található kuka ikonra.
-
A felugró pop-up képernyőn kattintsunk a Done gombra.
-
A Bot Framework - Bots oldalon, az Add a featured channel szekcióban válasszuk ki a Microsoft Teams-t.

-
A megnyíló képernyőn nem szükséges semmit beállítánunk, csak kattintsunk a bal alsó sarokban található Save gombra.
-
Ha mindent jól csináltunk, az alábbi módon kell kinéznie a Connect to channels képernyőnek:

3. Teams Bot integráció
3.1 Microsoft Teams integráció
3.1.1 Manifest package létrehozása
- Klónozzuk ki a
botrepository-t. - A repo
manifestmappájában nyissuk meg amanifest.json-t. - Cseréljük ki a
MICROSOFT_APP_IDplaceholderek értékét a Teams Bot regisztráció lépésben létrehozott Microsoft App ID-ra. - Cseréljük ki a
BOT_NAMEplaceholderek értékét a projektspecifikus botunk nevére. - Mentsük el a fájlt a módosításainkkal.
- A
manifestmappában található 3 fájlt (2 db.pngés egy 1 db.json) csomagoljuk össze egy darabmanifest.ziparchív fájlba. Fontos, hogy ne legyen benne extramanifestmappa, csak a 3 fájlt tartalmazza! - Szükség esetén ezen az oldalon validálni tudjuk az elkészült archív fájlunkat: AppValidation.
- A módosított
manifest.jsonfájlt, és az elkészültmanifest.ziparchív fájlt pusholjuk is fel a repository-ba, hogy szükség esetén elérhető legyen.
3.1.2 Custom App hozzáadása a Teams-hez
Csevegés létrehozása a Bot számára
Mielőtt a botot hozzáadnánk a Teams-hez, hozzunk létre egy csoportos csevegést, a projekt tagjai számára „${projekt-név} Bot“ névvel, és ehhez a csevegéshez adjuk hozzá az alábbi lépésekkel a botot.
Javasoljuk, hogy a Teams Bot-ot ne a daily stand-up chathez adjuk hozzá a projekten, hanem csináljuk erre egy dedikált csoportos csevegést, hogy ne a stand-up chat legyen bot üzenetekkel spammelve.
- Nyissuk meg a Microsoft Teams alkalmazást.
- Bal oldalt válasszuk ki az Alkalmazások funkciót.
-
A bal alsó sarokban válasszuk ki az Alkalmazások kezelése menüpontot.

-
Az Alkalmazások kezelése képernyőn kattintsunk az Alkalmazás feltöltése gombra.

-
Az Alkalmazások feltöltése képernyőn válasszuk az Egyéni alkalmazás feltöltése opciót.

-
A felugró ablakban tallózzuk ki a Manifest package létrehozása lépésben létrehozott
manifest.zipfájlunkat. -
A megnyíló ablakban kattintsunk a Hozzáadás gomb melletti kis nyilacskára, és válasszuk ki a Hozzáadás csevegéshez opciót.

-
A keresőben válasszuk ki a bot számára létrehozott csevegést, és kattintsunk a Robot beállítása gombra.
-
Fontos, hogy ahhoz, hogy egy csevegésen belül tudjunk utasítást adni a botnak meg kell tagelni őt a chat üzenetben:
@BotNeve utasításPélda

Microsfot Teams hiba a hozzáadás során
Előfordulhat, hogy a Teams azt írja a hozzáadás után, hogy valamilyen hiba történt, de a hozzadás ilyenkor is sikeres, egyszerűen indítsuk újra ilyen esetben a Teams-t.
Teams Bot hozzáadása saját magunknak
Privát csevegésként a Hozzáadás gombbal tudjuk saját magunk számára hozzáadni a Teams-hez a botot.

Ilyenkor a Teams Bot-nak írt üzeneteket csak a mi fogjuk látni. Ez jól jöhet olyankor, ha valamit tesztelünk a bot-on és nem akarjuk a csoportos csevegést teleszemetelni a kísérletezéshez beírt üzenetekkel.
Bot többszöri hozzáadása
A botot bármennyi chathez hozzáadhatjuk, ezért bátran adjuk hozzá magunknak és a projekt számára létrehozott csoportos csevegéshez is. Egyszerre csak egyszer adja hozzá ugyanahhoz a csevegéshez, így nem kell attól félnünk, hogy valahová véletlenül kétszer adjuk hozzá.
3.2 Alkalmazás konfiguráció
A tesztkörnyezetünkön található /opt/project/infrastructure/config/bot-service/application.yml fájl tartalma az alábbi legyen:
MicrosoftAppId: ${microsoft-app-id}
MicrosoftAppPassword: ${microsoft-app-password}
bot:
authorization:
roles:
operators: ${operators}
developers: ${developers}
testers: ${testers}
business: ${business}
teams:
group-message:
default-group-conversation-id: ${group-conversation-id}
gitlab:
access-token: ${gitlab-access-token}
projects:
main:
backend: ${backend-repo-útvonal}
frontend: ${frontend-repo-útvonal}
api: ${api-repo-útvonal}
bot:
backend: ${bot-repo-útvonal}
jira:
project-tag: ${jira-project-tag}
username: ${jira-username}
access-token: ${jira-access-token}
3.2.1 Microsoft App paraméterek
A ${microsoft-app-id} placeholder helyére az itt létrehozott Microsoft App ID-t kell behelyettesíteni.
A ${microsoft-app-password} placeholder helyére az itt létrehozott tanúsívány értékét kell behelyettesíteni.
3.2.2 Az roles paraméterek
A ${operators}, ${developers}, ${testers}, ${business} placeholderek helyére, a megfelelő projekt tagok email címének @ előtti részét kell ,-vel elválasztva behelyettesíteni.
Példa helyes roles konfigurációra
bot:
authorization:
roles:
operators: bela.operator
developers: istvan.developer, csaba.developer, jozsef.developer
testers: ferenc.tester, peter.tester
business: laszlo.business, denes.business
developers paraméterben megadott csapattagok email címe az alábbi:
istvan.developer@intuitech.studiocsaba.developer@intuitech.studiojozsef.developer@intuitech.studio
Amennyiben valamelyik szerepkörhöz nem kívánunk csapattagot hozzáadni, a paraméter értékét egyszerűen hagyjuk üresen.
3.2.3 A default-group-conversation-id paraméter
Erre a paraméterre azért van szükség, mert a bot akkor tud a megfelelő csoportos csevegésbe üzenetet küldeni, ha beállítjuk neki az adott csevegés „conversation id“-ját.
Ezt a paramétert az első Bot indítás előtt hagyjuk üresen.
Amennyiben már fut a Bot a környezetünkön, és hozzáadtuk a Teams-hez is, akkor abban a csevegésben, amelyhez a Bot-ot hozzáadtuk, a setup paranccsal kiírathatjuk a „conversation id“-t.
Ezt a „conversation-id“-t kell a ${group-conversation-id} placeholder helyére behelyettesíteni.
Ne felejtsük el a Bot alkalmazást újraindítani, miután az application.yml-be beállítottuk a ${group-conversation-id}-t.
3.2.4 A gitlab paraméterek
A ${gitlab-access-token} placeholder helyére az itt létrehozott access token passwordjét kell megadni.
A ${backend-repo-útvonal}, ${frontend-repo-útvonal}, ${api-repo-útvonal}, ${bot-repo-útvonal} placeholderek helyére a megfelelő GitLab repository útvonalát kell megadni. Pl.: gbsolutions/${projekt-név}/backend
3.2.5 A jira paraméterek
A ${jira-project-tag} placeholder helyére a projekt Jira tag nevét kell megadni. (A projekt JIRA tag-je megegyezik a ticket ID prefixével: Pl.: Ha a ticket ID SEMI-1 akkor a JIRA tag: SEMI.)
A ${jira-access-token} placeholder helyére, kérjük el a Jira tokent a Semi csapattól:
| Név | Email cím | Telefon | Szerepkör |
|---|---|---|---|
| Katona Áron | aron.katona@intuitech.studio | +36203160057 | Projekt Architekt |
| Kazsik Ádám | adam.kazsik@intuitech.studio | +36702900328 | Szenior Fejlesztő |
| Surányi Ákos | akos.suranyi@intuitech.studio | +36203753887 | Szenior Fejlesztő |
A ${jira-username} placeholder helyére az alábbi email címet kell megadni: