* 추후에 좀 더 자세하게 정리하겠습니다. 아래의 내용은 준비물과 간단한 절차입니다.
https://github.com/sviom/raincomeprbot
동기
회사에서 개발을 진행하면서, Bitbucket을 사용했는데 PR이 발생하면 알람을 주고 싶었습니다. 처음에는 기본적으로 제공하는 오피스 커넥터와 팀즈의 incoming webhook 커넥터를 이용하면 해결이 될 줄 알았는데, 해당 커넥터는 채널에 메시지 게시는 지원하지만 사용자의 멘션이나, 개개의 챗으로 알려주는 기능은 제공하지 않았습니다.
하여 두번째로 알아본 방법은 아틀라시안 마켓플레이스에서 팀즈 알림 관련 제품을 다운로드 및 설치 해보았습니다. 하지만 이 항목도 마찬가지로 채널에 메시지 게시만을 지원했습니다.
여러가지로 알아보다가, 서비스 중에 원티드스페이스(구 커먼스페이스)에서 퇴근 버튼을 누르면 팀즈에 봇을 이용하여 알람을 주는 것을 발견했습니다. 이 방법은 실제로도 사용되고 있고, 가능하겠다 싶어 개발을 진행하게 되었습니다.
준비물
- Azure 계정
- 외부에서 접근이 가능한 데이터베이스
- Office 365 계정 및 관리자 권한
- BOT Framework에 대한 이해
- VS code 및 Teams tookkit(Extension)
- ngrok에 대한 이해(옵션)
- Adaptive card에 대한 이해(옵션)
- Graph API에 대한 이해(옵션)
방법
- VS Code에 Teams Toolkit 설치
- 툴킷 항목으로 이동 - 우측에 Office 365 / Azure에 로그인을 진행
- 툴킷을 이용해 앱 생성
- https://dev.teams.microsoft.com/bots 접속(기존 Teams app stuio앱은 2022년 1월부로 사용되지 않음) 해서 봇이 생성되었나 확인
- Azure AD - App registration에 App이 만들어졌나 확인
- 봇 구성(개발) 및 테스트
- Azure에 Privisioning
- Azure에 배포(봇으로 노티를 보내려면 배포해서 endpoint를 알아야함)
- Teams에 배포
- 팀즈 관리자에서 앱 허용
- 팀즈에서 앱 설치