Language(R, Python, SQL)/R

[R] R 로 Mircrosort Teams 봇 생성 및 메시지 보내기

dtstory 2022. 12. 12. 20:00

Airflow 를 이용해서, Workflow를 관리하면서 느낀 점은, 작업 수행이 완료(성공, 혹은 실패) 되었을 경우 해당 작업완료 알림을 받을 수 있으면 좋겠다는 생각을 하게 되었다. Airflow 메일링 기능이 있지만, 메일로 받는 것 보단 메신저로 받는게 편할거라는 생각에, Teams 메시지로 받는 방법을 검색해보았다. 역시나.. 내가 생각하는 기능들은 모듈형태로 제공되고 있었다. 오늘은 Teams 메시지 bot을 만들고 R코드를 사용해서 메시지를 Send 하는 기능의 코드를 포스팅해보겠다.

 

 

1. teams 내의 team '채널추가' 를 한다.

 

2. 우측상단의 점 3개 클릭 후, '커넥터'를 선택한다

 

 

3. webhook 을 찾아, '구성' 을 클릭 후, 생성된 url 을 copy 한다

 

4. 아래의 코드를 실행해보자. 3번에서 copy한 web hook url 을 [web hook url] 에 붙여넣기 하고 실행하면 된다.

    기본적인 기능들은 아래와 같다. 사용자의 기호에 맞게 사용하고 싶은 기능을 사용하면 된다.

 

# 패키지 설치 및 라이브러리 로드
install.packages("teamr")
library(teamr)

# connector 초기화
con_card <- connector_card$new(hookurl = "[ web hook url ]")

# title 명 지정
con_card$title("my_title")

# text 내용 지정
con_card$text("my_text")

# link 및 link button 지정 (네이버로 설정했으나, 사용자가 정의하기 나름이다.)
con_card$add_link_button("naver link", "www.naver.com")

# 사용자가 원하는 색깔 지정이 가능하다.
con_card$color("#008000")

# print test 및 실제 팀즈에 메시지 전송
con_card$print()
con_card$send()

 

'R로 teams 메시지 보내기' 로 검색을 하다보면, "Microsoft365R" 패키지를 이용해서, 가능하다는 게시글들을 보게 되는데.. 버전업데이트 에러가 문제인지.. 나의 환경에서는 모듈 실행에서 에러가 났다. 그러던 중 "teamr" 패키지를 발견하게 되었고 정상적으로 작동되었다.!

728x90