nateyolles / slack-pokerbot

Agile Scrum poker planning bot for Slack
Apache License 2.0
17 stars 13 forks source link
agile aws-lambda planning-poker slack slack-bot

Slack Pokerbot for AWS Lambda

Pokerbot is a Slash Command for Slack. It's easily hosted on Amazon Web Services' Lambda.

Screenshot of Pokerbot in Slack

Configure Slack Slash Command

  1. Navigate to https://.slack.com/apps/manage/custom-integrations
  2. Click on "Slash Commands" and "Add Configuration"
  3. Set the Command to "/pokerbot"
  4. Set the URL to the path provided by AWS
  5. Set the Method to "POST"
  6. Set Custom Name to "pokerbot"
  7. Customize Icon if you wish
  8. Check "Show this command in the autocomplete list"
  9. Set Description to "Play Scrum planning poker"
  10. Set Usage Hint to "help [or deal, vote , tally, reveal]""
  11. Copy the Token

Configure

  1. Paste the Slack Token
  2. Set the path to your images
  3. Set the planning poker values you want to use (e.g. 0, 1, 2, 3, 5, 8, 13, 20, 40, 100)

AWS Lambda

  1. Create a AWS Lambda; following the instructions from Amazon
  2. Paste the app.py file into the web editor or upload as directed by AWS
  3. Afterwards adjust the Integration Mapping of your API Gateway that is triggering the Lambda function

    3.1 Add a mapping for application/x-www-form-urlencoded

    3.2 Paste the snippet below into the provided template

    {"body" : $input.json('$')}

    :exclamation: Do not forget to deploy your API after changing the integration mapping

Play Poker Planning

  1. Type "/pokerbot deal" in a channel
  2. Everyone votes by typing "/pokerbot vote "
  3. Type "/pokerbot tally" in the channel to show the names of those who have voted
  4. Type "/pokerbot reveal" in the channel to reveal the voting results