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

Building GitHub bots (and the bpmn.io pull request flow)

Building GitHub bots (and the bpmn.io pull request flow)

In this talk I introduce GitHub bots / apps, their application to support your workflow on GitHub and the purpose of merge-me, my very own bot.

Nico Rehwaldt

April 02, 2019
Tweet

More Decks by Nico Rehwaldt

Other Decks in Technology

Transcript

  1. GitHub Bot / App An application that consumes events (emitted

    by GitHub) and drives workflow via GitHub REST or GraphQL API.
  2. Examples Automate dependency update notifications Automate CI run scheduling Automate

    merged branch deletion Automate issue commenting / marking / closing Automate merging, once all required checks pass Rich user interaction via issues ...
  3. Flow User GitHub GitHub Bot UI action / Git Push

    Event (s) API Call(s) UI update / notification Event(s) API Call(s) And so on... User GitHub GitHub Bot
  4. Event Subscription via Web Hooks GitHub allows you to register

    web hooks, URLs that are being invoked once anything happens.
  5. Security Model Apps are authenticated by organization owners on a

    per-project level. Apps must declare consumed events and access to project and user resources on a fine grained level (i.e. read issues, write issue comments). Apps may impersonate users (to a certain extend) to perform actions on behalf of the user.
  6. Probot: A Framework to Build Apps Node app framework Easy

    setup (app registration) Bundles REST + GraphQL clients Features example apps/bots Apps can be mixed and matched under new identity
  7. ?