Outsystems to Teams

Stable Version 1.0.2 (OutSystems 11)
Published on 7 Aug by 
Created on 7 Aug

Outsystems to Teams

Details
Send deployment messages to a teams channel using webhooks.
Read More

WHAT IS THIS?

A component which can be installed on lifetime to send notifications to a teams channel to be notified about deployments. Useful to inform the rest of your team or to get a notification when there's a user intervention needed, it's insanely fast only taking a few seconds to run and update tens of deployments at a time (though usually you will only have 1 or 2 deployments running I guess?).


HOW DO I USE IT?

There are a few steps you will need to take, first off this is a LIFETIME component, meaning you have to install it on lifetime, this is because the lifetime server holds the information about all the deployments, installing it on dev or test will limit you to the lifetime API which is alot slower compared to this.
Sorry for the long introduction, here's the steps:

  1. Go to your lifetime environment (if you don't know how to get there, go to ServiceCenter on any environment and click the link "Manage all environments"), grab the hostname (of lifetime) and add the following "/ServiceCenter", so that the URL looks something like "https://mylifetimehostname.outsystems.com/ServiceCenter" then please navigate to this URL.
  2. You can log in here using your developer account (the same one you use to login to lifetime and you use to develop in Service Studio). Go to the Factory tab and click the button to publish and application. Select this .OAP file and let it install.
  3. Once it's done publishing navigate to the module section and search for OutsystemstoTeams and open this module. Here go to the integration tab and click on v2.
  4. Then change it using your lifetime (the one from step 1) hostname as shown in the picture below and press the apply button.
  5. Now we will take a few detours! I'm sorry for that but it's necessary and you will soon see why. We need 2 things, 1 is a service account which we can use for the lifetime API and the other is your personal Teams webhook! We will start with the service account. Open a new tab or window and go back to your lifetime (so the host you got in step 1 but this time instead of adding "/ServiceCenter" you add "/LifeTimeCloudConnect". Then please continue to navigate there.
  6. Once logged in into lifetime click on USER MANAGEMENT then click SERVICE ACCOUNTS and then click the New Service Account link to start creating a new service account.
  7. Enter some details for your service account and press the CREATE button. A little popup will appear with a token, you need to store this token safely (if you forget it you can always request a new token for this service account). Click the button I HAVE STORED THE TOKEN, CLOSE and you are done creating the Service Account for the API.
  8. Almost done, next we need to setup the webhook for Teams. Open up Teams and either create a new team or find an existing one. Click the Add channel button to add a placeholder channel for our messages. You can call it deployments or whatever you want. You can also use an existing channel if you want.
    Click the apps button at the left bottom of your Teams window and search for Incoming Webhook. Click it and a popup will show up.
  9. Press the Add to a team button and search for the channel where you want the deployment messages to appear. Once you selected it press the Set up a connector button. Another popup will open asking you to provide a name and you can setup a custom image if you like. Enter anything you want here and scroll down and press the Create button. This popup will refresh and you have to scroll down once more. This time you can see an URL at the bottom, you need everything after the /webhook/ so please copy this in a notepad or something safe (you can always find this back if you manage the connectors on your channel).  Then press the Done button to finish it up.
  10. Ok now second to last step! Go back to the tab you had open of the OutsystemstoTeam module in lifetime ServiceCenter. Navigate to the site properties and set them as follows: Authorization will be the token you got from the Service Account. The LifetimeBaseURL is the lifetime host name (https://mylifetimehostname.outsystems.com) without appending a / at the end or anything, this is just the base hostname. The TeamsWebHook is the last thing we copied from the Incoming Webhook in Teams, this is everything behind the /webhook/ part.
  11. Now that we got everything setup correctly it's time for the final step! Go to the Timers tab and click on GetDeploymentsToNotify and then click on the Run Now button, it will start the timer and automatically setup a schedule to run every 5 minutes (this is the only limitation for now, sorry, it's not a push type thing). Good thing it only runs for 1-3 seconds every run. You can always change the schedule if you wish, it will only setup a schedule if there is no schedule when you run the timer manually.
  12. That's it! I hope you all enjoy and if you have any questions or remarks please let me know!


SPECIAL THANKS: The creators of this component -> https://www.outsystems.com/forge/component-overview/3837/outsystems-to-slack
I first got this when it first released and found it not be working correctly or completely (or atleast not to my desires, it seemed quite buggy to me). I updated the component severely basically recreating the component after a while in my own image. Nonetheless I still want to thank them because without them I would never had the initial push to create something like this.

This component could also be changed to support slack, all you need is to change the rest webservice to a slack webhook! That's all, thought you might need to change some of the text formatting because there are a slight few differences between teams and slack and I don't know how slack will react with them.....

If there's alot of request for a slack version please let me know and I will make it happen.

What’s new (1.0.2)
  • Added finished with errors, better error message.
Reviews (0)
Category
Components, Developer Tools, Reporting
Support Options
This component is not supported by OutSystems. You may use the discussion forums to leave suggestions or obtain best-effort support from the community, including from Joey Moree who created this component.
Dependencies
Outsystems to Teams has no dependencies.
Requirements
Platform:
11.0.0.200
Database:
All
Stack:
.NET
Component Consumers
No consumers yet.
Weekly Downloads