You need repo and admin:repo_hook permissions.
We use Slack notification with AWS Chatbot for monitoring Pipeline events. You need to create a Chatbot slack client in advance to enable slack notification.
You need to store your App's slack token and user name in a Secrets Manager secret named 'SlackTokenForBMO'.
SLACK_TOKEN: <App's slack token> (something begins with xoxb- or xoxp-)
APP_UNAME: <App's user name> (something like U01234ABCDE)
GITHUB_TOKEN: <GitHub access token>
SLACK_WS_ID: <Slack WorkSpace ID for notification>
SLACK_CHANNEL_ID: <Slack Channel ID for notification>
Please specify deploy target regions in src/lib/configuration.ts
.
By default, BMO deploys a pipeline to Prod stage's region.
Increment/Decrement somebody's score with a comment.
(syntax)
<name>++|-- <comment>
(example)
bmo++ thanks for your help!
finn++ jake++ nice!
iceking-- 🤷♂️
Register some name and his/her/its description. (In short, adding item to Dictionary)
(syntax)
!add <name> <comment>
(example)
!add bmo Finn and Jake's living video game console system
Get description by name. (In short, getting item from Dictionary)
(syntax)
!word <name>
(example)
!word bmo
Retrieve all registered words.
(syntax)
!words
(example)
!words
Search word from word list.
(syntax)
!search <word>
(example)
!search bmo
Each command was implemented as a module extends Behavior
interface in src/lambda/modules/behaviors/
.
Behavior
has following items.
type
: unique key of the commandtriggerPattern
: regex as triggers the command when it matches a message in slackreaction
: function executed when the command triggered
You can create new commands by adding modules to src/lambda/modules/behaviors/
and exporting them from src/lambda/modules/behaviors/index.ts
.