Custom VSTS / Slack integrations Part 2 ? Triggering VSTS builds from Slack

Triggering VSTS builds from slack

This is part 2 of the blog post Custom integration of VSTS and slack . In this post we will look at how we can use VSTS - slack integration to trigger VSTS builds

The implementation details for this bot integration can be found at https://github.com/maniSbindra/devOpsBot (Main application logic file is devBotModules/vstsBot.coffee).

DevOps Bot
The additional point with this integration as compared to the integration discussed in part 1, is that we need to validate whether the person sending the trigger build message in slack is authorized to trigger the VSTS build.
The slack email id of the user sending the "trigger build" message is used in the example, and then this email id is passed to the external authorization service end point, to determine if the user can trigger the build, which in turn uses AD with custom attributes containing slack email id and slack user privileges. If the authorization is successful then the VSTS build is triggered using the REST endpoint.

Please note this post was created prior to the Microsoft Bot framework being released, and the solution described uses pattern matching for intent detection . In case you want to see similar solution using botframework and Language Understanding and Intelligence Service (LUIS) for intent detection you can see https://blogs.msdn.microsoft.com/manibindra/2017/02/27/integrating-vsts-with-different-communication-channels-slack-skype-etc-using-botframework-and-luis/