Github Slack Bot is an application designed to post updates to Slack when a GitHub pull request is ready to merge or a list of pull requests are under review for certain days and haven't merged.
You can find detailed Architecture and Usage at openwhisk-githubslackbot.
Github Slack Bot application is dependent on three major components:
manifest.yaml
for Cloudant Packagedependencies: cloudant-package: location: /whisk.system/cloudant inputs: username: $CLOUDANT_USERNAME password: $CLOUDANT_PASSWORD host: ${CLOUDANT_USERNAME}.cloudant.com
manifest.yaml
for Github Packagedependencies: github-package: location: /whisk.system/github inputs: username: $GITHUB_USERNAME repository: $GITHUB_REPOSITORY accessToken: $GITHUB_ACCESSTOKEN
manifest.yaml
for Slack Packagedependencies: slack-package: location: /whisk.system/slack inputs: username: $SLACK_USERNAME url: $SLACK_URL channel: $SLACK_CHANNEL
Export the following env. variables before running wskdeploy
:
CLOUDANT_USERNAME CLOUDANT_PASSWORD CLOUDANT_DATABASE GITHUB_USERNAME GITHUB_REPOSITORY GITHUB_ACCESSTOKEN SLACK_USERNAME SLACK_URL SLACK_CHANNEL
Deploy it using wskdeploy
:
wskdeploy -p tests/apps/openwhisk-githubslackbot
$ wsk package get TrackPRsInCloudant $ wsk package get GitHubWebHook $ wsk package get PostPRToSlack $ wsk action get track-pull-requests $ wsk action get find-delayed-pull-requests $ wsk action get post-to-slack $ wsk trigger get GitHubWebHookTrigger $ wsk trigger get Every12Hours $ wsk rule get RuleToTrackPullRequests $ wsk rule get RuleToPostGitHubPRsToSlack