github_enterprise.py 104 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956
  1. # we keep this as a raw string as order matters for hmac signing
  2. PUSH_EVENT_EXAMPLE = r"""{
  3. "ref": "refs/heads/changes",
  4. "before": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
  5. "after": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  6. "created": false,
  7. "deleted": false,
  8. "forced": false,
  9. "base_ref": null,
  10. "compare": "https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f",
  11. "commits": [
  12. {
  13. "id": "133d60480286590a610a0eb7352ff6e02b9674c4",
  14. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  15. "distinct": true,
  16. "message": "Update README.md (àgain)",
  17. "timestamp": "2015-05-05T19:45:15-04:00",
  18. "url": "https://github.com/baxterthehacker/public-repo/commit/133d60480286590a610a0eb7352ff6e02b9674c4",
  19. "author": {
  20. "name": "bàxterthehacker",
  21. "email": "baxterthehacker@users.noreply.github.com",
  22. "username": "baxterthehacker"
  23. },
  24. "committer": {
  25. "name": "baxterthehacker",
  26. "email": "baxterthehacker@users.noreply.github.com",
  27. "username": "baxterthehacker"
  28. },
  29. "added": [
  30. ],
  31. "removed": [
  32. ],
  33. "modified": [
  34. "README.md"
  35. ]
  36. },
  37. {
  38. "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  39. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  40. "distinct": true,
  41. "message": "Update README.md",
  42. "timestamp": "2015-05-05T19:40:15-04:00",
  43. "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  44. "author": {
  45. "name": "bàxterthehacker",
  46. "email": "baxterthehacker@users.noreply.github.com",
  47. "username": "baxterthehacker"
  48. },
  49. "committer": {
  50. "name": "baxterthehacker",
  51. "email": "baxterthehacker@users.noreply.github.com",
  52. "username": "baxterthehacker"
  53. },
  54. "added": [
  55. ],
  56. "removed": [
  57. ],
  58. "modified": [
  59. "README.md"
  60. ]
  61. },
  62. {
  63. "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  64. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  65. "distinct": true,
  66. "message": "fix widget #skipsentry",
  67. "timestamp": "2015-05-05T19:40:15-04:00",
  68. "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  69. "author": {
  70. "name": "bàxterthehacker",
  71. "email": "baxterthehacker@users.noreply.github.com",
  72. "username": "baxterthehacker"
  73. },
  74. "committer": {
  75. "name": "baxterthehacker",
  76. "email": "baxterthehacker@users.noreply.github.com",
  77. "username": "baxterthehacker"
  78. },
  79. "added": [
  80. ],
  81. "removed": [
  82. ],
  83. "modified": [
  84. "README.md"
  85. ]
  86. }
  87. ],
  88. "head_commit": {
  89. "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  90. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  91. "distinct": true,
  92. "message": "Update README.md",
  93. "timestamp": "2015-05-05T19:40:15-04:00",
  94. "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  95. "author": {
  96. "name": "baxterthehacker",
  97. "email": "baxterthehacker@users.noreply.github.com",
  98. "username": "baxterthehacker"
  99. },
  100. "committer": {
  101. "name": "baxterthehacker",
  102. "email": "baxterthehacker@users.noreply.github.com",
  103. "username": "baxterthehacker"
  104. },
  105. "added": [
  106. ],
  107. "removed": [
  108. ],
  109. "modified": [
  110. "README.md"
  111. ]
  112. },
  113. "repository": {
  114. "id": 35129377,
  115. "name": "public-repo",
  116. "full_name": "baxterthehacker/public-repo",
  117. "owner": {
  118. "name": "baxterthehacker",
  119. "email": "baxterthehacker@users.noreply.github.com"
  120. },
  121. "private": false,
  122. "html_url": "https://github.com/baxterthehacker/public-repo",
  123. "description": "",
  124. "fork": false,
  125. "url": "https://github.com/baxterthehacker/public-repo",
  126. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  127. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  128. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  129. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  130. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  131. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  132. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  133. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  134. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  135. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  136. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  137. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  138. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  139. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  140. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  141. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  142. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  143. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  144. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  145. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  146. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  147. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  148. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  149. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  150. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  151. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  152. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  153. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  154. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  155. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  156. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  157. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  158. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  159. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  160. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  161. "created_at": 1430869212,
  162. "updated_at": "2015-05-05T23:40:12Z",
  163. "pushed_at": 1430869217,
  164. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  165. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  166. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  167. "svn_url": "https://github.com/baxterthehacker/public-repo",
  168. "homepage": null,
  169. "size": 0,
  170. "stargazers_count": 0,
  171. "watchers_count": 0,
  172. "language": null,
  173. "has_issues": true,
  174. "has_downloads": true,
  175. "has_wiki": true,
  176. "has_pages": true,
  177. "forks_count": 0,
  178. "mirror_url": null,
  179. "open_issues_count": 0,
  180. "forks": 0,
  181. "open_issues": 0,
  182. "watchers": 0,
  183. "default_branch": "master",
  184. "stargazers": 0,
  185. "master_branch": "master"
  186. },
  187. "pusher": {
  188. "name": "baxterthehacker",
  189. "email": "baxterthehacker@users.noreply.github.com"
  190. },
  191. "sender": {
  192. "login": "baxterthehacker",
  193. "id": 6752317,
  194. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  195. "gravatar_id": "",
  196. "url": "https://api.github.com/users/baxterthehacker",
  197. "html_url": "https://github.com/baxterthehacker",
  198. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  199. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  200. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  201. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  202. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  203. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  204. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  205. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  206. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  207. "type": "User",
  208. "site_admin": false
  209. }
  210. }"""
  211. PUSH_EVENT_EXAMPLE_INSTALLATION = r"""{
  212. "ref": "refs/heads/changes",
  213. "installation" : {
  214. "id": 12345
  215. },
  216. "before": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
  217. "after": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  218. "created": false,
  219. "deleted": false,
  220. "forced": false,
  221. "base_ref": null,
  222. "compare": "https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f",
  223. "commits": [
  224. {
  225. "id": "133d60480286590a610a0eb7352ff6e02b9674c4",
  226. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  227. "distinct": true,
  228. "message": "Update README.md (àgain)",
  229. "timestamp": "2015-05-05T19:45:15-04:00",
  230. "url": "https://github.com/baxterthehacker/public-repo/commit/133d60480286590a610a0eb7352ff6e02b9674c4",
  231. "author": {
  232. "name": "bàxterthehacker",
  233. "email": "baxterthehacker@users.noreply.github.com",
  234. "username": "baxterthehacker"
  235. },
  236. "committer": {
  237. "name": "baxterthehacker",
  238. "email": "baxterthehacker@users.noreply.github.com",
  239. "username": "baxterthehacker"
  240. },
  241. "added": [
  242. ],
  243. "removed": [
  244. ],
  245. "modified": [
  246. "README.md"
  247. ]
  248. },
  249. {
  250. "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  251. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  252. "distinct": true,
  253. "message": "Update README.md",
  254. "timestamp": "2015-05-05T19:40:15-04:00",
  255. "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  256. "author": {
  257. "name": "bàxterthehacker",
  258. "email": "baxterthehacker@users.noreply.github.com",
  259. "username": "baxterthehacker"
  260. },
  261. "committer": {
  262. "name": "baxterthehacker",
  263. "email": "baxterthehacker@users.noreply.github.com",
  264. "username": "baxterthehacker"
  265. },
  266. "added": [
  267. ],
  268. "removed": [
  269. ],
  270. "modified": [
  271. "README.md"
  272. ]
  273. },
  274. {
  275. "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  276. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  277. "distinct": true,
  278. "message": "fix widget #skipsentry",
  279. "timestamp": "2015-05-05T19:40:15-04:00",
  280. "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  281. "author": {
  282. "name": "bàxterthehacker",
  283. "email": "baxterthehacker@users.noreply.github.com",
  284. "username": "baxterthehacker"
  285. },
  286. "committer": {
  287. "name": "baxterthehacker",
  288. "email": "baxterthehacker@users.noreply.github.com",
  289. "username": "baxterthehacker"
  290. },
  291. "added": [
  292. ],
  293. "removed": [
  294. ],
  295. "modified": [
  296. "README.md"
  297. ]
  298. }
  299. ],
  300. "head_commit": {
  301. "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  302. "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433",
  303. "distinct": true,
  304. "message": "Update README.md",
  305. "timestamp": "2015-05-05T19:40:15-04:00",
  306. "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  307. "author": {
  308. "name": "baxterthehacker",
  309. "email": "baxterthehacker@users.noreply.github.com",
  310. "username": "baxterthehacker"
  311. },
  312. "committer": {
  313. "name": "baxterthehacker",
  314. "email": "baxterthehacker@users.noreply.github.com",
  315. "username": "baxterthehacker"
  316. },
  317. "added": [
  318. ],
  319. "removed": [
  320. ],
  321. "modified": [
  322. "README.md"
  323. ]
  324. },
  325. "repository": {
  326. "id": 35129377,
  327. "name": "public-repo",
  328. "full_name": "baxterthehacker/public-repo",
  329. "owner": {
  330. "name": "baxterthehacker",
  331. "email": "baxterthehacker@users.noreply.github.com"
  332. },
  333. "private": false,
  334. "html_url": "https://github.com/baxterthehacker/public-repo",
  335. "description": "",
  336. "fork": false,
  337. "url": "https://github.com/baxterthehacker/public-repo",
  338. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  339. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  340. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  341. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  342. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  343. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  344. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  345. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  346. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  347. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  348. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  349. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  350. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  351. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  352. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  353. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  354. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  355. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  356. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  357. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  358. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  359. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  360. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  361. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  362. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  363. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  364. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  365. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  366. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  367. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  368. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  369. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  370. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  371. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  372. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  373. "created_at": 1430869212,
  374. "updated_at": "2015-05-05T23:40:12Z",
  375. "pushed_at": 1430869217,
  376. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  377. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  378. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  379. "svn_url": "https://github.com/baxterthehacker/public-repo",
  380. "homepage": null,
  381. "size": 0,
  382. "stargazers_count": 0,
  383. "watchers_count": 0,
  384. "language": null,
  385. "has_issues": true,
  386. "has_downloads": true,
  387. "has_wiki": true,
  388. "has_pages": true,
  389. "forks_count": 0,
  390. "mirror_url": null,
  391. "open_issues_count": 0,
  392. "forks": 0,
  393. "open_issues": 0,
  394. "watchers": 0,
  395. "default_branch": "master",
  396. "stargazers": 0,
  397. "master_branch": "master"
  398. },
  399. "pusher": {
  400. "name": "baxterthehacker",
  401. "email": "baxterthehacker@users.noreply.github.com"
  402. },
  403. "sender": {
  404. "login": "baxterthehacker",
  405. "id": 6752317,
  406. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  407. "gravatar_id": "",
  408. "url": "https://api.github.com/users/baxterthehacker",
  409. "html_url": "https://github.com/baxterthehacker",
  410. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  411. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  412. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  413. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  414. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  415. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  416. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  417. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  418. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  419. "type": "User",
  420. "site_admin": false
  421. }
  422. }"""
  423. INSTALLATION_EVENT_EXAMPLE = """{
  424. "action": "created",
  425. "installation": {
  426. "id": 2,
  427. "account": {
  428. "login": "octocat",
  429. "id": 1,
  430. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  431. "gravatar_id": "",
  432. "url": "https://api.github.com/users/octocat",
  433. "html_url": "https://github.com/octocat",
  434. "followers_url": "https://api.github.com/users/octocat/followers",
  435. "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  436. "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  437. "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  438. "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  439. "organizations_url": "https://api.github.com/users/octocat/orgs",
  440. "repos_url": "https://api.github.com/users/octocat/repos",
  441. "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  442. "received_events_url": "https://api.github.com/users/octocat/received_events",
  443. "type": "User",
  444. "site_admin": false
  445. },
  446. "access_tokens_url": "https://api.github.com/installations/2/access_tokens",
  447. "repositories_url": "https://api.github.com/installation/repositories"
  448. },
  449. "sender": {
  450. "login": "octocat",
  451. "id": 1,
  452. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  453. "gravatar_id": "",
  454. "url": "https://api.github.com/users/octocat",
  455. "html_url": "https://github.com/octocat",
  456. "followers_url": "https://api.github.com/users/octocat/followers",
  457. "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  458. "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  459. "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  460. "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  461. "organizations_url": "https://api.github.com/users/octocat/orgs",
  462. "repos_url": "https://api.github.com/users/octocat/repos",
  463. "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  464. "received_events_url": "https://api.github.com/users/octocat/received_events",
  465. "type": "User",
  466. "site_admin": false
  467. }
  468. }"""
  469. INSTALLATION_REPO_EVENT = """{
  470. "action": "added",
  471. "installation": {
  472. "id": 2,
  473. "account": {
  474. "login": "octocat",
  475. "id": 1,
  476. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  477. "gravatar_id": "",
  478. "url": "https://api.github.com/users/octocat",
  479. "html_url": "https://github.com/octocat",
  480. "followers_url": "https://api.github.com/users/octocat/followers",
  481. "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  482. "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  483. "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  484. "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  485. "organizations_url": "https://api.github.com/users/octocat/orgs",
  486. "repos_url": "https://api.github.com/users/octocat/repos",
  487. "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  488. "received_events_url": "https://api.github.com/users/octocat/received_events",
  489. "type": "User",
  490. "site_admin": false
  491. },
  492. "access_tokens_url": "https://api.github.com/installations/2/access_tokens",
  493. "repositories_url": "https://api.github.com/installation/repositories",
  494. "html_url": "https://github.com/settings/installations/2"
  495. },
  496. "repository_selection": "selected",
  497. "repositories_added": [
  498. {
  499. "id": 1296269,
  500. "name": "Hello-World",
  501. "full_name": "octocat/Hello-World"
  502. }
  503. ],
  504. "repositories_removed": [
  505. ],
  506. "sender": {
  507. "login": "octocat",
  508. "id": 1,
  509. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  510. "gravatar_id": "",
  511. "url": "https://api.github.com/users/octocat",
  512. "html_url": "https://github.com/octocat",
  513. "followers_url": "https://api.github.com/users/octocat/followers",
  514. "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  515. "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  516. "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  517. "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  518. "organizations_url": "https://api.github.com/users/octocat/orgs",
  519. "repos_url": "https://api.github.com/users/octocat/repos",
  520. "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  521. "received_events_url": "https://api.github.com/users/octocat/received_events",
  522. "type": "User",
  523. "site_admin": false
  524. }
  525. }"""
  526. INSTALLATION_REPOSITORIES_API_RESPONSE = """{
  527. "total_count": 1,
  528. "repositories": [
  529. {
  530. "id": 1296269,
  531. "owner": {
  532. "login": "octocat",
  533. "id": 1,
  534. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  535. "gravatar_id": "",
  536. "url": "https://api.github.com/users/octocat",
  537. "html_url": "https://github.com/octocat",
  538. "followers_url": "https://api.github.com/users/octocat/followers",
  539. "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  540. "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  541. "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  542. "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  543. "organizations_url": "https://api.github.com/users/octocat/orgs",
  544. "repos_url": "https://api.github.com/users/octocat/repos",
  545. "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  546. "received_events_url": "https://api.github.com/users/octocat/received_events",
  547. "type": "User",
  548. "site_admin": false
  549. },
  550. "name": "Hello-World",
  551. "full_name": "octocat/Hello-World",
  552. "description": "This your first repo!",
  553. "private": false,
  554. "fork": false,
  555. "url": "https://api.github.com/repos/octocat/Hello-World",
  556. "html_url": "https://github.com/octocat/Hello-World",
  557. "archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
  558. "assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
  559. "blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
  560. "branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
  561. "clone_url": "https://github.com/octocat/Hello-World.git",
  562. "collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
  563. "comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
  564. "commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
  565. "compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
  566. "contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
  567. "contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
  568. "deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
  569. "downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
  570. "events_url": "http://api.github.com/repos/octocat/Hello-World/events",
  571. "forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
  572. "git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
  573. "git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
  574. "git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
  575. "git_url": "git:github.com/octocat/Hello-World.git",
  576. "hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
  577. "issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
  578. "issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
  579. "issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
  580. "keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
  581. "labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
  582. "languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
  583. "merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
  584. "milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
  585. "mirror_url": "git:git.example.com/octocat/Hello-World",
  586. "notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since, all, participating}",
  587. "pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
  588. "releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
  589. "ssh_url": "git@github.com:octocat/Hello-World.git",
  590. "stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
  591. "statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
  592. "subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
  593. "subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
  594. "svn_url": "https://svn.github.com/octocat/Hello-World",
  595. "tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
  596. "teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
  597. "trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
  598. "homepage": "https://github.com",
  599. "language": null,
  600. "forks_count": 9,
  601. "stargazers_count": 80,
  602. "watchers_count": 80,
  603. "size": 108,
  604. "default_branch": "master",
  605. "open_issues_count": 0,
  606. "topics": [
  607. "octocat",
  608. "atom",
  609. "electron",
  610. "API"
  611. ],
  612. "has_issues": true,
  613. "has_wiki": true,
  614. "has_pages": false,
  615. "has_downloads": true,
  616. "pushed_at": "2011-01-26T19:06:43Z",
  617. "created_at": "2011-01-26T19:01:12Z",
  618. "updated_at": "2011-01-26T19:14:43Z",
  619. "allow_rebase_merge": true,
  620. "allow_squash_merge": true,
  621. "allow_merge_commit": true,
  622. "subscribers_count": 42,
  623. "network_count": 0
  624. }
  625. ]
  626. }"""
  627. LIST_INSTALLATION_API_RESPONSE = """{
  628. "total_count": 2,
  629. "installations": [
  630. {
  631. "id": 1,
  632. "account": {
  633. "login": "github",
  634. "id": 1,
  635. "url": "https://api.github.com/orgs/github",
  636. "repos_url": "https://api.github.com/orgs/github/repos",
  637. "events_url": "https://api.github.com/orgs/github/events",
  638. "hooks_url": "https://api.github.com/orgs/github/hooks",
  639. "issues_url": "https://api.github.com/orgs/github/issues",
  640. "members_url": "https://api.github.com/orgs/github/members{/member}",
  641. "public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
  642. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  643. "description": "A great organization"
  644. },
  645. "access_tokens_url": "https://api.github.com/installations/1/access_tokens",
  646. "repositories_url": "https://api.github.com/installation/repositories",
  647. "html_url": "https://github.com/organizations/github/settings/installations/1",
  648. "app_id": 1,
  649. "target_id": 1,
  650. "target_type": "Organization",
  651. "permissions": {
  652. "metadata": "read",
  653. "contents": "read",
  654. "issues": "write",
  655. "single_file": "write"
  656. },
  657. "events": [
  658. "push",
  659. "pull_request"
  660. ],
  661. "single_file_name": "config.yml"
  662. },
  663. {
  664. "id": 3,
  665. "account": {
  666. "login": "octocat",
  667. "id": 2,
  668. "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  669. "gravatar_id": "",
  670. "url": "https://api.github.com/users/octocat",
  671. "html_url": "https://github.com/octocat",
  672. "followers_url": "https://api.github.com/users/octocat/followers",
  673. "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  674. "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  675. "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  676. "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  677. "organizations_url": "https://api.github.com/users/octocat/orgs",
  678. "repos_url": "https://api.github.com/users/octocat/repos",
  679. "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  680. "received_events_url": "https://api.github.com/users/octocat/received_events",
  681. "type": "User",
  682. "site_admin": false
  683. },
  684. "access_tokens_url": "https://api.github.com/installations/1/access_tokens",
  685. "repositories_url": "https://api.github.com/installation/repositories",
  686. "html_url": "https://github.com/organizations/github/settings/installations/1",
  687. "app_id": 1,
  688. "target_id": 1,
  689. "target_type": "Organization",
  690. "permissions": {
  691. "metadata": "read",
  692. "contents": "read",
  693. "issues": "write",
  694. "single_file": "write"
  695. },
  696. "events": [
  697. "push",
  698. "pull_request"
  699. ],
  700. "single_file_name": "config.yml"
  701. }
  702. ]
  703. }"""
  704. PULL_REQUEST_OPENED_EVENT_EXAMPLE = b"""{
  705. "action": "opened",
  706. "number": 1,
  707. "pull_request": {
  708. "url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",
  709. "id": 34778301,
  710. "html_url": "https://github.com/baxterthehacker/public-repo/pull/1",
  711. "diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff",
  712. "patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch",
  713. "issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1",
  714. "number": 1,
  715. "state": "open",
  716. "locked": false,
  717. "title": "Update the README with new information",
  718. "user": {
  719. "login": "baxterthehacker",
  720. "id": 6752317,
  721. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  722. "gravatar_id": "",
  723. "url": "https://api.github.com/users/baxterthehacker",
  724. "html_url": "https://github.com/baxterthehacker",
  725. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  726. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  727. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  728. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  729. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  730. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  731. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  732. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  733. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  734. "type": "User",
  735. "site_admin": false
  736. },
  737. "body": "This is a pretty simple change that we need to pull into master.",
  738. "created_at": "2015-05-05T23:40:27Z",
  739. "updated_at": "2015-05-05T23:40:27Z",
  740. "closed_at": null,
  741. "merged_at": null,
  742. "merge_commit_sha": null,
  743. "assignee": null,
  744. "milestone": null,
  745. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits",
  746. "review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments",
  747. "review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",
  748. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments",
  749. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  750. "head": {
  751. "label": "baxterthehacker:changes",
  752. "ref": "changes",
  753. "sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  754. "user": {
  755. "login": "baxterthehacker",
  756. "id": 6752317,
  757. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  758. "gravatar_id": "",
  759. "url": "https://api.github.com/users/baxterthehacker",
  760. "html_url": "https://github.com/baxterthehacker",
  761. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  762. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  763. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  764. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  765. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  766. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  767. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  768. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  769. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  770. "type": "User",
  771. "site_admin": false
  772. },
  773. "repo": {
  774. "id": 35129377,
  775. "name": "public-repo",
  776. "full_name": "baxterthehacker/public-repo",
  777. "owner": {
  778. "login": "baxterthehacker",
  779. "id": 6752317,
  780. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  781. "gravatar_id": "",
  782. "url": "https://api.github.com/users/baxterthehacker",
  783. "html_url": "https://github.com/baxterthehacker",
  784. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  785. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  786. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  787. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  788. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  789. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  790. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  791. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  792. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  793. "type": "User",
  794. "site_admin": false
  795. },
  796. "private": false,
  797. "html_url": "https://github.com/baxterthehacker/public-repo",
  798. "description": "",
  799. "fork": false,
  800. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  801. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  802. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  803. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  804. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  805. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  806. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  807. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  808. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  809. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  810. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  811. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  812. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  813. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  814. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  815. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  816. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  817. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  818. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  819. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  820. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  821. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  822. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  823. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  824. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  825. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  826. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  827. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  828. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  829. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  830. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  831. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  832. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  833. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  834. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  835. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  836. "created_at": "2015-05-05T23:40:12Z",
  837. "updated_at": "2015-05-05T23:40:12Z",
  838. "pushed_at": "2015-05-05T23:40:26Z",
  839. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  840. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  841. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  842. "svn_url": "https://github.com/baxterthehacker/public-repo",
  843. "homepage": null,
  844. "size": 0,
  845. "stargazers_count": 0,
  846. "watchers_count": 0,
  847. "language": null,
  848. "has_issues": true,
  849. "has_downloads": true,
  850. "has_wiki": true,
  851. "has_pages": true,
  852. "forks_count": 0,
  853. "mirror_url": null,
  854. "open_issues_count": 1,
  855. "forks": 0,
  856. "open_issues": 1,
  857. "watchers": 0,
  858. "default_branch": "master"
  859. }
  860. },
  861. "base": {
  862. "label": "baxterthehacker:master",
  863. "ref": "master",
  864. "sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
  865. "user": {
  866. "login": "baxterthehacker",
  867. "id": 6752317,
  868. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  869. "gravatar_id": "",
  870. "url": "https://api.github.com/users/baxterthehacker",
  871. "html_url": "https://github.com/baxterthehacker",
  872. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  873. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  874. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  875. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  876. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  877. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  878. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  879. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  880. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  881. "type": "User",
  882. "site_admin": false
  883. },
  884. "repo": {
  885. "id": 35129377,
  886. "name": "public-repo",
  887. "full_name": "baxterthehacker/public-repo",
  888. "owner": {
  889. "login": "baxterthehacker",
  890. "id": 6752317,
  891. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  892. "gravatar_id": "",
  893. "url": "https://api.github.com/users/baxterthehacker",
  894. "html_url": "https://github.com/baxterthehacker",
  895. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  896. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  897. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  898. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  899. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  900. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  901. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  902. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  903. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  904. "type": "User",
  905. "site_admin": false
  906. },
  907. "private": false,
  908. "html_url": "https://github.com/baxterthehacker/public-repo",
  909. "description": "",
  910. "fork": false,
  911. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  912. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  913. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  914. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  915. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  916. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  917. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  918. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  919. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  920. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  921. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  922. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  923. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  924. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  925. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  926. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  927. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  928. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  929. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  930. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  931. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  932. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  933. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  934. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  935. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  936. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  937. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  938. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  939. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  940. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  941. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  942. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  943. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  944. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  945. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  946. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  947. "created_at": "2015-05-05T23:40:12Z",
  948. "updated_at": "2015-05-05T23:40:12Z",
  949. "pushed_at": "2015-05-05T23:40:26Z",
  950. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  951. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  952. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  953. "svn_url": "https://github.com/baxterthehacker/public-repo",
  954. "homepage": null,
  955. "size": 0,
  956. "stargazers_count": 0,
  957. "watchers_count": 0,
  958. "language": null,
  959. "has_issues": true,
  960. "has_downloads": true,
  961. "has_wiki": true,
  962. "has_pages": true,
  963. "forks_count": 0,
  964. "mirror_url": null,
  965. "open_issues_count": 1,
  966. "forks": 0,
  967. "open_issues": 1,
  968. "watchers": 0,
  969. "default_branch": "master"
  970. }
  971. },
  972. "_links": {
  973. "self": {
  974. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"
  975. },
  976. "html": {
  977. "href": "https://github.com/baxterthehacker/public-repo/pull/1"
  978. },
  979. "issue": {
  980. "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"
  981. },
  982. "comments": {
  983. "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"
  984. },
  985. "review_comments": {
  986. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"
  987. },
  988. "review_comment": {
  989. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"
  990. },
  991. "commits": {
  992. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"
  993. },
  994. "statuses": {
  995. "href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"
  996. }
  997. },
  998. "merged": false,
  999. "mergeable": null,
  1000. "mergeable_state": "unknown",
  1001. "merged_by": null,
  1002. "comments": 0,
  1003. "review_comments": 0,
  1004. "commits": 1,
  1005. "additions": 1,
  1006. "deletions": 1,
  1007. "changed_files": 1
  1008. },
  1009. "repository": {
  1010. "id": 35129377,
  1011. "name": "public-repo",
  1012. "full_name": "baxterthehacker/public-repo",
  1013. "owner": {
  1014. "login": "baxterthehacker",
  1015. "id": 6752317,
  1016. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1017. "gravatar_id": "",
  1018. "url": "https://api.github.com/users/baxterthehacker",
  1019. "html_url": "https://github.com/baxterthehacker",
  1020. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1021. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1022. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1023. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1024. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1025. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1026. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1027. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1028. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1029. "type": "User",
  1030. "site_admin": false
  1031. },
  1032. "private": false,
  1033. "html_url": "https://github.com/baxterthehacker/public-repo",
  1034. "description": "",
  1035. "fork": false,
  1036. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1037. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1038. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1039. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1040. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1041. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1042. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1043. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1044. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1045. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1046. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1047. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1048. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1049. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1050. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1051. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1052. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1053. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1054. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1055. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1056. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1057. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1058. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1059. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1060. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1061. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1062. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1063. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1064. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1065. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1066. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1067. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1068. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1069. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1070. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1071. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1072. "created_at": "2015-05-05T23:40:12Z",
  1073. "updated_at": "2015-05-05T23:40:12Z",
  1074. "pushed_at": "2015-05-05T23:40:26Z",
  1075. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1076. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1077. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1078. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1079. "homepage": null,
  1080. "size": 0,
  1081. "stargazers_count": 0,
  1082. "watchers_count": 0,
  1083. "language": null,
  1084. "has_issues": true,
  1085. "has_downloads": true,
  1086. "has_wiki": true,
  1087. "has_pages": true,
  1088. "forks_count": 0,
  1089. "mirror_url": null,
  1090. "open_issues_count": 1,
  1091. "forks": 0,
  1092. "open_issues": 1,
  1093. "watchers": 0,
  1094. "default_branch": "master"
  1095. },
  1096. "sender": {
  1097. "login": "baxterthehacker",
  1098. "id": 6752317,
  1099. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1100. "gravatar_id": "",
  1101. "url": "https://api.github.com/users/baxterthehacker",
  1102. "html_url": "https://github.com/baxterthehacker",
  1103. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1104. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1105. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1106. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1107. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1108. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1109. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1110. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1111. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1112. "type": "User",
  1113. "site_admin": false
  1114. },
  1115. "installation": {
  1116. "id": 234
  1117. }
  1118. }"""
  1119. PULL_REQUEST_EDITED_EVENT_EXAMPLE = b"""{
  1120. "action": "edited",
  1121. "number": 1,
  1122. "pull_request": {
  1123. "url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",
  1124. "id": 34778301,
  1125. "html_url": "https://github.com/baxterthehacker/public-repo/pull/1",
  1126. "diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff",
  1127. "patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch",
  1128. "issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1",
  1129. "number": 1,
  1130. "state": "open",
  1131. "locked": false,
  1132. "title": "new edited title",
  1133. "user": {
  1134. "login": "baxterthehacker",
  1135. "id": 6752317,
  1136. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1137. "gravatar_id": "",
  1138. "url": "https://api.github.com/users/baxterthehacker",
  1139. "html_url": "https://github.com/baxterthehacker",
  1140. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1141. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1142. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1143. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1144. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1145. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1146. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1147. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1148. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1149. "type": "User",
  1150. "site_admin": false
  1151. },
  1152. "body": "new edited body",
  1153. "created_at": "2015-05-05T23:40:27Z",
  1154. "updated_at": "2015-05-05T23:40:27Z",
  1155. "closed_at": null,
  1156. "merged_at": null,
  1157. "merge_commit_sha": null,
  1158. "assignee": null,
  1159. "milestone": null,
  1160. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits",
  1161. "review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments",
  1162. "review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",
  1163. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments",
  1164. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  1165. "head": {
  1166. "label": "baxterthehacker:changes",
  1167. "ref": "changes",
  1168. "sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  1169. "user": {
  1170. "login": "baxterthehacker",
  1171. "id": 6752317,
  1172. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1173. "gravatar_id": "",
  1174. "url": "https://api.github.com/users/baxterthehacker",
  1175. "html_url": "https://github.com/baxterthehacker",
  1176. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1177. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1178. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1179. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1180. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1181. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1182. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1183. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1184. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1185. "type": "User",
  1186. "site_admin": false
  1187. },
  1188. "repo": {
  1189. "id": 35129377,
  1190. "name": "public-repo",
  1191. "full_name": "baxterthehacker/public-repo",
  1192. "owner": {
  1193. "login": "baxterthehacker",
  1194. "id": 6752317,
  1195. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1196. "gravatar_id": "",
  1197. "url": "https://api.github.com/users/baxterthehacker",
  1198. "html_url": "https://github.com/baxterthehacker",
  1199. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1200. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1201. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1202. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1203. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1204. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1205. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1206. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1207. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1208. "type": "User",
  1209. "site_admin": false
  1210. },
  1211. "private": false,
  1212. "html_url": "https://github.com/baxterthehacker/public-repo",
  1213. "description": "",
  1214. "fork": false,
  1215. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1216. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1217. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1218. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1219. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1220. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1221. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1222. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1223. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1224. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1225. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1226. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1227. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1228. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1229. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1230. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1231. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1232. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1233. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1234. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1235. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1236. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1237. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1238. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1239. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1240. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1241. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1242. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1243. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1244. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1245. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1246. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1247. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1248. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1249. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1250. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1251. "created_at": "2015-05-05T23:40:12Z",
  1252. "updated_at": "2015-05-05T23:40:12Z",
  1253. "pushed_at": "2015-05-05T23:40:26Z",
  1254. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1255. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1256. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1257. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1258. "homepage": null,
  1259. "size": 0,
  1260. "stargazers_count": 0,
  1261. "watchers_count": 0,
  1262. "language": null,
  1263. "has_issues": true,
  1264. "has_downloads": true,
  1265. "has_wiki": true,
  1266. "has_pages": true,
  1267. "forks_count": 0,
  1268. "mirror_url": null,
  1269. "open_issues_count": 1,
  1270. "forks": 0,
  1271. "open_issues": 1,
  1272. "watchers": 0,
  1273. "default_branch": "master"
  1274. }
  1275. },
  1276. "base": {
  1277. "label": "baxterthehacker:master",
  1278. "ref": "master",
  1279. "sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
  1280. "user": {
  1281. "login": "baxterthehacker",
  1282. "id": 6752317,
  1283. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1284. "gravatar_id": "",
  1285. "url": "https://api.github.com/users/baxterthehacker",
  1286. "html_url": "https://github.com/baxterthehacker",
  1287. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1288. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1289. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1290. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1291. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1292. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1293. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1294. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1295. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1296. "type": "User",
  1297. "site_admin": false
  1298. },
  1299. "repo": {
  1300. "id": 35129377,
  1301. "name": "public-repo",
  1302. "full_name": "baxterthehacker/public-repo",
  1303. "owner": {
  1304. "login": "baxterthehacker",
  1305. "id": 6752317,
  1306. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1307. "gravatar_id": "",
  1308. "url": "https://api.github.com/users/baxterthehacker",
  1309. "html_url": "https://github.com/baxterthehacker",
  1310. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1311. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1312. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1313. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1314. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1315. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1316. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1317. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1318. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1319. "type": "User",
  1320. "site_admin": false
  1321. },
  1322. "private": false,
  1323. "html_url": "https://github.com/baxterthehacker/public-repo",
  1324. "description": "",
  1325. "fork": false,
  1326. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1327. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1328. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1329. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1330. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1331. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1332. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1333. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1334. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1335. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1336. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1337. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1338. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1339. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1340. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1341. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1342. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1343. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1344. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1345. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1346. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1347. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1348. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1349. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1350. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1351. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1352. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1353. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1354. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1355. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1356. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1357. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1358. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1359. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1360. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1361. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1362. "created_at": "2015-05-05T23:40:12Z",
  1363. "updated_at": "2015-05-05T23:40:12Z",
  1364. "pushed_at": "2015-05-05T23:40:26Z",
  1365. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1366. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1367. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1368. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1369. "homepage": null,
  1370. "size": 0,
  1371. "stargazers_count": 0,
  1372. "watchers_count": 0,
  1373. "language": null,
  1374. "has_issues": true,
  1375. "has_downloads": true,
  1376. "has_wiki": true,
  1377. "has_pages": true,
  1378. "forks_count": 0,
  1379. "mirror_url": null,
  1380. "open_issues_count": 1,
  1381. "forks": 0,
  1382. "open_issues": 1,
  1383. "watchers": 0,
  1384. "default_branch": "master"
  1385. }
  1386. },
  1387. "_links": {
  1388. "self": {
  1389. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"
  1390. },
  1391. "html": {
  1392. "href": "https://github.com/baxterthehacker/public-repo/pull/1"
  1393. },
  1394. "issue": {
  1395. "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"
  1396. },
  1397. "comments": {
  1398. "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"
  1399. },
  1400. "review_comments": {
  1401. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"
  1402. },
  1403. "review_comment": {
  1404. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"
  1405. },
  1406. "commits": {
  1407. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"
  1408. },
  1409. "statuses": {
  1410. "href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"
  1411. }
  1412. },
  1413. "merged": false,
  1414. "mergeable": null,
  1415. "mergeable_state": "unknown",
  1416. "merged_by": null,
  1417. "comments": 0,
  1418. "review_comments": 0,
  1419. "commits": 1,
  1420. "additions": 1,
  1421. "deletions": 1,
  1422. "changed_files": 1
  1423. },
  1424. "repository": {
  1425. "id": 35129377,
  1426. "name": "public-repo",
  1427. "full_name": "baxterthehacker/public-repo",
  1428. "owner": {
  1429. "login": "baxterthehacker",
  1430. "id": 6752317,
  1431. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1432. "gravatar_id": "",
  1433. "url": "https://api.github.com/users/baxterthehacker",
  1434. "html_url": "https://github.com/baxterthehacker",
  1435. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1436. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1437. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1438. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1439. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1440. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1441. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1442. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1443. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1444. "type": "User",
  1445. "site_admin": false
  1446. },
  1447. "private": false,
  1448. "html_url": "https://github.com/baxterthehacker/public-repo",
  1449. "description": "",
  1450. "fork": false,
  1451. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1452. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1453. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1454. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1455. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1456. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1457. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1458. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1459. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1460. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1461. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1462. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1463. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1464. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1465. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1466. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1467. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1468. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1469. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1470. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1471. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1472. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1473. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1474. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1475. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1476. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1477. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1478. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1479. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1480. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1481. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1482. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1483. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1484. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1485. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1486. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1487. "created_at": "2015-05-05T23:40:12Z",
  1488. "updated_at": "2015-05-05T23:40:12Z",
  1489. "pushed_at": "2015-05-05T23:40:26Z",
  1490. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1491. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1492. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1493. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1494. "homepage": null,
  1495. "size": 0,
  1496. "stargazers_count": 0,
  1497. "watchers_count": 0,
  1498. "language": null,
  1499. "has_issues": true,
  1500. "has_downloads": true,
  1501. "has_wiki": true,
  1502. "has_pages": true,
  1503. "forks_count": 0,
  1504. "mirror_url": null,
  1505. "open_issues_count": 1,
  1506. "forks": 0,
  1507. "open_issues": 1,
  1508. "watchers": 0,
  1509. "default_branch": "master"
  1510. },
  1511. "sender": {
  1512. "login": "baxterthehacker",
  1513. "id": 6752317,
  1514. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1515. "gravatar_id": "",
  1516. "url": "https://api.github.com/users/baxterthehacker",
  1517. "html_url": "https://github.com/baxterthehacker",
  1518. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1519. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1520. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1521. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1522. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1523. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1524. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1525. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1526. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1527. "type": "User",
  1528. "site_admin": false
  1529. },
  1530. "installation": {
  1531. "id": 234
  1532. }
  1533. }"""
  1534. PULL_REQUEST_CLOSED_EVENT_EXAMPLE = b"""{
  1535. "action": "closed",
  1536. "number": 1,
  1537. "pull_request": {
  1538. "url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",
  1539. "id": 34778301,
  1540. "html_url": "https://github.com/baxterthehacker/public-repo/pull/1",
  1541. "diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff",
  1542. "patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch",
  1543. "issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1",
  1544. "number": 1,
  1545. "state": "open",
  1546. "locked": false,
  1547. "title": "new closed title",
  1548. "user": {
  1549. "login": "baxterthehacker",
  1550. "id": 6752317,
  1551. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1552. "gravatar_id": "",
  1553. "url": "https://api.github.com/users/baxterthehacker",
  1554. "html_url": "https://github.com/baxterthehacker",
  1555. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1556. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1557. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1558. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1559. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1560. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1561. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1562. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1563. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1564. "type": "User",
  1565. "site_admin": false
  1566. },
  1567. "body": "new closed body",
  1568. "created_at": "2015-05-05T23:40:27Z",
  1569. "updated_at": "2015-05-05T23:40:27Z",
  1570. "closed_at": "2015-05-05T23:40:27Z",
  1571. "merged_at": "2015-05-05T23:40:27Z",
  1572. "merge_commit_sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  1573. "assignee": null,
  1574. "milestone": null,
  1575. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits",
  1576. "review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments",
  1577. "review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",
  1578. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments",
  1579. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  1580. "head": {
  1581. "label": "baxterthehacker:changes",
  1582. "ref": "changes",
  1583. "sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",
  1584. "user": {
  1585. "login": "baxterthehacker",
  1586. "id": 6752317,
  1587. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1588. "gravatar_id": "",
  1589. "url": "https://api.github.com/users/baxterthehacker",
  1590. "html_url": "https://github.com/baxterthehacker",
  1591. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1592. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1593. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1594. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1595. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1596. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1597. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1598. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1599. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1600. "type": "User",
  1601. "site_admin": false
  1602. },
  1603. "repo": {
  1604. "id": 35129377,
  1605. "name": "public-repo",
  1606. "full_name": "baxterthehacker/public-repo",
  1607. "owner": {
  1608. "login": "baxterthehacker",
  1609. "id": 6752317,
  1610. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1611. "gravatar_id": "",
  1612. "url": "https://api.github.com/users/baxterthehacker",
  1613. "html_url": "https://github.com/baxterthehacker",
  1614. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1615. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1616. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1617. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1618. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1619. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1620. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1621. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1622. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1623. "type": "User",
  1624. "site_admin": false
  1625. },
  1626. "private": false,
  1627. "html_url": "https://github.com/baxterthehacker/public-repo",
  1628. "description": "",
  1629. "fork": false,
  1630. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1631. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1632. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1633. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1634. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1635. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1636. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1637. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1638. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1639. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1640. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1641. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1642. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1643. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1644. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1645. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1646. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1647. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1648. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1649. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1650. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1651. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1652. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1653. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1654. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1655. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1656. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1657. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1658. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1659. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1660. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1661. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1662. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1663. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1664. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1665. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1666. "created_at": "2015-05-05T23:40:12Z",
  1667. "updated_at": "2015-05-05T23:40:12Z",
  1668. "pushed_at": "2015-05-05T23:40:26Z",
  1669. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1670. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1671. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1672. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1673. "homepage": null,
  1674. "size": 0,
  1675. "stargazers_count": 0,
  1676. "watchers_count": 0,
  1677. "language": null,
  1678. "has_issues": true,
  1679. "has_downloads": true,
  1680. "has_wiki": true,
  1681. "has_pages": true,
  1682. "forks_count": 0,
  1683. "mirror_url": null,
  1684. "open_issues_count": 1,
  1685. "forks": 0,
  1686. "open_issues": 1,
  1687. "watchers": 0,
  1688. "default_branch": "master"
  1689. }
  1690. },
  1691. "base": {
  1692. "label": "baxterthehacker:master",
  1693. "ref": "master",
  1694. "sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",
  1695. "user": {
  1696. "login": "baxterthehacker",
  1697. "id": 6752317,
  1698. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1699. "gravatar_id": "",
  1700. "url": "https://api.github.com/users/baxterthehacker",
  1701. "html_url": "https://github.com/baxterthehacker",
  1702. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1703. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1704. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1705. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1706. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1707. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1708. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1709. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1710. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1711. "type": "User",
  1712. "site_admin": false
  1713. },
  1714. "repo": {
  1715. "id": 35129377,
  1716. "name": "public-repo",
  1717. "full_name": "baxterthehacker/public-repo",
  1718. "owner": {
  1719. "login": "baxterthehacker",
  1720. "id": 6752317,
  1721. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1722. "gravatar_id": "",
  1723. "url": "https://api.github.com/users/baxterthehacker",
  1724. "html_url": "https://github.com/baxterthehacker",
  1725. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1726. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1727. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1728. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1729. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1730. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1731. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1732. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1733. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1734. "type": "User",
  1735. "site_admin": false
  1736. },
  1737. "private": false,
  1738. "html_url": "https://github.com/baxterthehacker/public-repo",
  1739. "description": "",
  1740. "fork": false,
  1741. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1742. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1743. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1744. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1745. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1746. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1747. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1748. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1749. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1750. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1751. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1752. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1753. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1754. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1755. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1756. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1757. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1758. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1759. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1760. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1761. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1762. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1763. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1764. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1765. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1766. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1767. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1768. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1769. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1770. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1771. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1772. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1773. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1774. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1775. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1776. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1777. "created_at": "2015-05-05T23:40:12Z",
  1778. "updated_at": "2015-05-05T23:40:12Z",
  1779. "pushed_at": "2015-05-05T23:40:26Z",
  1780. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1781. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1782. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1783. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1784. "homepage": null,
  1785. "size": 0,
  1786. "stargazers_count": 0,
  1787. "watchers_count": 0,
  1788. "language": null,
  1789. "has_issues": true,
  1790. "has_downloads": true,
  1791. "has_wiki": true,
  1792. "has_pages": true,
  1793. "forks_count": 0,
  1794. "mirror_url": null,
  1795. "open_issues_count": 1,
  1796. "forks": 0,
  1797. "open_issues": 1,
  1798. "watchers": 0,
  1799. "default_branch": "master"
  1800. }
  1801. },
  1802. "_links": {
  1803. "self": {
  1804. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"
  1805. },
  1806. "html": {
  1807. "href": "https://github.com/baxterthehacker/public-repo/pull/1"
  1808. },
  1809. "issue": {
  1810. "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"
  1811. },
  1812. "comments": {
  1813. "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"
  1814. },
  1815. "review_comments": {
  1816. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"
  1817. },
  1818. "review_comment": {
  1819. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"
  1820. },
  1821. "commits": {
  1822. "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"
  1823. },
  1824. "statuses": {
  1825. "href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"
  1826. }
  1827. },
  1828. "merged": true,
  1829. "mergeable": null,
  1830. "mergeable_state": "unknown",
  1831. "merged_by": null,
  1832. "comments": 0,
  1833. "review_comments": 0,
  1834. "commits": 1,
  1835. "additions": 1,
  1836. "deletions": 1,
  1837. "changed_files": 1
  1838. },
  1839. "repository": {
  1840. "id": 35129377,
  1841. "name": "public-repo",
  1842. "full_name": "baxterthehacker/public-repo",
  1843. "owner": {
  1844. "login": "baxterthehacker",
  1845. "id": 6752317,
  1846. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1847. "gravatar_id": "",
  1848. "url": "https://api.github.com/users/baxterthehacker",
  1849. "html_url": "https://github.com/baxterthehacker",
  1850. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1851. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1852. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1853. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1854. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1855. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1856. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1857. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1858. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1859. "type": "User",
  1860. "site_admin": false
  1861. },
  1862. "private": false,
  1863. "html_url": "https://github.com/baxterthehacker/public-repo",
  1864. "description": "",
  1865. "fork": false,
  1866. "url": "https://api.github.com/repos/baxterthehacker/public-repo",
  1867. "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",
  1868. "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",
  1869. "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",
  1870. "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",
  1871. "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",
  1872. "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",
  1873. "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",
  1874. "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",
  1875. "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",
  1876. "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",
  1877. "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",
  1878. "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",
  1879. "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",
  1880. "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",
  1881. "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",
  1882. "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",
  1883. "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",
  1884. "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",
  1885. "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",
  1886. "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",
  1887. "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",
  1888. "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",
  1889. "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",
  1890. "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",
  1891. "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",
  1892. "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",
  1893. "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",
  1894. "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",
  1895. "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",
  1896. "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",
  1897. "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",
  1898. "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",
  1899. "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",
  1900. "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",
  1901. "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",
  1902. "created_at": "2015-05-05T23:40:12Z",
  1903. "updated_at": "2015-05-05T23:40:12Z",
  1904. "pushed_at": "2015-05-05T23:40:26Z",
  1905. "git_url": "git://github.com/baxterthehacker/public-repo.git",
  1906. "ssh_url": "git@github.com:baxterthehacker/public-repo.git",
  1907. "clone_url": "https://github.com/baxterthehacker/public-repo.git",
  1908. "svn_url": "https://github.com/baxterthehacker/public-repo",
  1909. "homepage": null,
  1910. "size": 0,
  1911. "stargazers_count": 0,
  1912. "watchers_count": 0,
  1913. "language": null,
  1914. "has_issues": true,
  1915. "has_downloads": true,
  1916. "has_wiki": true,
  1917. "has_pages": true,
  1918. "forks_count": 0,
  1919. "mirror_url": null,
  1920. "open_issues_count": 1,
  1921. "forks": 0,
  1922. "open_issues": 1,
  1923. "watchers": 0,
  1924. "default_branch": "master"
  1925. },
  1926. "sender": {
  1927. "login": "baxterthehacker",
  1928. "id": 6752317,
  1929. "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",
  1930. "gravatar_id": "",
  1931. "url": "https://api.github.com/users/baxterthehacker",
  1932. "html_url": "https://github.com/baxterthehacker",
  1933. "followers_url": "https://api.github.com/users/baxterthehacker/followers",
  1934. "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",
  1935. "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",
  1936. "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",
  1937. "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",
  1938. "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",
  1939. "repos_url": "https://api.github.com/users/baxterthehacker/repos",
  1940. "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",
  1941. "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",
  1942. "type": "User",
  1943. "site_admin": false
  1944. },
  1945. "installation": {
  1946. "id": 234
  1947. }
  1948. }"""