Every action a user can take on GitHub has an associated event delivered to Learning Lab through webhooks. GitHub Learning Lab listens for events and uses them as triggers to execute steps.
The documentation on Event Types & Payloads covers the full scope of actions a user can take to interact with a course.
Almost every action a user can take on GitHub generates an "event".
Step | App actions | User actions | Related event |
---|---|---|---|
0 | App creates repo. | ||
1 | App creates an issue, asks user to assign issue to themselves | User assigns issue to themselves | issues.assigned |
2 | App comments, asks user to enable GitHub pages | User enables GitHub pages | page_build |
3 | App comments to ask user to close first issue | User closes first issue | issues.closed |
4 | App comments with pointer to new issue. Opens new issue and asks user to create a branch | User creates a branch | create |
5 | App comments, asks user to create a new file | User commits a new file | push |
6 | App comments, asks user to create a pull request | User creates a pull request | pull_request |
7 | App closes issue, asks user to edit their file in created pull request and blocks merge | User edits their file | pull_request.synchronize |
8 | App approves pull request and asks user to merge | User merges | pull_request.closed |
9 | App comments with final congratulations message |