{"action":"created","issue":{"url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps/issues/4","repository_url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps","labels_url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps/issues/4/comments","events_url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps/issues/4/events","html_url":"https://github.com/ubitoffee/getting-started-github-apps/issues/4","id":395235134,"node_id":"MDU6SXNzdWUzOTUyMzUxMzQ=","number":4,"title":"Blank Issue","user":{"login":"ubitoffee","id":14308115,"node_id":"MDQ6VXNlcjE0MzA4MTE1","avatar_url":"https://avatars2.githubusercontent.com/u/14308115?v=4","gravatar_id":"","url":"https://api.github.com/users/ubitoffee","html_url":"https://github.com/ubitoffee","followers_url":"https://api.github.com/users/ubitoffee/followers","following_url":"https://api.github.com/users/ubitoffee/following{/other_user}","gists_url":"https://api.github.com/users/ubitoffee/gists{/gist_id}","starred_url":"https://api.github.com/users/ubitoffee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ubitoffee/subscriptions","organizations_url":"https://api.github.com/users/ubitoffee/orgs","repos_url":"https://api.github.com/users/ubitoffee/repos","events_url":"https://api.github.com/users/ubitoffee/events{/privacy}","received_events_url":"https://api.github.com/users/ubitoffee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-01-02T12:35:31Z","updated_at":"2019-01-02T12:35:33Z","closed_at":null,"author_association":"OWNER","body":""},"comment":{"url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps/issues/comments/450853092","html_url":"https://github.com/ubitoffee/getting-started-github-apps/issues/4#issuecomment-450853092","issue_url":"https://api.github.com/repos/ubitoffee/getting-started-github-apps/issues/4","id":450853092,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MDg1MzA5Mg==","user":{"login":"github-learning-lab[bot]","id":37936606,"node_id":"MDM6Qm90Mzc5MzY2MDY=","avatar_url":"https://avatars0.githubusercontent.com/in/10572?v=4","gravatar_id":"","url":"https://api.github.com/users/github-learning-lab%5Bbot%5D","html_url":"https://github.com/apps/github-learning-lab","followers_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-learning-lab%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2019-01-02T12:35:33Z","updated_at":"2019-01-02T12:35:33Z","author_association":"CONTRIBUTOR","body":"## Well done!\n\nCongratulations @ubitoffee, you've completed the **Introduction to GitHub Apps** course!\n\n![congratulations](https://octodex.github.com/images/welcometocat.png)\n\n## During this course you successfully:\n\n- Learned what GitHub Apps are and how they're useful\n- Understood their place in the SDLC and the greater ecosystem\n- Were introduced to GitHub's APIs and their role with Apps\n- Understood the basic functions of webhooks and how you can interact with them\n- Installed two GitHub Probot Apps on our repository\n\n\n### Probot & GitHub Apps\n\n[Probot](https://probot.github.io/) is the basis of some of the coolest GitHub Apps out there. Most Probot Apps are already hosted, easy to install, and easy to discover. Probot is a framework to help you build GitHub Apps while using Node.js.\n\nWant to learn more about Probot and GitHub Apps? Below are a few resources that will help you along your journey:\n- [Probot Apps](https://probot.github.io/apps/)\n- [Probot documentation](https://probot.github.io/docs/)\n- [GitHub API documentation](https://developer.github.com/webhooks)\n- [GitHub Marketplace](https://github.com/marketplace)\n\nHere are some great examples of other Probot Apps:\n- **[Stale](https://probot.github.io/apps/stale/)**: Closes issues and pull requests that have been around for a bit too long without activity\n- **[Delete merged branch](https://probot.github.io/apps/delete-merged-branch/)**: After a merge, deletes the branch\n- **[First timers](https://probot.github.io/apps/first-timers/)**: Creates an issue to help onboard new open source contributors to your community\n\n### More detail\nIf you're curious about exactly why this worked, and what webhooks were used under the surface, click the detailed breakdown below.\n\n<details><summary>A detailed breakdown</summary>\n\n- As we dig into the documentation, we should see that the `issues` and `pull_request` events are the webhooks that trigger the GitHub API, since those look for [\"opened\" GitHub actions](https://developer.github.com/webhooks/#events).\n- [This code snippet](https://github.com/behaviorbot/request-info/blob/master/index.js#L7) shows that our app is looking for two specific webhooks, `pull_request.opened` and `issues.opened`.\n- Each event, when triggered, will return a specific [payload](https://developer.github.com/v3/activity/events/types/#events-api-payload-13), which basically just hands you a bunch of data that GitHub requested in the background through its API, for your specific event. Each webhook event has it's own payload example that you can reference in the documentation.\n- In our case, we're looking for [title, body, and user](https://github.com/behaviorbot/request-info/blob/master/index.js#L17).\n- The rest is mostly coding logic, which is beyond the scope of our course, but you can see an example of what the app does with that information [here](https://github.com/behaviorbot/request-info/blob/master/lib/PullRequestBodyChecker.js). In this case, it looks to check if the content exists, or if it's equal to the existing default templates without any changes.\n\n</summary>\n\n### Keep learning\n\nWant to keep learning? Feel free to [check out our other courses](https://lab.github.com/courses)?\n\n\n<hr>\n<h3 align=\"center\">I won't respond to this issue, go ahead and close it when finished!</h3>\n"}}
{"actor":{"display_login":"github-learning-lab"}}