Automating your workflow
with GitHub Apps
Brian Douglas
@bdougieYO
Slide 2
Slide 2 text
git.io/sls-probot
@bdougieYO
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
The GitHub workflow provide better collaboration
@bdougieYO
@bdougieYO
Slide 5
Slide 5 text
Developer AdvocateTools
Brian Llamar Douglas
@bdougieYO
@bdougie
@bdougieYO
Slide 6
Slide 6 text
Queen Bey
Slide 7
Slide 7 text
@bdougieYO
Slide 8
Slide 8 text
What
Would
Bey
Do?
@bdougieYO
Slide 9
Slide 9 text
go to bat for the hive
Slide 10
Slide 10 text
GitHub API
@bdougieYO
sandwich.netlify.com
@bdougieYO
Slide 11
Slide 11 text
@bdougieYO
github.com/dear-github/dear-github
Slide 12
Slide 12 text
@bdougieYO
We can’t wait for
new letters to
solve
Slide 13
Slide 13 text
@bdougieYO
Slide 14
Slide 14 text
automate workflows
@bdougieYO
By leveraging the GitHub API
Slide 15
Slide 15 text
@bdougieYO
identify repeated tasks
“We {action}
every {period of time}.”
Slide 16
Slide 16 text
pull reminders
@bdougieYO
Slide 17
Slide 17 text
@bdougieYO
identify repeated tasks
“We review pull request
once a day.”
Slide 18
Slide 18 text
allow integrators the flexibility to
request specific access to resources
and act as a first class actor without
taking up a paid seat within an
organization.
@bdougieYO
sandwich.netlify.com
@bdougieYO
@bdougieYO
@bdougieYO
@bdougieYO
@bdougieYO
GitHub Apps
Slide 19
Slide 19 text
probot.github.io
@bdougieYO
Slide 20
Slide 20 text
listen to webhooks
@bdougieYO
Take action via the GitHub API
Slide 21
Slide 21 text
Watch it work!
@bdougieYO
Slide 22
Slide 22 text
@bdougieYO
Probot + Octokit
Slide 23
Slide 23 text
GitHub is a
collaboration platform.
We provide enough
features and get out of
the way of the
developer.
@bdougieYO
@bdougieYO
@bdougieYO
@bdougieYO
@bdougieYO
@bdougieYO
@bdougieYO
GitHub App: TravisCI
• Test and Deploy with Confidence.
Slide 28
Slide 28 text
@bdougieYO
@bdougieYO
CI/CD: Build confidence
Source Control Build Staging Production
Commit changes Run build + unit tests Deploy to test environment Deploy to production
environment
Slide 29
Slide 29 text
@bdougieYO
@bdougieYO
Checks share
more
information
Slide 30
Slide 30 text
@bdougieYO
@bdougieYO
What
Would
Bey
Do?
Slide 31
Slide 31 text
@bdougieYO
sandwich.netlify.com
@bdougieYO
When life gives
you ’s
Slide 32
Slide 32 text
Listen to Beyoncé’s Lemonade
Slide 33
Slide 33 text
“Check on it”
pull request
@bdougieYO
@bdougieYO
Slide 34
Slide 34 text
@bdougieYO
@bdougieYO
github.com/apps/linter-alex
Slide 35
Slide 35 text
@bdougieYO
@bdougieYO
New
Checks tab
in the UI
Slide 36
Slide 36 text
@bdougieYO
@bdougieYO
Checks
dashboard
provides
more
sophisticated
feedback for
the developer
Slide 37
Slide 37 text
@bdougieYO
@bdougieYO
Checks
dashboard
provides
more
sophisticated
feedback for
the developer
Slide 38
Slide 38 text
@bdougieYO
@bdougieYO
Slide 39
Slide 39 text
Deployments API
Slide 40
Slide 40 text
• The management of staging environments can be a manual process.
@bdougieYO
@bdougieYO
Staging deployments
Source Control
Commit changes
Build
Run build + unit tests
Staging
Deploy to test environment
Slide 41
Slide 41 text
• The management of staging environments can be a manual process.
@bdougieYO
@bdougieYO
Staging deployments
Slide 42
Slide 42 text
• The management of staging environments can be a manual process.
@bdougieYO
@bdougieYO
Staging deployments
Slide 43
Slide 43 text
@bdougieYO
@bdougieYO
As a developer I would like to trigger deploys when a pull
request is opened and offload the management of staging
environment generation to my CI automation.
–bdougie
Slide 44
Slide 44 text
@bdougieYO
@bdougieYO
github.com/apps/netlify
• Build, deploy, and manage modern web projects
Slide 45
Slide 45 text
@bdougieYO
@bdougieYO
• New staging environments are automated by push events.
Staging deployments
Source Control
Commit changes
Build
Run build + unit tests
Staging
Deploy to test environment
Slide 46
Slide 46 text
Demo
Slide 47
Slide 47 text
GitHub Developer Program
@bdougieYO
It takes a community to design, build, and ship great software.
developer.github.com/program