This project lets you make estimations with planning poker technique (or scrum poker) directly in Slack, without any need of external software. It can be a useful tool for agile remote teams.
After successful installation, /pp
slash command will be available in your team workspace. It works in:
- Public channels
- Private channels
- Group direct messages
Poker Planner app must be added to channel/conversation before usage. You can add it from channel/conversation details menu, or just simply mention the app, like @poker_planner
.
This command starts a poker planning session with specified title, or simply anything you typed after /pp
.
WARNING: Topic text cannot start with "config" and "help" (case-sensitive). They have another functionalities which is described below.
This command is deprecated and will be removed in future releases.
This commands prints a cheatsheet of usage. Required Slack Permissions commands - Add actions and/or slash commands that people can use.
We will add /pp
slash command
chat:write - Send messages as Poker Planner
If you want to host your own app, follow this steps:
- Create a new Slack app from here.
- Interactivity & Shortcuts
- Turn on "Interactivity"
- Set request url:
http://my.awesome.project.url/slack/interactivity
- Slash Commands
- Create a new command
/pp
(or any command you want) and set request url ashttp://my.awesome.project.url/slack/pp-slash-command
- Make sure that "Escape channels, users, and links sent to your app" option is turned on
- Create a new command
- OAuth & Permissions
- Add a new OAuth Redirect URL:
http://my.awesome.project.url/oauth
- Required bot permission scopes:
commands
,chat:write
- Required user permission scopes: None
- Add a new OAuth Redirect URL:
- User ID Translation
- Turn off "Translate Global IDs"
- Tokens
- Client ID, Secret and Verification token can be found on Basic Information page
- Installation
- Go to Manage Distribution, click "Add to Slack" and grant permissions
- Clone the repo &
cd
into it - Build docker image:
docker build -t slack-jira-estimation-planner .
- Start container:
docker run -d \
--restart=unless-stopped \
-p 3000:3000 \
-e SLACK_CLIENT_ID=xxx \
-e SLACK_CLIENT_SECRET=xxx \
-e SLACK_VERIFICATION_TOKEN=xxx \
-e SLACK_APP_ID=xxx \
-e DATA_FOLDER=/data \
-v /host/data/folder/slack-jira-estimation-planner:/data \
--name slack-jira-estimation-planner \
slack-jira-estimation-planner
Example .env
# Http server port
PORT=3000
# If you're serving not from root, enter the path
BASE_PATH=/
# Slack app credentials
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
SLACK_VERIFICATION_TOKEN=
SLACK_SCOPE=chat:write,commands
SLACK_APP_ID=
# Link placeholders for slack user response
APP_INSTALL_LINK=
ISSUES_LINK=https://github.com/hendriknielaender/slack-jira-estimation-planner/issues
# Data folder path for `db.sqlite` file
DATA_FOLDER=./
# How long do sessions live after creation? (in milliseconds)
MAX_VOTING_DURATION=604800000
Node.js requirement >= 18.12.0
- Clone this repo
- Install dependencies:
npm i
- Build:
npm run build
- Start the app:
npm start