Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building the GitHub workspace app

Building the GitHub workspace app

In February 2018 we launched a new GitHub + Slack integration. These slides are from Slack's Spec developer conference sharing some of our experience working with their new workspace app tokens.

Brandon Keepers

May 22, 2018
Tweet

More Decks by Brandon Keepers

Other Decks in Technology

Transcript

  1. Built on open platforms
 & public APIs Showcase the potential

    of integrating the two platforms GitHub Apps +
 Slack Workspace apps
  2. For us as implementers • Just as easy as user

    and bot tokens • A single token to persist and use • Everything happens in Slack or GitHub
  3. Organization A GitHub User 1 GitHub User 2 Workspace A

    Slack User 1 Slack User 2 Identity & Access
  4. Organization A GitHub User 1 GitHub User 2 Workspace A

    Slack User 1 Slack User 2 Repository A Channel A Identity & Access
  5. Organization A Organization B GitHub User 1 GitHub User 2

    GitHub User 3 Workspace A Slack User 1 Slack User 2 Repository A Channel A Repository B Identity & Access
  6. Organization A Organization B GitHub User 1 GitHub User 2

    GitHub User 3 Workspace A Workspace B Slack User 1 Slack User 2 Slack User 3 Slack User 4 Repository A Channel A Repository B Identity & Access
  7. Organization A Organization B GitHub User 1 GitHub User 2

    GitHub User 3 Workspace A Workspace B Slack User 1 Slack User 2 Slack User 3 Slack User 4 Repository A Channel A Repository B Identity & Access
  8. Organization A Organization B GitHub User 1 GitHub User 2

    GitHub User 3 Workspace A Workspace B Slack User 1 Slack User 2 Slack User 3 Slack User 4 Repository A Channel A Repository B Channel B Identity & Access
  9. Organization A Organization B GitHub User 1 GitHub User 2

    GitHub User 3 Workspace A Workspace B Slack User 1 Slack User 2 Slack User 3 Slack User 4 Repository A Channel A Repository B Channel B Repository C Identity & Access
  10. Organization A Organization B GitHub User 1 GitHub User 2

    GitHub User 3 Workspace A Workspace B Slack User 1 Slack User 2 Slack User 3 Slack User 4 Repository A Channel A Repository B Channel B Repository C Identity & Access
  11. Experimental API $ curl -i -H "Authorization: token $token" -XPOST

    \ https://slack.github.com/repos/myorg/myrepo -d @- <<EOF { "pretext": "@wilhelmklopp, you're up to deploy!", "color": "#36a64f", "title": "#554: Open Issue from slack", "title_link": “https://github.com/myorg/myrepo/pull/554", "actions": [ { "name": "action", "text": "Unqueue", "type": "button" }, { "name": "action", "text": "Deploy", "style": "danger", "type": "button" } ] } EOF
  12. It’s all open source! Contribute on GitHub
 github.com/integrations/slack Built on

    Probot, a framework for building GitHub Apps
 probot.github.io