tree: 4740ce0c9a4a9e928c70614574d3df8b872ae3f7 [path history] [tgz]
  1. actions/
  2. manifest.yaml
  3. README.md
tests/apps/openwhisk-githubslackbot/README.md

GitHub Slack Bot

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:

  1. Cloudant Package
  2. GitHub Package
  3. Slack Package

manifest.yaml for Cloudant Package

    dependencies:
        cloudant-package:
            location: /whisk.system/cloudant
            inputs:
                username: $CLOUDANT_USERNAME
                password: $CLOUDANT_PASSWORD
                host: ${CLOUDANT_USERNAME}.cloudant.com

manifest.yaml for Github Package

    dependencies:
            github-package:
                location: /whisk.system/github
                inputs:
                    username: $GITHUB_USERNAME
                    repository: $GITHUB_REPOSITORY
                    accessToken: $GITHUB_ACCESSTOKEN

manifest.yaml for Slack Package

    dependencies:
        slack-package:
            location: /whisk.system/slack
            inputs:
                username: $SLACK_USERNAME
                url: $SLACK_URL
                channel: $SLACK_CHANNEL

Step 1: Deploy

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

Step 2: Verify

$ 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