-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trigger the app #2
Conversation
Nice job! Something changed on this repo when you added the "WIP" command. Let's try to get more insight into our app before we look at those changes. Breaking down the WIP app components
GitHub Apps will then process this data in the background, responding to the repository with their expected default actions. Extra credit: For more information about webhooks, we recommend this GitHub Community Forum article. Step 3: Looking under the hoodFor the next exercise, let's add our own notification service to get a better idea of what apps are receiving behind the scenes. ⌨️ Activity: Adding a webhook payload delivery service
Look for my response in a comment on this pull request
|
Nice work adding smee.io! WIP on the surfaceWhen you added "WIP" to the title of this pull request, something changed. Do you see that the pull request's status is "pending" with a yellow dot? This is to block merging while the title includes "WIP". Let's breakdown how WIP works:
Step 4: Watching for webhooksLet's use this next activity to find out what's happening behind the scenes. ⌨️ Activity: Remove WIP from pull request titleWhen you made this pull request a work in progress, I took it as a cue to add some good content to this repository! Now that we've got some real work, let's remove the WIP label so that we can merge.
Look for my response in a comment on this pull request |
WIP below the surfaceSince installation, smee.io has been running patiently in the background and keeping a ledger of each webhook event that we've performed on the repository. When you edited the pull request title, that triggered a specific type of event. When that event was triggered, it sent a payload of data to our app. Each type of event delivers a different payload template to the app. When customizing or creating apps, having this knowledge becomes crucial. Step 5: Name the eventCan you tell which type of event was sent back to the application when you changed the pull request header? ⌨️ Activity: Connecting actions on GitHub to events and payloads
Look for my response in a comment on this pull request |
Close! Since we edited the pull request title, the event that triggered this was In the next exercise, we'll take a look at how apps can take general event payloads and turn those into specific responses via the API. Step 6: MergingAfter you removed WIP from the pull request title, the pull request was unblocked. Now, you're able to merge. ⌨️ Activity: Merge
|
Step 7: Explore another appNow that we've explored the WIP app, let's move onto what request info can do. We'll use request info to learn about how GitHub's API, webhooks, and configuration files can combine to give apps customized repository automation. ⌨️ Activity: Open a pull request
I'll respond in your new pull request |
Triggering GitHub Apps
Actions that a person or tool takes on GitHub can be used to trigger events. Creating an issue, making a commit, or leaving a comment, to name a few, are logged on GitHub. If GitHub doesn't use it, it can still be useful to other applications.
When you install an app, you give the app permission to receive some of this data from GitHub. That data allows the apps to react in ways that are useful to you. You can also allow the app to send information back, or change information completely.
It's important to mention that GitHub Apps are not people. You can't interact with them by doing things like using an @mention, or assigning them to review your work. On the other hand, they can do things that humans can't - like crunch big data, piece together networks of information and find bugs or errors that people wouldn't.
App components
An app is like a home security system. It's equipped to watch your house at all times, but only notifies you for specific criteria. When you install a home security system, you need to worry about a few components:
Just like a home security system, a GitHub App only watches for specific actions, and then responds in predetermined ways.
Step 2: Trigger the WIP app
WIP is a common abbreviation to mean work in progress.
The app you've just installed is concerned with one action: changing the title of a pull request. Let's test it out and see what the result is by updating the title of this pull request.
⌨️ Activity: Test the app by editing the pull request title
WIP
to the beginning of the titleAfter changing the title, look for my response in this pull request