Publicar en Microsoft Teams desde PowerShell

Por qué quisiéramos nosotros publicar en Microsoft Teams desde PowerShell? Existen muchas respuestas a esa pregunta, pero la que primero se me viene a la mente es que la idea que impulsa el desarrollo de Microsoft Teams es la colaboración dinámica entre integrantes de un equipo (o varios) por lo que es necesario contar con información de sucesos o situaciones en tiempo real, en tiempos en donde el mail se encuentra un poco desfasado al dinamismo actual.

Los que no conocen Microsoft Teams, les recomiendo que revisen éste enlace.

Ahora bien, por qué PowerShell? Porque es lo que a mí más me gusta! Aunque en realidad no se limita solo a PowerShell lo que vamos a ver, si no que en realidad tenemos la opción de elegir nuestro lenguaje de scripting favorito ya que las notificaciones que vamos a generar son creadas por medio de JSON, utilizando el conector Incoming Webhook. En adición a lo anterior, existe una extensa lista de conectores disponibles para poder utilizar dentro de Microsoft Teams, entre ellos Trello, Twitter, Github y Wunderlist.

Crear el conector

Primero debemos crear el conector en nuestro canal, por lo que debemos ingresar a teams.microsoft.com y posteriormente acceder al canal de nuestro Team y seleccionar Connectors como indica la imagen:

Microsoft Teams

Ahora debemos agregar el conector Incoming Webhook, por lo que vamos a buscarlo dentro de la lista que nos aparece y vamos a agregarlo con el botón Add a nuestro team llamado Equipo Rocket dentro del canal PowerShell Notifications:

Incoming Webhook

Al agregar el conector tenemos dos opciones disponibles. La primera es asignarle un nombre que identifique el conector.

Incoming Webhook

La segunda opción (no es requerida) es la posibilidad de cambiarle el ícono que se va a utilizar al momento de publicar sobre el canal. Simplemente hacemos un upload de la imagen que nos gustaría utilizar, para el ejemplo utilicé el logo de PowerShell.

Incoming Webhook

Al crearlo nos aparecerá una URL necesaria para poder utilizar el servicio. Ahora que tenemos todo listo en Microsoft Teams, vamos a ir a una consola de PowerShell para finalmente comenzar a utilizar este servicio.

URL del para utilizar el conector

Publicar en Microsoft Teams desde PowerShell

Para crear nuestra primera publicación, el procedimiento se reduce a la siguientes líneas:

# Información necesaria
$uri = "https://outlook.office365.com/webhook/..." #URL completa
# Mensaje a publicar
$body = ConvertTo-JSON @{
    text = 'Hello Channel'
}
#Publicamos el mensaje
Invoke-RestMethod -uri $uri -Method Post -body $body -ContentType 'application/json'

Lo que vamos a obtener como resultado es un mensaje del tipo Hola Mundo! pero adaptado a Microsoft Teams 😉

Publicar en Microsoft Teams desde PowerShell

En conclusión, vemos que no es para nada difícil poder integrarnos desde PowerShell a Microsoft Teams y especialmente, publicar en Microsoft Teams ya sea para alertar de ciertas situaciones como para generar avisos o eventos programados hacia nuestro canal.

Happy scripting!

Comments