/DevOps-VSTS-Bot

Making Visual Studio Team Services (VSTS) part of your daily digital conversations

Primary LanguageC#OtherNOASSERTION

This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more.# VSTS-Bot

Build Status

Introduction

ALM | DevOps Rangers community Bot is a Bot for Microsoft Teams, Skype and Slack, based on Microsoft Bot Framework. Read VSTS Bot is now in preview for details.

Getting Started

  1. Read the documention about Microsoft Bot Framework.
  2. Download the Bot Framework Emulator to help you test.
  3. Download the Cosmos DB which we emulate Cosmos DB on your local machine.
  4. Run Git-Ignore-Changes.bat which will disable tracking of Team-Services-Bot.runsettings and AppSettings.config, so your local information will not get uploaded to the repository.
  5. For the Acceptance tests:
    1. Download ngrok to help run the Acceptance tests.
    2. Run the Team-Services-Bot.Api within Visual Studio, which will run on: http://localhost:3979/
    3. Run
      ngrok http -host-header=rewrite 3979
      
    4. Register a bot. Use the url from ngrok (Example: https://9fddfdcb.ngrok.io/api/messages) as the messaging endpoint.
      Make sure you turn on Direct Line
    5. Register the application with vsts https://app.vsaex.visualstudio.com/app/register?mkt=en-US.
    6. Create / Update src\Team-Services-Bot.runsettings (description can be found on the wiki).
      <?xml version="1.0" encoding="utf-8"?>
      <RunSettings>
        <TestRunParameters>
          <Parameter name="Account" value="" />
          <Parameter name="AppId" value="" />
          <Parameter name="AppSecret" value="" />
          <Parameter name="AuthorizeUrl" value="" />
          <Parameter name="BotId" value="" />
          <Parameter name="BotSecret" value="" />
          <Parameter name="DocumentDbKey" value="C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==" />
          <Parameter name="DocumentDbUri" value="https://localhost:8081" />
          <Parameter name="RefreshToken" value="" />
          <Parameter name="RefreshTokenReinitialize" value="false" />
          <Parameter name="TeamProjectOne" value="" />
          <Parameter name="TeamProjectTwo" value="" />
        </TestRunParameters>
      </RunSettings>
    7. Create / Update src\Team-Services-Bot.Api\AppSettings.config (description can be found on the wiki).
      <?xml version="1.0" encoding="utf-8"?>
      <appSettings>
        <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
        <add key="AppId" value="" />
        <add key="AppSecret" value="" />
        <add key="AppScope" value=""/>
        <add key="AuthorizeUrl" value="" />
        <add key="DocumentDbKey" value="C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==" />
        <add key="DocumentDbUri" value="https://localhost:8081" />
        <add key="EmulatorListeningUrl" value="" />
        <add key="InstrumentationKey" value="" />
        <add key="BotId" value="" />
        <add key="MicrosoftAppId" value="" />
        <add key="MicrosoftAppPassword" value="" />
      </appSettings>

Build and Test

Open the Team-Services-Bot.sln in the src folder. It contains the projects and tests, which you can run with the Test Explorer in Visual Studio.

Contributors

We thank the following contributors for this extension: Vladimir Gusarov and Jeffrey Opdam.

Contribute

Contributions to this project are welcome. Here is how you can contribute:

  • Submit bugs and help us verify fixes
  • Submit pull requests for bug fixes and features and discuss existing proposals

Please refer to Contribution guidelines and the Code of Conduct for more details.

Notices

Notices for certain third party software included in this solution are provided here: Third Party Notice.

Data/Telemetry

This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more.

Terms of Use

  • The service is free to use, please try it and enjoy.
  • The service is an experimental project, designed for broad usage.
  • The service is supported by volunteers in their spare time, so no claims can be made on support or the longevity of the project.