从服务端响应的内容大致可以有以下几种形式:
文本响应内容
文本响应内容在前文已经描述过,通过Response.text
以文本的形式获取响应数据,如:
import requests
if __name__ == '__main__':
r = requests.get("https://www.baidu.com/s?ie=UTF-8&wd=%E7%AE%80%E4%B9%A6")
print(r.text)
Json响应内容
Json响应的内容是在文本响应内容的基础上对数据进行再加工,使符合JSON格式的文本能够转换成JSON形式。通过Response.json()
将内容转码成json,如果内容格式不符合json格式,调用json()
方法则会抛出异常json.decoder.JSONDecodeError
。
通过requests调用某网页
import requests
if __name__ == '__main__':
r = requests.get("http://www.mnw.cn/keji/internet/2189788.html")
r.encoding = "utf-8"
print(r.text)
代码执行后,该网页将返回其html内容文本:
<!DOCTYPE html><html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>我不要你觉得我要我觉得是什么梗 这句说啥意思谁说的出处-闽南网</title>
<meta name="keywords" content=" 我不要你觉得我要我觉得是什么梗 这句说啥意思谁说的出处" />
<meta name="description" content="我不要你觉得我要我觉得是什么梗 这句说啥意思谁说的出处" />
<link rel="canonical" href="http://www.mnw.cn/keji/internet/2189788.html" />
<meta name="mobile-agent" content="format=html5; url=http://m.mnw.cn/keji/internet/2189788.html">
<link rel="stylesheet" type="text/css" href="http://img.mnw.cn/style/base.css" />
<link rel="stylesheet" type="text/css" href="http://img.mnw.cn/style/info/info.css" />
<script type="text/javascript" src="http://img.mnw.cn/js/config.js"></script>
<script type="text/javascript" src="http://img.mnw.cn/script/base.js"></script>
<script type="text/javascript" src="http://img.mnw.cn/js/fet.js"></script>
<script type="text/javascript" src="http://img.mnw.cn/js/repos.js"></script>
</head>
<body>
<div class="mnw_top_s3 iw">
<a href="/" class="logo ibg" title="闽南网"></a>
<div class="nav">
<div class="nav" style="margin:2px 0 0 10px">
<a href="http://www.mnw.cn/news/">新闻</a>
<a href="http://www.mnw.cn/quanzhou/">泉州</a>
<a href="http://www.mnw.cn/jinjiang/">晋江</a>
<a href="http://zz.mnw.cn/">漳州</a>
<a href="http://www.mnw.cn/xiamen/">厦门</a>
<a href="http://www.mnw.cn/news/fujian/">福建</a>
<a href="http://www.mnw.cn/news/china/">国内</a>
<a href="http://www.mnw.cn/news/world/">国际</a>
...(此处省略若干篇幅)
<script type="text/javascript" src="http://img.mnw.cn/script/info/info.js"></script>
<script type="text/javascript" src="http://img.mnw.cn/script/info/bottom.js"></script>
<div style="display:none"><script src="https://s9.cnzz.com/z_stat.php?id=3301342&web_id=3301342" language="JavaScript"></script></div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["tsina","weixin"],"viewText":"分享到:","viewSize":"16"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["tsina","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
<div style="display:none;"><script src="https://s6.cnzz.com/z_stat.php?id=5280585&web_id=5280585" language="JavaScript"></script></div></body>
</html>
Process finished with exit code 0
由于该返回内容不是json格式,下面对其进行r.json()
调用:
import requests
if __name__ == '__main__':
r = requests.get("http://www.mnw.cn/keji/internet/2189788.html")
r.encoding = "utf-8"
print(r.json())
输出:
Traceback (most recent call last):
File "D:/git_res/autotest/requests_easy/getweb.py", line 8, in <module>
print(r.json())
File "D:\git_res\autotest\requests_easy\venv\lib\site-packages\requests\models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "D:\DevSoftware\python3.7.3\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "D:\DevSoftware\python3.7.3\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\DevSoftware\python3.7.3\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
requests调用返回json形式数据的接口:
import requests
if __name__ == '__main__':
r = requests.get("https://api.github.com/events")
r.encoding = "utf-8"
print(r.json())
此时,正确打印出json形式数据:
[{'id': '10346569427', 'type': 'PushEvent', 'actor': {'id': 1632478, 'login': 'naomichi-y', 'display_login': 'naomichi-y', 'gravatar_id': '', 'url': 'https://api.github.com/users/naomichi-y', 'avatar_url': 'https://avatars.githubusercontent.com/u/1632478?'}, 'repo': {'id': 124389797, 'name': 'metaps/genova', 'url': 'https://api.github.com/repos/metaps/genova'}, 'payload': {'push_id': 3996620790, 'size': 3, 'distinct_size': 1, 'ref': 'refs/heads/develop', 'head': '5eca2d7bf57287a2fbd7afa6cfd9aaf8eac9a1d0', 'before': '462f96c4c2d035f35ba3fb283c26ce5760822ce8', 'commits': [{'sha': 'd507d5511fcebd7ebaf26862c9b724cd94408916', 'author': {'email': 'developers@pring.jp', 'name': 'Developer'}, 'message': '[#73] Slack not work after reboot', 'distinct': False, 'url': 'https://api.github.com/repos/metaps/genova/commits/d507d5511fcebd7ebaf26862c9b724cd94408916'}, {'sha': 'da8574c4a705342f6d5087808f871b783494cf1c', 'author': {'email': 'n.yamakita@gmail.com', 'name': 'naomichi-y'}, 'message': '[#73] Slack not work after reboot', 'distinct': False, 'url': 'https://api.github.com/repos/metaps/genova/commits/da8574c4a705342f6d5087808f871b783494cf1c'}, {'sha': '5eca2d7bf57287a2fbd7afa6cfd9aaf8eac9a1d0', 'author': {'email': 'n.yamakita@gmail.com', 'name': 'Naomichi Yamakita'}, 'message': 'Merge pull request #75 from metaps/feature/73_slack-notwork-after-reboot\n\nFeature/73 slack notwork after reboot', 'distinct': True, 'url': 'https://api.github.com/repos/metaps/genova/commits/5eca2d7bf57287a2fbd7afa6cfd9aaf8eac9a1d0'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 3729622, 'login': 'metaps', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/metaps', 'avatar_url': 'https://avatars.githubusercontent.com/u/3729622?'}}, {'id': '10346569418', 'type': 'PushEvent', 'actor': {'id': 53547654, 'login': 'faiezyacob', 'display_login': 'faiezyacob', 'gravatar_id': '', 'url': 'https://api.github.com/users/faiezyacob', 'avatar_url': 'https://avatars.githubusercontent.com/u/53547654?'}, 'repo': {'id': 202474488, 'name': 'faiezyacob/mydigitalmessage', 'url': 'https://api.github.com/repos/faiezyacob/mydigitalmessage'}, 'payload': {'push_id': 3996620788, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '0cfbfb3f99310c7dc72756b2528de7a3cddce8ce', 'before': 'b5252d527748856283c52594287fdefb1cf7a087', 'commits': [{'sha': '0cfbfb3f99310c7dc72756b2528de7a3cddce8ce', 'author': {'email': '53547654+faiezyacob@users.noreply.github.com', 'name': 'faiezyacob'}, 'message': 'Update .gitattributes', 'distinct': True, 'url': 'https://api.github.com/repos/faiezyacob/mydigitalmessage/commits/0cfbfb3f99310c7dc72756b2528de7a3cddce8ce'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569412', 'type': 'PushEvent', 'actor': {'id': 9291470, 'login': 'LiteMasteralex', 'display_login': 'LiteMasteralex', 'gravatar_id': '', 'url': 'https://api.github.com/users/LiteMasteralex', 'avatar_url': 'https://avatars.githubusercontent.com/u/9291470?'}, 'repo': {'id': 206331975, 'name': 'LiteMasteralex/Lab3_Web_Development', 'url': 'https://api.github.com/repos/LiteMasteralex/Lab3_Web_Development'}, 'payload': {'push_id': 3996620785, 'size': 2, 'distinct_size': 2, 'ref': 'refs/heads/master', 'head': 'e3d2dea30cc91b5b594788d316fc5003d55a3dd5', 'before': '4b2ea80058bf0d5135a368531246f5c8bca194cf', 'commits': [{'sha': '648406e9c13c47425398a9d46211090596729f32', 'author': {'email': 'alexlara_97@hotmail.com', 'name': 'LiteMasteralex'}, 'message': 'Initialized the repo with the files provided', 'distinct': True, 'url': 'https://api.github.com/repos/LiteMasteralex/Lab3_Web_Development/commits/648406e9c13c47425398a9d46211090596729f32'}, {'sha': 'e3d2dea30cc91b5b594788d316fc5003d55a3dd5', 'author': {'email': 'alexlara_97@hotmail.com', 'name': 'LiteMasteralex'}, 'message': 'Added flex-box styling and media queires', 'distinct': True, 'url': 'https://api.github.com/repos/LiteMasteralex/Lab3_Web_Development/commits/e3d2dea30cc91b5b594788d316fc5003d55a3dd5'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569413', 'type': 'PushEvent', 'actor': {'id': 23612526, 'login': 'roolvp', 'display_login': 'roolvp', 'gravatar_id': '', 'url': 'https://api.github.com/users/roolvp', 'avatar_url': 'https://avatars.githubusercontent.com/u/23612526?'}, 'repo': {'id': 176528597, 'name': 'boclips/event-bus', 'url': 'https://api.github.com/repos/boclips/event-bus'}, 'payload': {'push_id': 3996620782, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '34d7afb3ad62b26a29fdb796bea4a65b00d21f4b', 'before': '86860944bee2c40fd90c6b3b00b134d474f63b64', 'commits': [{'sha': '34d7afb3ad62b26a29fdb796bea4a65b00d21f4b', 'author': {'email': 'raul@boclips.com', 'name': 'roolvp'}, 'message': 'Include video duration seconds in event\n\n[M`2[M`2[M`?[M`?[M`?# On branch master\n #[Ma[Ma6[Ma6?', 'distinct': True, 'url': 'https://api.github.com/repos/boclips/event-bus/commits/34d7afb3ad62b26a29fdb796bea4a65b00d21f4b'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 12545638, 'login': 'boclips', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/boclips', 'avatar_url': 'https://avatars.githubusercontent.com/u/12545638?'}}, {'id': '10346569409', 'type': 'PushEvent', 'actor': {'id': 11134736, 'login': 'Harishharsha', 'display_login': 'Harishharsha', 'gravatar_id': '', 'url': 'https://api.github.com/users/Harishharsha', 'avatar_url': 'https://avatars.githubusercontent.com/u/11134736?'}, 'repo': {'id': 206046625, 'name': 'Harishharsha/tvt6news', 'url': 'https://api.github.com/repos/Harishharsha/tvt6news'}, 'payload': {'push_id': 3996620787, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'c144a8e2f8d4d85ccf123b614b416ff2a3800ce7', 'before': '3e50392fd3de143bca6c3b30e46448e3719791f8', 'commits': [{'sha': 'c144a8e2f8d4d85ccf123b614b416ff2a3800ce7', 'author': {'email': 'harish2012.2012@gmail.com', 'name': 'Annikapati Harish'}, 'message': 'Update index.php', 'distinct': True, 'url': 'https://api.github.com/repos/Harishharsha/tvt6news/commits/c144a8e2f8d4d85ccf123b614b416ff2a3800ce7'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569405', 'type': 'PushEvent', 'actor': {'id': 35327374, 'login': 'skyisfuck', 'display_login': 'skyisfuck', 'gravatar_id': '', 'url': 'https://api.github.com/users/skyisfuck', 'avatar_url': 'https://avatars.githubusercontent.com/u/35327374?'}, 'repo': {'id': 117799362, 'name': 'skyisfuck/shell', 'url': 'https://api.github.com/repos/skyisfuck/shell'}, 'payload': {'push_id': 3996620775, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '975aed2778feeb2310a6eefa35f6d6007d56e615', 'before': 'f7806acae0efe545bf4da41d99e5645153da1db0', 'commits': [{'sha': '975aed2778feeb2310a6eefa35f6d6007d56e615', 'author': {'email': '35327374+skyisfuck@users.noreply.github.com', 'name': 'skyisfuck'}, 'message': 'Rename elk/logstash-7.3.1.sh to elk/7.3.1/logstash-7.3.1.sh', 'distinct': True, 'url': 'https://api.github.com/repos/skyisfuck/shell/commits/975aed2778feeb2310a6eefa35f6d6007d56e615'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569402', 'type': 'PushEvent', 'actor': {'id': 17253431, 'login': 'bk1613', 'display_login': 'bk1613', 'gravatar_id': '', 'url': 'https://api.github.com/users/bk1613', 'avatar_url': 'https://avatars.githubusercontent.com/u/17253431?'}, 'repo': {'id': 206343727, 'name': 'bk1613/programming-univbasics-4-building-nested-hashes-code-along-online-web-prework', 'url': 'https://api.github.com/repos/bk1613/programming-univbasics-4-building-nested-hashes-code-along-online-web-prework'}, 'payload': {'push_id': 3996620779, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/wip', 'head': '15861e72573516e6b63f03f6b6c8d3140e88e15b', 'before': '5c6646e2bc78a632883f9c9b86d778b8f3a570b6', 'commits': [{'sha': '15861e72573516e6b63f03f6b6c8d3140e88e15b', 'author': {'email': 'bk1613@nyu.edu', 'name': 'Brian Kao'}, 'message': 'Automatically backed up by Learn', 'distinct': True, 'url': 'https://api.github.com/repos/bk1613/programming-univbasics-4-building-nested-hashes-code-along-online-web-prework/commits/15861e72573516e6b63f03f6b6c8d3140e88e15b'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569392', 'type': 'PushEvent', 'actor': {'id': 10129742, 'login': 'YuryKirilyuk', 'display_login': 'YuryKirilyuk', 'gravatar_id': '', 'url': 'https://api.github.com/users/YuryKirilyuk', 'avatar_url': 'https://avatars.githubusercontent.com/u/10129742?'}, 'repo': {'id': 205181376, 'name': 'YuryKirilyuk/Amorana', 'url': 'https://api.github.com/repos/YuryKirilyuk/Amorana'}, 'payload': {'push_id': 3996620770, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '9c1514882c137342e179c4dedbb1f451936b0b37', 'before': '189424b85c4236113909a07c52f6f5d3fe8d2677', 'commits': [{'sha': '9c1514882c137342e179c4dedbb1f451936b0b37', 'author': {'email': 'yury@cyberiansoft.com', 'name': 'Yury Kirilyuk'}, 'message': 'links to calendars added', 'distinct': True, 'url': 'https://api.github.com/repos/YuryKirilyuk/Amorana/commits/9c1514882c137342e179c4dedbb1f451936b0b37'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569393', 'type': 'CreateEvent', 'actor': {'id': 53275598, 'login': 'darrendezeeuw', 'display_login': 'darrendezeeuw', 'gravatar_id': '', 'url': 'https://api.github.com/users/darrendezeeuw', 'avatar_url': 'https://avatars.githubusercontent.com/u/53275598?'}, 'repo': {'id': 200901608, 'name': 'nasa/Kamodo', 'url': 'https://api.github.com/repos/nasa/Kamodo'}, 'payload': {'ref': 'gh-pages', 'ref_type': 'branch', 'master_branch': 'master', 'description': None, 'pusher_type': 'user'}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 848102, 'login': 'nasa', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/nasa', 'avatar_url': 'https://avatars.githubusercontent.com/u/848102?'}}, {'id': '10346569383', 'type': 'PullRequestEvent', 'actor': {'id': 9572954, 'login': 'wisererik', 'display_login': 'wisererik', 'gravatar_id': '', 'url': 'https://api.github.com/users/wisererik', 'avatar_url': 'https://avatars.githubusercontent.com/u/9572954?'}, 'repo': {'id': 77096333, 'name': 'opensds/opensds', 'url': 'https://api.github.com/repos/opensds/opensds'}, 'payload': {'action': 'closed', 'number': 993, 'pull_request': {'url': 'https://api.github.com/repos/opensds/opensds/pulls/993', 'id': 310807349, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MzEwODA3MzQ5', 'html_url': 'https://github.com/opensds/opensds/pull/993', 'diff_url': 'https://github.com/opensds/opensds/pull/993.diff', 'patch_url': 'https://github.com/opensds/opensds/pull/993.patch', 'issue_url': 'https://api.github.com/repos/opensds/opensds/issues/993', 'number': 993, 'state': 'closed', 'locked': False, 'title': 'Fix the segmentation fault during "make test"', 'user': {'login': 'ThisIsClark', 'id': 9812744, 'node_id': 'MDQ6VXNlcjk4MTI3NDQ=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9812744?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ThisIsClark', 'html_url': 'https://github.com/ThisIsClark', 'followers_url': 'https://api.github.com/users/ThisIsClark/followers', 'following_url': 'https://api.github.com/users/ThisIsClark/following{/other_user}', 'gists_url': 'https://api.github.com/users/ThisIsClark/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ThisIsClark/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ThisIsClark/subscriptions', 'organizations_url': 'https://api.github.com/users/ThisIsClark/orgs', 'repos_url': 'https://api.github.com/users/ThisIsClark/repos', 'events_url': 'https://api.github.com/users/ThisIsClark/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ThisIsClark/received_events', 'type': 'User', 'site_admin': False}, 'body': '<!-- Thanks for sending a pull request! -->\r\n\r\n**What this PR does / why we need it**:\r\nFix the segmentation during "make test"\r\n\r\n**Which issue this PR fixes**:\r\nfixes #992\r\n\r\n**Special notes for your reviewer**:\r\n\r\n**Release note**:\r\n<!-- Steps to write your release note:\r\n1. Use the release-note-* labels to set the release note state (if you have access)\r\n2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`.\r\n-->\r\n```release-note\r\n```\r\n', 'created_at': '2019-08-26T07:51:11Z', 'updated_at': '2019-09-04T15:30:56Z', 'closed_at': '2019-09-04T15:30:56Z', 'merged_at': '2019-09-04T15:30:55Z', 'merge_commit_sha': 'bc79715125c9bdd538bfb97d1b8a93d1425490c8', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/opensds/opensds/pulls/993/commits', 'review_comments_url': 'https://api.github.com/repos/opensds/opensds/pulls/993/comments', 'review_comment_url': 'https://api.github.com/repos/opensds/opensds/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/opensds/opensds/issues/993/comments', 'statuses_url': 'https://api.github.com/repos/opensds/opensds/statuses/365476d7d024a00fc15d49d8d791b83987698fda', 'head': {'label': 'ThisIsClark:master', 'ref': 'master', 'sha': '365476d7d024a00fc15d49d8d791b83987698fda', 'user': {'login': 'ThisIsClark', 'id': 9812744, 'node_id': 'MDQ6VXNlcjk4MTI3NDQ=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9812744?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ThisIsClark', 'html_url': 'https://github.com/ThisIsClark', 'followers_url': 'https://api.github.com/users/ThisIsClark/followers', 'following_url': 'https://api.github.com/users/ThisIsClark/following{/other_user}', 'gists_url': 'https://api.github.com/users/ThisIsClark/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ThisIsClark/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ThisIsClark/subscriptions', 'organizations_url': 'https://api.github.com/users/ThisIsClark/orgs', 'repos_url': 'https://api.github.com/users/ThisIsClark/repos', 'events_url': 'https://api.github.com/users/ThisIsClark/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ThisIsClark/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 203487203, 'node_id': 'MDEwOlJlcG9zaXRvcnkyMDM0ODcyMDM=', 'name': 'opensds', 'full_name': 'ThisIsClark/opensds', 'private': False, 'owner': {'login': 'ThisIsClark', 'id': 9812744, 'node_id': 'MDQ6VXNlcjk4MTI3NDQ=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9812744?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ThisIsClark', 'html_url': 'https://github.com/ThisIsClark', 'followers_url': 'https://api.github.com/users/ThisIsClark/followers', 'following_url': 'https://api.github.com/users/ThisIsClark/following{/other_user}', 'gists_url': 'https://api.github.com/users/ThisIsClark/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ThisIsClark/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ThisIsClark/subscriptions', 'organizations_url': 'https://api.github.com/users/ThisIsClark/orgs', 'repos_url': 'https://api.github.com/users/ThisIsClark/repos', 'events_url': 'https://api.github.com/users/ThisIsClark/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ThisIsClark/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/ThisIsClark/opensds', 'description': 'Hotpot: OpenSDS Controller Project', 'fork': True, 'url': 'https://api.github.com/repos/ThisIsClark/opensds', 'forks_url': 'https://api.github.com/repos/ThisIsClark/opensds/forks', 'keys_url': 'https://api.github.com/repos/ThisIsClark/opensds/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/ThisIsClark/opensds/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/ThisIsClark/opensds/teams', 'hooks_url': 'https://api.github.com/repos/ThisIsClark/opensds/hooks', 'issue_events_url': 'https://api.github.com/repos/ThisIsClark/opensds/issues/events{/number}', 'events_url': 'https://api.github.com/repos/ThisIsClark/opensds/events', 'assignees_url': 'https://api.github.com/repos/ThisIsClark/opensds/assignees{/user}', 'branches_url': 'https://api.github.com/repos/ThisIsClark/opensds/branches{/branch}', 'tags_url': 'https://api.github.com/repos/ThisIsClark/opensds/tags', 'blobs_url': 'https://api.github.com/repos/ThisIsClark/opensds/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/ThisIsClark/opensds/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/ThisIsClark/opensds/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/ThisIsClark/opensds/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/ThisIsClark/opensds/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/ThisIsClark/opensds/languages', 'stargazers_url': 'https://api.github.com/repos/ThisIsClark/opensds/stargazers', 'contributors_url': 'https://api.github.com/repos/ThisIsClark/opensds/contributors', 'subscribers_url': 'https://api.github.com/repos/ThisIsClark/opensds/subscribers', 'subscription_url': 'https://api.github.com/repos/ThisIsClark/opensds/subscription', 'commits_url': 'https://api.github.com/repos/ThisIsClark/opensds/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/ThisIsClark/opensds/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/ThisIsClark/opensds/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/ThisIsClark/opensds/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/ThisIsClark/opensds/contents/{+path}', 'compare_url': 'https://api.github.com/repos/ThisIsClark/opensds/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/ThisIsClark/opensds/merges', 'archive_url': 'https://api.github.com/repos/ThisIsClark/opensds/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/ThisIsClark/opensds/downloads', 'issues_url': 'https://api.github.com/repos/ThisIsClark/opensds/issues{/number}', 'pulls_url': 'https://api.github.com/repos/ThisIsClark/opensds/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/ThisIsClark/opensds/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/ThisIsClark/opensds/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/ThisIsClark/opensds/labels{/name}', 'releases_url': 'https://api.github.com/repos/ThisIsClark/opensds/releases{/id}', 'deployments_url': 'https://api.github.com/repos/ThisIsClark/opensds/deployments', 'created_at': '2019-08-21T02:06:16Z', 'updated_at': '2019-09-04T14:04:35Z', 'pushed_at': '2019-09-04T14:04:31Z', 'git_url': 'git://github.com/ThisIsClark/opensds.git', 'ssh_url': 'git@github.com:ThisIsClark/opensds.git', 'clone_url': 'https://github.com/ThisIsClark/opensds.git', 'svn_url': 'https://github.com/ThisIsClark/opensds', 'homepage': 'https://www.opensds.io/', 'size': 95544, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'Go', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'apache-2.0', 'name': 'Apache License 2.0', 'spdx_id': 'Apache-2.0', 'url': 'https://api.github.com/licenses/apache-2.0', 'node_id': 'MDc6TGljZW5zZTI='}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'opensds:master', 'ref': 'master', 'sha': 'c41aea55f78d832c8081ce640011761744c46ffd', 'user': {'login': 'opensds', 'id': 23061836, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjIzMDYxODM2', 'avatar_url': 'https://avatars3.githubusercontent.com/u/23061836?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/opensds', 'html_url': 'https://github.com/opensds', 'followers_url': 'https://api.github.com/users/opensds/followers', 'following_url': 'https://api.github.com/users/opensds/following{/other_user}', 'gists_url': 'https://api.github.com/users/opensds/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/opensds/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/opensds/subscriptions', 'organizations_url': 'https://api.github.com/users/opensds/orgs', 'repos_url': 'https://api.github.com/users/opensds/repos', 'events_url': 'https://api.github.com/users/opensds/events{/privacy}', 'received_events_url': 'https://api.github.com/users/opensds/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 77096333, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzA5NjMzMw==', 'name': 'opensds', 'full_name': 'opensds/opensds', 'private': False, 'owner': {'login': 'opensds', 'id': 23061836, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjIzMDYxODM2', 'avatar_url': 'https://avatars3.githubusercontent.com/u/23061836?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/opensds', 'html_url': 'https://github.com/opensds', 'followers_url': 'https://api.github.com/users/opensds/followers', 'following_url': 'https://api.github.com/users/opensds/following{/other_user}', 'gists_url': 'https://api.github.com/users/opensds/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/opensds/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/opensds/subscriptions', 'organizations_url': 'https://api.github.com/users/opensds/orgs', 'repos_url': 'https://api.github.com/users/opensds/repos', 'events_url': 'https://api.github.com/users/opensds/events{/privacy}', 'received_events_url': 'https://api.github.com/users/opensds/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/opensds/opensds', 'description': 'Hotpot: OpenSDS Controller Project', 'fork': False, 'url': 'https://api.github.com/repos/opensds/opensds', 'forks_url': 'https://api.github.com/repos/opensds/opensds/forks', 'keys_url': 'https://api.github.com/repos/opensds/opensds/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/opensds/opensds/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/opensds/opensds/teams', 'hooks_url': 'https://api.github.com/repos/opensds/opensds/hooks', 'issue_events_url': 'https://api.github.com/repos/opensds/opensds/issues/events{/number}', 'events_url': 'https://api.github.com/repos/opensds/opensds/events', 'assignees_url': 'https://api.github.com/repos/opensds/opensds/assignees{/user}', 'branches_url': 'https://api.github.com/repos/opensds/opensds/branches{/branch}', 'tags_url': 'https://api.github.com/repos/opensds/opensds/tags', 'blobs_url': 'https://api.github.com/repos/opensds/opensds/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/opensds/opensds/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/opensds/opensds/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/opensds/opensds/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/opensds/opensds/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/opensds/opensds/languages', 'stargazers_url': 'https://api.github.com/repos/opensds/opensds/stargazers', 'contributors_url': 'https://api.github.com/repos/opensds/opensds/contributors', 'subscribers_url': 'https://api.github.com/repos/opensds/opensds/subscribers', 'subscription_url': 'https://api.github.com/repos/opensds/opensds/subscription', 'commits_url': 'https://api.github.com/repos/opensds/opensds/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/opensds/opensds/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/opensds/opensds/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/opensds/opensds/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/opensds/opensds/contents/{+path}', 'compare_url': 'https://api.github.com/repos/opensds/opensds/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/opensds/opensds/merges', 'archive_url': 'https://api.github.com/repos/opensds/opensds/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/opensds/opensds/downloads', 'issues_url': 'https://api.github.com/repos/opensds/opensds/issues{/number}', 'pulls_url': 'https://api.github.com/repos/opensds/opensds/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/opensds/opensds/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/opensds/opensds/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/opensds/opensds/labels{/name}', 'releases_url': 'https://api.github.com/repos/opensds/opensds/releases{/id}', 'deployments_url': 'https://api.github.com/repos/opensds/opensds/deployments', 'created_at': '2016-12-22T00:27:54Z', 'updated_at': '2019-09-04T14:04:17Z', 'pushed_at': '2019-09-04T15:30:55Z', 'git_url': 'git://github.com/opensds/opensds.git', 'ssh_url': 'git@github.com:opensds/opensds.git', 'clone_url': 'https://github.com/opensds/opensds.git', 'svn_url': 'https://github.com/opensds/opensds', 'homepage': 'https://www.opensds.io/', 'size': 95480, 'stargazers_count': 363, 'watchers_count': 363, 'language': 'Go', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 191, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 70, 'license': {'key': 'apache-2.0', 'name': 'Apache License 2.0', 'spdx_id': 'Apache-2.0', 'url': 'https://api.github.com/licenses/apache-2.0', 'node_id': 'MDc6TGljZW5zZTI='}, 'forks': 191, 'open_issues': 70, 'watchers': 363, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/opensds/opensds/pulls/993'}, 'html': {'href': 'https://github.com/opensds/opensds/pull/993'}, 'issue': {'href': 'https://api.github.com/repos/opensds/opensds/issues/993'}, 'comments': {'href': 'https://api.github.com/repos/opensds/opensds/issues/993/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/opensds/opensds/pulls/993/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/opensds/opensds/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/opensds/opensds/pulls/993/commits'}, 'statuses': {'href': 'https://api.github.com/repos/opensds/opensds/statuses/365476d7d024a00fc15d49d8d791b83987698fda'}}, 'author_association': 'CONTRIBUTOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'wisererik', 'id': 9572954, 'node_id': 'MDQ6VXNlcjk1NzI5NTQ=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/9572954?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/wisererik', 'html_url': 'https://github.com/wisererik', 'followers_url': 'https://api.github.com/users/wisererik/followers', 'following_url': 'https://api.github.com/users/wisererik/following{/other_user}', 'gists_url': 'https://api.github.com/users/wisererik/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/wisererik/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/wisererik/subscriptions', 'organizations_url': 'https://api.github.com/users/wisererik/orgs', 'repos_url': 'https://api.github.com/users/wisererik/repos', 'events_url': 'https://api.github.com/users/wisererik/events{/privacy}', 'received_events_url': 'https://api.github.com/users/wisererik/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 4, 'additions': 1, 'deletions': 1, 'changed_files': 1}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 23061836, 'login': 'opensds', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/opensds', 'avatar_url': 'https://avatars.githubusercontent.com/u/23061836?'}}, {'id': '10346569382', 'type': 'CreateEvent', 'actor': {'id': 52434341, 'login': 'wbae912', 'display_login': 'wbae912', 'gravatar_id': '', 'url': 'https://api.github.com/users/wbae912', 'avatar_url': 'https://avatars.githubusercontent.com/u/52434341?'}, 'repo': {'id': 206351567, 'name': 'thinkful-ei-gecko/william-alex-trelloyes-testing', 'url': 'https://api.github.com/repos/thinkful-ei-gecko/william-alex-trelloyes-testing'}, 'payload': {'ref': 'master', 'ref_type': 'branch', 'master_branch': 'master', 'description': None, 'pusher_type': 'user'}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 54011510, 'login': 'thinkful-ei-gecko', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/thinkful-ei-gecko', 'avatar_url': 'https://avatars.githubusercontent.com/u/54011510?'}}, {'id': '10346569367', 'type': 'CreateEvent', 'actor': {'id': 47671130, 'login': 'yujiezhou001', 'display_login': 'yujiezhou001', 'gravatar_id': '', 'url': 'https://api.github.com/users/yujiezhou001', 'avatar_url': 'https://avatars.githubusercontent.com/u/47671130?'}, 'repo': {'id': 206352575, 'name': 'yujiezhou001/agenda_project', 'url': 'https://api.github.com/repos/yujiezhou001/agenda_project'}, 'payload': {'ref': None, 'ref_type': 'repository', 'master_branch': 'master', 'description': None, 'pusher_type': 'user'}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569366', 'type': 'WatchEvent', 'actor': {'id': 3292887, 'login': 'zhongyin', 'display_login': 'zhongyin', 'gravatar_id': '', 'url': 'https://api.github.com/users/zhongyin', 'avatar_url': 'https://avatars.githubusercontent.com/u/3292887?'}, 'repo': {'id': 2843009, 'name': 'emweb/wt', 'url': 'https://api.github.com/repos/emweb/wt'}, 'payload': {'action': 'started'}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569359', 'type': 'IssuesEvent', 'actor': {'id': 9572954, 'login': 'wisererik', 'display_login': 'wisererik', 'gravatar_id': '', 'url': 'https://api.github.com/users/wisererik', 'avatar_url': 'https://avatars.githubusercontent.com/u/9572954?'}, 'repo': {'id': 77096333, 'name': 'opensds/opensds', 'url': 'https://api.github.com/repos/opensds/opensds'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/opensds/opensds/issues/992', 'repository_url': 'https://api.github.com/repos/opensds/opensds', 'labels_url': 'https://api.github.com/repos/opensds/opensds/issues/992/labels{/name}', 'comments_url': 'https://api.github.com/repos/opensds/opensds/issues/992/comments', 'events_url': 'https://api.github.com/repos/opensds/opensds/issues/992/events', 'html_url': 'https://github.com/opensds/opensds/issues/992', 'id': 485088632, 'node_id': 'MDU6SXNzdWU0ODUwODg2MzI=', 'number': 992, 'title': 'Segmentation fault while executing "make test"', 'user': {'login': 'ThisIsClark', 'id': 9812744, 'node_id': 'MDQ6VXNlcjk4MTI3NDQ=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9812744?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ThisIsClark', 'html_url': 'https://github.com/ThisIsClark', 'followers_url': 'https://api.github.com/users/ThisIsClark/followers', 'following_url': 'https://api.github.com/users/ThisIsClark/following{/other_user}', 'gists_url': 'https://api.github.com/users/ThisIsClark/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ThisIsClark/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ThisIsClark/subscriptions', 'organizations_url': 'https://api.github.com/users/ThisIsClark/orgs', 'repos_url': 'https://api.github.com/users/ThisIsClark/repos', 'events_url': 'https://api.github.com/users/ThisIsClark/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ThisIsClark/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 505152331, 'node_id': 'MDU6TGFiZWw1MDUxNTIzMzE=', 'url': 'https://api.github.com/repos/opensds/opensds/labels/bug', 'name': 'bug', 'color': 'ee0701', 'default': True}], 'state': 'closed', 'locked': False, 'assignee': {'login': 'ThisIsClark', 'id': 9812744, 'node_id': 'MDQ6VXNlcjk4MTI3NDQ=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9812744?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ThisIsClark', 'html_url': 'https://github.com/ThisIsClark', 'followers_url': 'https://api.github.com/users/ThisIsClark/followers', 'following_url': 'https://api.github.com/users/ThisIsClark/following{/other_user}', 'gists_url': 'https://api.github.com/users/ThisIsClark/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ThisIsClark/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ThisIsClark/subscriptions', 'organizations_url': 'https://api.github.com/users/ThisIsClark/orgs', 'repos_url': 'https://api.github.com/users/ThisIsClark/repos', 'events_url': 'https://api.github.com/users/ThisIsClark/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ThisIsClark/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'ThisIsClark', 'id': 9812744, 'node_id': 'MDQ6VXNlcjk4MTI3NDQ=', 'avatar_url': 'https://avatars0.githubusercontent.com/u/9812744?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ThisIsClark', 'html_url': 'https://github.com/ThisIsClark', 'followers_url': 'https://api.github.com/users/ThisIsClark/followers', 'following_url': 'https://api.github.com/users/ThisIsClark/following{/other_user}', 'gists_url': 'https://api.github.com/users/ThisIsClark/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ThisIsClark/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ThisIsClark/subscriptions', 'organizations_url': 'https://api.github.com/users/ThisIsClark/orgs', 'repos_url': 'https://api.github.com/users/ThisIsClark/repos', 'events_url': 'https://api.github.com/users/ThisIsClark/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ThisIsClark/received_events', 'type': 'User', 'site_admin': False}], 'milestone': None, 'comments': 0, 'created_at': '2019-08-26T07:27:46Z', 'updated_at': '2019-09-04T15:30:56Z', 'closed_at': '2019-09-04T15:30:56Z', 'author_association': 'CONTRIBUTOR', 'body': '<!-- This form is for bug reports and feature requests! -->\r\n\r\n**Is this a BUG REPORT or FEATURE REQUEST?**:\r\n\r\n> /kind bug\r\n\r\n\r\n**What happened**:\r\nWhen we executing "make test", it would download a file which named "swagger_linux_amd64" and execute it by "./swagger_linux_amd64"\r\nBut if once the downloading is interrupted(network error or Ctrl + C), the "swagger_linux_amd64" file is incomplete, and if we execute "make test" again, it would download "swagger_linux_amd64" again.\r\nBut, because the "swagger_linux_amd64" file is already existed, the newer one would be named "**swagger_linux_amd64.1**".\r\nThis would cause the segmentation false when executing "./swagger_linux_amd64", because the file named "swagger_linux_amd64" is a incomplete file while the file "swagger_linux_amd64.1" is complete.\r\n`./install/CI/test: line 32: 21508 Segmentation fault ./swagger_linux_amd64 validate --stop-on-error openapi-spec/swagger.yaml`\r\n\r\n**What you expected to happen**:\r\nWhen we executing "make test", no matter whether the "swagger_linux_amd64" file is existed, the downloaded file should be always name "swagger_linux_amd64".\r\n\r\n**How to reproduce it (as minimally and precisely as possible)**:\r\n1. Execute "make test"\r\n2. Ctrl + c when part of "swagger_linux_amd64" has been downloaded\r\n3. Execute "make test" again, and make sure the downloading is complete.\r\n4. Then you can encounter a segmentation fault, or you can find there are both "swagger_linux_amd64" and "swagger_linux_amd64.1" in your opensds directory.\r\n\r\n**Anything else we need to know?**:\r\n\r\n**Environment**:\r\n- Hotpot(release/branch) version: latest\r\n- OS (e.g. from /etc/os-release): Ubuntu 16.04.2 LTS (Xenial Xerus)\r\n- Kernel (e.g. `uname -a`): Linux ubuntu 4.4.0-62-generic\r\n- Install tools:\r\n- Others:\r\n'}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 23061836, 'login': 'opensds', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/opensds', 'avatar_url': 'https://avatars.githubusercontent.com/u/23061836?'}}, {'id': '10346569355', 'type': 'PushEvent', 'actor': {'id': 9326247, 'login': 'holdenhinkle', 'display_login': 'holdenhinkle', 'gravatar_id': '', 'url': 'https://api.github.com/users/holdenhinkle', 'avatar_url': 'https://avatars.githubusercontent.com/u/9326247?'}, 'repo': {'id': 172724238, 'name': 'holdenhinkle/maze.rb', 'url': 'https://api.github.com/repos/holdenhinkle/maze.rb'}, 'payload': {'push_id': 3996620749, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '68d8e4e04c17a765d81404f1255930f847e4aaa2', 'before': 'd33e63ca9c64de0404f459e30ebab17f0a6e5f9e', 'commits': [{'sha': '68d8e4e04c17a765d81404f1255930f847e4aaa2', 'author': {'email': 'holdenhinkle@gmail.com', 'name': 'Holden Hinkle'}, 'message': 'start building queue order sort', 'distinct': True, 'url': 'https://api.github.com/repos/holdenhinkle/maze.rb/commits/68d8e4e04c17a765d81404f1255930f847e4aaa2'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569349', 'type': 'PushEvent', 'actor': {'id': 40586421, 'login': 'himobi', 'display_login': 'himobi', 'gravatar_id': '', 'url': 'https://api.github.com/users/himobi', 'avatar_url': 'https://avatars.githubusercontent.com/u/40586421?'}, 'repo': {'id': 138676186, 'name': 'himobi/hotspot', 'url': 'https://api.github.com/repos/himobi/hotspot'}, 'payload': {'push_id': 3996620748, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'efe6f0dd6735abb874c5bc8f773b6a3ecfd55c55', 'before': '8459ea06c4c9999e4385aaa8f70b4731d8566b2c', 'commits': [{'sha': 'efe6f0dd6735abb874c5bc8f773b6a3ecfd55c55', 'author': {'email': '40586421+himobi@users.noreply.github.com', 'name': 'himobi'}, 'message': 'thank you', 'distinct': True, 'url': 'https://api.github.com/repos/himobi/hotspot/commits/efe6f0dd6735abb874c5bc8f773b6a3ecfd55c55'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569350', 'type': 'PushEvent', 'actor': {'id': 19773290, 'login': 'maksimoancha', 'display_login': 'maksimoancha', 'gravatar_id': '', 'url': 'https://api.github.com/users/maksimoancha', 'avatar_url': 'https://avatars.githubusercontent.com/u/19773290?'}, 'repo': {'id': 158662600, 'name': 'Waiviogit/waivio-api', 'url': 'https://api.github.com/repos/Waiviogit/waivio-api'}, 'payload': {'push_id': 3996620742, 'size': 2, 'distinct_size': 1, 'ref': 'refs/heads/staging', 'head': '2c91015cbc49db114b7135cc5e9561f78cd3d73e', 'before': '2c228bd50aa03ddcce0f8f6ffb4a43009b2acca7', 'commits': [{'sha': '71e174fd96fd191fca9efed2d6746996fcf7ae21', 'author': {'email': 'maksimoancha12@gmail.com', 'name': 'Maxim Oancha'}, 'message': 'add search by parent field on wobject search\n\nadd param "forParent" on wobject search to search by particular parent wobject', 'distinct': False, 'url': 'https://api.github.com/repos/Waiviogit/waivio-api/commits/71e174fd96fd191fca9efed2d6746996fcf7ae21'}, {'sha': '2c91015cbc49db114b7135cc5e9561f78cd3d73e', 'author': {'email': 'maksimoancha12@gmail.com', 'name': 'Maxim Oancha'}, 'message': "Merge branch 'development' into staging", 'distinct': True, 'url': 'https://api.github.com/repos/Waiviogit/waivio-api/commits/2c91015cbc49db114b7135cc5e9561f78cd3d73e'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569358', 'type': 'CreateEvent', 'actor': {'id': 53829474, 'login': 'dtcokr', 'display_login': 'dtcokr', 'gravatar_id': '', 'url': 'https://api.github.com/users/dtcokr', 'avatar_url': 'https://avatars.githubusercontent.com/u/53829474?'}, 'repo': {'id': 203927291, 'name': 'dtcokr/docker-aria2', 'url': 'https://api.github.com/repos/dtcokr/docker-aria2'}, 'payload': {'ref': 'standalone', 'ref_type': 'branch', 'master_branch': 'master', 'description': 'Using aria2 in docker.', 'pusher_type': 'user'}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569322', 'type': 'IssuesEvent', 'actor': {'id': 7892904, 'login': 'yerphon', 'display_login': 'yerphon', 'gravatar_id': '', 'url': 'https://api.github.com/users/yerphon', 'avatar_url': 'https://avatars.githubusercontent.com/u/7892904?'}, 'repo': {'id': 128624453, 'name': 'NervJS/taro', 'url': 'https://api.github.com/repos/NervJS/taro'}, 'payload': {'action': 'closed', 'issue': {'url': 'https://api.github.com/repos/NervJS/taro/issues/4384', 'repository_url': 'https://api.github.com/repos/NervJS/taro', 'labels_url': 'https://api.github.com/repos/NervJS/taro/issues/4384/labels{/name}', 'comments_url': 'https://api.github.com/repos/NervJS/taro/issues/4384/comments', 'events_url': 'https://api.github.com/repos/NervJS/taro/issues/4384/events', 'html_url': 'https://github.com/NervJS/taro/issues/4384', 'id': 488685983, 'node_id': 'MDU6SXNzdWU0ODg2ODU5ODM=', 'number': 4384, 'title': 'ScrollView指定onTouchMove后,无法正常滑动', 'user': {'login': 'yerphon', 'id': 7892904, 'node_id': 'MDQ6VXNlcjc4OTI5MDQ=', 'avatar_url': 'https://avatars1.githubusercontent.com/u/7892904?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/yerphon', 'html_url': 'https://github.com/yerphon', 'followers_url': 'https://api.github.com/users/yerphon/followers', 'following_url': 'https://api.github.com/users/yerphon/following{/other_user}', 'gists_url': 'https://api.github.com/users/yerphon/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/yerphon/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/yerphon/subscriptions', 'organizations_url': 'https://api.github.com/users/yerphon/orgs', 'repos_url': 'https://api.github.com/users/yerphon/repos', 'events_url': 'https://api.github.com/users/yerphon/events{/privacy}', 'received_events_url': 'https://api.github.com/users/yerphon/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 1117491046, 'node_id': 'MDU6TGFiZWwxMTE3NDkxMDQ2', 'url': 'https://api.github.com/repos/NervJS/taro/labels/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F', 'name': '微信小程序', 'color': '4562a8', 'default': False}], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2019-09-03T15:49:13Z', 'updated_at': '2019-09-04T15:30:55Z', 'closed_at': '2019-09-04T15:30:55Z', 'author_association': 'NONE', 'body': "**问题描述**\r\n为ScrollView指定onTouchMove后,无法正常滑动\r\n\r\n**复现步骤**\r\n1. 使用ScrollView的时候属性onTouchMove={this.handleScrollViewMove}\r\n\r\n2. ```handleScrollViewMove = e => {\r\n console.log('handleScrollViewMove')\r\n if (this.state.open) { \r\n console.log('open'); \r\n e.stopPropagation();\r\n }else{\r\n console.log('close'); \r\n }\r\n\r\n3. 此时open数值是false,然而此时无法滑动ScrollView了,按道理是不应该执e.stopPropagation();\r\n[图片上传失败...(image-976d5b-1569762566410)]\r\n\r\n4. 整体设置 \r\n\r\n<ScrollView\r\n className='scrollview'\r\n enableBackToTop\r\n onTouchMove={this.handleScrollViewMove}\r\n >\r\n\r\n\r\n**期望行为**\r\n希望可以用open来控制ScrollView可以滑动跟禁止滑动的状态切换\r\n\r\n**系统信息**\r\n> Taro v1.2 及以上版本已添加 `taro info` 命令,方便大家查看系统及依赖信息,运行该命令后将结果贴下面即可。\r\n\r\n - 操作系统: Windows 10\r\n - Taro 版本 V1.3.11\r\n - Node.js 版本10.16.1\r\n - 报错平台 Weapp\r\n"}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 30794937, 'login': 'NervJS', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/NervJS', 'avatar_url': 'https://avatars.githubusercontent.com/u/30794937?'}}, {'id': '10346569328', 'type': 'PullRequestEvent', 'actor': {'id': 22350, 'login': 'joaomoreno', 'display_login': 'joaomoreno', 'gravatar_id': '', 'url': 'https://api.github.com/users/joaomoreno', 'avatar_url': 'https://avatars.githubusercontent.com/u/22350?'}, 'repo': {'id': 45603512, 'name': 'microsoft/vscode-extension-samples', 'url': 'https://api.github.com/repos/microsoft/vscode-extension-samples'}, 'payload': {'action': 'closed', 'number': 202, 'pull_request': {'url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/202', 'id': 304027541, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MzA0MDI3NTQx', 'html_url': 'https://github.com/microsoft/vscode-extension-samples/pull/202', 'diff_url': 'https://github.com/microsoft/vscode-extension-samples/pull/202.diff', 'patch_url': 'https://github.com/microsoft/vscode-extension-samples/pull/202.patch', 'issue_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues/202', 'number': 202, 'state': 'closed', 'locked': False, 'title': 'Source Control sample fix to address Microsoft/vscode issue #78340', 'user': {'login': 'jan-dolejsi', 'id': 24419357, 'node_id': 'MDQ6VXNlcjI0NDE5MzU3', 'avatar_url': 'https://avatars1.githubusercontent.com/u/24419357?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jan-dolejsi', 'html_url': 'https://github.com/jan-dolejsi', 'followers_url': 'https://api.github.com/users/jan-dolejsi/followers', 'following_url': 'https://api.github.com/users/jan-dolejsi/following{/other_user}', 'gists_url': 'https://api.github.com/users/jan-dolejsi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jan-dolejsi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jan-dolejsi/subscriptions', 'organizations_url': 'https://api.github.com/users/jan-dolejsi/orgs', 'repos_url': 'https://api.github.com/users/jan-dolejsi/repos', 'events_url': 'https://api.github.com/users/jan-dolejsi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jan-dolejsi/received_events', 'type': 'User', 'site_admin': False}, 'body': 'This is to address this issue: https://github.com/microsoft/vscode/issues/78340\r\n\r\n- awaiting asynchronous file system operations to ensure there is no race condition between writing the .jsfiddle file and extension restarting\r\n- more robust initilization when extension restarts after new workspace is open\r\n- more flexible workspace handling can now open a new folder, or add a folder to the workspace', 'created_at': '2019-08-03T21:49:23Z', 'updated_at': '2019-09-04T15:30:55Z', 'closed_at': '2019-09-04T15:30:55Z', 'merged_at': '2019-09-04T15:30:55Z', 'merge_commit_sha': 'f184129db146858a4375901fd8a56af845b66a35', 'assignee': {'login': 'joaomoreno', 'id': 22350, 'node_id': 'MDQ6VXNlcjIyMzUw', 'avatar_url': 'https://avatars3.githubusercontent.com/u/22350?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joaomoreno', 'html_url': 'https://github.com/joaomoreno', 'followers_url': 'https://api.github.com/users/joaomoreno/followers', 'following_url': 'https://api.github.com/users/joaomoreno/following{/other_user}', 'gists_url': 'https://api.github.com/users/joaomoreno/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joaomoreno/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joaomoreno/subscriptions', 'organizations_url': 'https://api.github.com/users/joaomoreno/orgs', 'repos_url': 'https://api.github.com/users/joaomoreno/repos', 'events_url': 'https://api.github.com/users/joaomoreno/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joaomoreno/received_events', 'type': 'User', 'site_admin': False}, 'assignees': [{'login': 'joaomoreno', 'id': 22350, 'node_id': 'MDQ6VXNlcjIyMzUw', 'avatar_url': 'https://avatars3.githubusercontent.com/u/22350?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joaomoreno', 'html_url': 'https://github.com/joaomoreno', 'followers_url': 'https://api.github.com/users/joaomoreno/followers', 'following_url': 'https://api.github.com/users/joaomoreno/following{/other_user}', 'gists_url': 'https://api.github.com/users/joaomoreno/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joaomoreno/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joaomoreno/subscriptions', 'organizations_url': 'https://api.github.com/users/joaomoreno/orgs', 'repos_url': 'https://api.github.com/users/joaomoreno/repos', 'events_url': 'https://api.github.com/users/joaomoreno/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joaomoreno/received_events', 'type': 'User', 'site_admin': False}], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/202/commits', 'review_comments_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/202/comments', 'review_comment_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues/202/comments', 'statuses_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/statuses/b007d4cc452ebcb984c049f49f863a75c0043a4a', 'head': {'label': 'jan-dolejsi:master', 'ref': 'master', 'sha': 'b007d4cc452ebcb984c049f49f863a75c0043a4a', 'user': {'login': 'jan-dolejsi', 'id': 24419357, 'node_id': 'MDQ6VXNlcjI0NDE5MzU3', 'avatar_url': 'https://avatars1.githubusercontent.com/u/24419357?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jan-dolejsi', 'html_url': 'https://github.com/jan-dolejsi', 'followers_url': 'https://api.github.com/users/jan-dolejsi/followers', 'following_url': 'https://api.github.com/users/jan-dolejsi/following{/other_user}', 'gists_url': 'https://api.github.com/users/jan-dolejsi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jan-dolejsi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jan-dolejsi/subscriptions', 'organizations_url': 'https://api.github.com/users/jan-dolejsi/orgs', 'repos_url': 'https://api.github.com/users/jan-dolejsi/repos', 'events_url': 'https://api.github.com/users/jan-dolejsi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jan-dolejsi/received_events', 'type': 'User', 'site_admin': False}, 'repo': {'id': 174391528, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNzQzOTE1Mjg=', 'name': 'vscode-extension-samples', 'full_name': 'jan-dolejsi/vscode-extension-samples', 'private': False, 'owner': {'login': 'jan-dolejsi', 'id': 24419357, 'node_id': 'MDQ6VXNlcjI0NDE5MzU3', 'avatar_url': 'https://avatars1.githubusercontent.com/u/24419357?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jan-dolejsi', 'html_url': 'https://github.com/jan-dolejsi', 'followers_url': 'https://api.github.com/users/jan-dolejsi/followers', 'following_url': 'https://api.github.com/users/jan-dolejsi/following{/other_user}', 'gists_url': 'https://api.github.com/users/jan-dolejsi/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jan-dolejsi/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jan-dolejsi/subscriptions', 'organizations_url': 'https://api.github.com/users/jan-dolejsi/orgs', 'repos_url': 'https://api.github.com/users/jan-dolejsi/repos', 'events_url': 'https://api.github.com/users/jan-dolejsi/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jan-dolejsi/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/jan-dolejsi/vscode-extension-samples', 'description': 'Sample code illustrating the VS Code extension API.', 'fork': True, 'url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples', 'forks_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/forks', 'keys_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/teams', 'hooks_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/hooks', 'issue_events_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/events', 'assignees_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/tags', 'blobs_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/languages', 'stargazers_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/stargazers', 'contributors_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/contributors', 'subscribers_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/subscribers', 'subscription_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/subscription', 'commits_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/merges', 'archive_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/downloads', 'issues_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/labels{/name}', 'releases_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jan-dolejsi/vscode-extension-samples/deployments', 'created_at': '2019-03-07T17:36:26Z', 'updated_at': '2019-08-05T09:00:21Z', 'pushed_at': '2019-08-05T09:00:18Z', 'git_url': 'git://github.com/jan-dolejsi/vscode-extension-samples.git', 'ssh_url': 'git@github.com:jan-dolejsi/vscode-extension-samples.git', 'clone_url': 'https://github.com/jan-dolejsi/vscode-extension-samples.git', 'svn_url': 'https://github.com/jan-dolejsi/vscode-extension-samples', 'homepage': None, 'size': 66717, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'TypeScript', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master'}}, 'base': {'label': 'microsoft:master', 'ref': 'master', 'sha': 'e5418aced1346b2bfcbf3ef74045c6f0f4b2b733', 'user': {'login': 'microsoft', 'id': 6154722, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/6154722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/microsoft', 'html_url': 'https://github.com/microsoft', 'followers_url': 'https://api.github.com/users/microsoft/followers', 'following_url': 'https://api.github.com/users/microsoft/following{/other_user}', 'gists_url': 'https://api.github.com/users/microsoft/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/microsoft/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/microsoft/subscriptions', 'organizations_url': 'https://api.github.com/users/microsoft/orgs', 'repos_url': 'https://api.github.com/users/microsoft/repos', 'events_url': 'https://api.github.com/users/microsoft/events{/privacy}', 'received_events_url': 'https://api.github.com/users/microsoft/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 45603512, 'node_id': 'MDEwOlJlcG9zaXRvcnk0NTYwMzUxMg==', 'name': 'vscode-extension-samples', 'full_name': 'microsoft/vscode-extension-samples', 'private': False, 'owner': {'login': 'microsoft', 'id': 6154722, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/6154722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/microsoft', 'html_url': 'https://github.com/microsoft', 'followers_url': 'https://api.github.com/users/microsoft/followers', 'following_url': 'https://api.github.com/users/microsoft/following{/other_user}', 'gists_url': 'https://api.github.com/users/microsoft/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/microsoft/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/microsoft/subscriptions', 'organizations_url': 'https://api.github.com/users/microsoft/orgs', 'repos_url': 'https://api.github.com/users/microsoft/repos', 'events_url': 'https://api.github.com/users/microsoft/events{/privacy}', 'received_events_url': 'https://api.github.com/users/microsoft/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/microsoft/vscode-extension-samples', 'description': 'Sample code illustrating the VS Code extension API.', 'fork': False, 'url': 'https://api.github.com/repos/microsoft/vscode-extension-samples', 'forks_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/forks', 'keys_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/teams', 'hooks_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/hooks', 'issue_events_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues/events{/number}', 'events_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/events', 'assignees_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/assignees{/user}', 'branches_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/branches{/branch}', 'tags_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/tags', 'blobs_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/languages', 'stargazers_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/stargazers', 'contributors_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/contributors', 'subscribers_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/subscribers', 'subscription_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/subscription', 'commits_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/contents/{+path}', 'compare_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/merges', 'archive_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/downloads', 'issues_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues{/number}', 'pulls_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/labels{/name}', 'releases_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/releases{/id}', 'deployments_url': 'https://api.github.com/repos/microsoft/vscode-extension-samples/deployments', 'created_at': '2015-11-05T10:14:11Z', 'updated_at': '2019-09-04T06:17:05Z', 'pushed_at': '2019-09-04T15:30:55Z', 'git_url': 'git://github.com/microsoft/vscode-extension-samples.git', 'ssh_url': 'git@github.com:microsoft/vscode-extension-samples.git', 'clone_url': 'https://github.com/microsoft/vscode-extension-samples.git', 'svn_url': 'https://github.com/microsoft/vscode-extension-samples', 'homepage': None, 'size': 66730, 'stargazers_count': 1692, 'watchers_count': 1692, 'language': 'TypeScript', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 708, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 25, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'forks': 708, 'open_issues': 25, 'watchers': 1692, 'default_branch': 'master'}}, '_links': {'self': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/202'}, 'html': {'href': 'https://github.com/microsoft/vscode-extension-samples/pull/202'}, 'issue': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues/202'}, 'comments': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/issues/202/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/202/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/pulls/202/commits'}, 'statuses': {'href': 'https://api.github.com/repos/microsoft/vscode-extension-samples/statuses/b007d4cc452ebcb984c049f49f863a75c0043a4a'}}, 'author_association': 'CONTRIBUTOR', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'joaomoreno', 'id': 22350, 'node_id': 'MDQ6VXNlcjIyMzUw', 'avatar_url': 'https://avatars3.githubusercontent.com/u/22350?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/joaomoreno', 'html_url': 'https://github.com/joaomoreno', 'followers_url': 'https://api.github.com/users/joaomoreno/followers', 'following_url': 'https://api.github.com/users/joaomoreno/following{/other_user}', 'gists_url': 'https://api.github.com/users/joaomoreno/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/joaomoreno/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/joaomoreno/subscriptions', 'organizations_url': 'https://api.github.com/users/joaomoreno/orgs', 'repos_url': 'https://api.github.com/users/joaomoreno/repos', 'events_url': 'https://api.github.com/users/joaomoreno/events{/privacy}', 'received_events_url': 'https://api.github.com/users/joaomoreno/received_events', 'type': 'User', 'site_admin': False}, 'comments': 3, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 4, 'additions': 216, 'deletions': 71, 'changed_files': 7}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 6154722, 'login': 'microsoft', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/microsoft', 'avatar_url': 'https://avatars.githubusercontent.com/u/6154722?'}}, {'id': '10346569320', 'type': 'PushEvent', 'actor': {'id': 51347104, 'login': 'ghkddudrms', 'display_login': 'ghkddudrms', 'gravatar_id': '', 'url': 'https://api.github.com/users/ghkddudrms', 'avatar_url': 'https://avatars.githubusercontent.com/u/51347104?'}, 'repo': {'id': 194986389, 'name': 'ghkddudrms/botamdb', 'url': 'https://api.github.com/repos/ghkddudrms/botamdb'}, 'payload': {'push_id': 3996620725, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '5205668a2b206bd624e678c9f7cbb8b24d1354eb', 'before': '589989c6e8ce715367a1db08ea5d2dcf43ac3697', 'commits': [{'sha': '5205668a2b206bd624e678c9f7cbb8b24d1354eb', 'author': {'email': '51347104+ghkddudrms@users.noreply.github.com', 'name': 'ghkddudrms'}, 'message': 'bossDB', 'distinct': True, 'url': 'https://api.github.com/repos/ghkddudrms/botamdb/commits/5205668a2b206bd624e678c9f7cbb8b24d1354eb'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569313', 'type': 'PushEvent', 'actor': {'id': 20879548, 'login': 'eodccloud', 'display_login': 'eodccloud', 'gravatar_id': '', 'url': 'https://api.github.com/users/eodccloud', 'avatar_url': 'https://avatars.githubusercontent.com/u/20879548?'}, 'repo': {'id': 206319668, 'name': 'eodccloud/Einstein', 'url': 'https://api.github.com/repos/eodccloud/Einstein'}, 'payload': {'push_id': 3996620722, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'ae9e8d14ba64c022f42fc31cef1ac6bc81c07b9c', 'before': 'cc5536a2bd1ee1e68ad741db2f318a8b12d688d1', 'commits': [{'sha': 'ae9e8d14ba64c022f42fc31cef1ac6bc81c07b9c', 'author': {'email': 'eodccloud@mailinator.com', 'name': 'eodccloud'}, 'message': 'GIT CloneShare Commit', 'distinct': True, 'url': 'https://api.github.com/repos/eodccloud/Einstein/commits/ae9e8d14ba64c022f42fc31cef1ac6bc81c07b9c'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569311', 'type': 'PushEvent', 'actor': {'id': 24883319, 'login': 'jamesscalise', 'display_login': 'jamesscalise', 'gravatar_id': '', 'url': 'https://api.github.com/users/jamesscalise', 'avatar_url': 'https://avatars.githubusercontent.com/u/24883319?'}, 'repo': {'id': 206173489, 'name': 'jamesscalise/ruby-objects-has-many-lab-online-web-pt-081219', 'url': 'https://api.github.com/repos/jamesscalise/ruby-objects-has-many-lab-online-web-pt-081219'}, 'payload': {'push_id': 3996620718, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/wip', 'head': '00820baf8b249bb98054b6a299ae7f526a4eb60f', 'before': 'e6accdd20dc852e56d6fa66f2b019fa0a1ee4b04', 'commits': [{'sha': '00820baf8b249bb98054b6a299ae7f526a4eb60f', 'author': {'email': 'jamescscalise@gmail.com', 'name': 'James Scalise'}, 'message': 'Automatically backed up by Learn', 'distinct': True, 'url': 'https://api.github.com/repos/jamesscalise/ruby-objects-has-many-lab-online-web-pt-081219/commits/00820baf8b249bb98054b6a299ae7f526a4eb60f'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569309', 'type': 'PushEvent', 'actor': {'id': 21171862, 'login': 'osmanbayrak', 'display_login': 'osmanbayrak', 'gravatar_id': '', 'url': 'https://api.github.com/users/osmanbayrak', 'avatar_url': 'https://avatars.githubusercontent.com/u/21171862?'}, 'repo': {'id': 203607356, 'name': 'osmanbayrak/skyz-tech', 'url': 'https://api.github.com/repos/osmanbayrak/skyz-tech'}, 'payload': {'push_id': 3996620719, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '7a3b850c5ebb0e88ba0d2b5287c46ef1b1315b71', 'before': '497d2fde3d7698079fdd8dfa150d85332ad27ae9', 'commits': [{'sha': '7a3b850c5ebb0e88ba0d2b5287c46ef1b1315b71', 'author': {'email': '[osman.bayrak@sekomyazilim.com.tr]', 'name': 'Osman Bayrak'}, 'message': 'sky web', 'distinct': True, 'url': 'https://api.github.com/repos/osmanbayrak/skyz-tech/commits/7a3b850c5ebb0e88ba0d2b5287c46ef1b1315b71'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569312', 'type': 'ForkEvent', 'actor': {'id': 52165583, 'login': 'xavier-grall', 'display_login': 'xavier-grall', 'gravatar_id': '', 'url': 'https://api.github.com/users/xavier-grall', 'avatar_url': 'https://avatars.githubusercontent.com/u/52165583?'}, 'repo': {'id': 192545315, 'name': 'cntt-n/CNTT', 'url': 'https://api.github.com/repos/cntt-n/CNTT'}, 'payload': {'forkee': {'id': 206352573, 'node_id': 'MDEwOlJlcG9zaXRvcnkyMDYzNTI1NzM=', 'name': 'CNTT', 'full_name': 'xavier-grall/CNTT', 'private': False, 'owner': {'login': 'xavier-grall', 'id': 52165583, 'node_id': 'MDQ6VXNlcjUyMTY1NTgz', 'avatar_url': 'https://avatars3.githubusercontent.com/u/52165583?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/xavier-grall', 'html_url': 'https://github.com/xavier-grall', 'followers_url': 'https://api.github.com/users/xavier-grall/followers', 'following_url': 'https://api.github.com/users/xavier-grall/following{/other_user}', 'gists_url': 'https://api.github.com/users/xavier-grall/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/xavier-grall/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/xavier-grall/subscriptions', 'organizations_url': 'https://api.github.com/users/xavier-grall/orgs', 'repos_url': 'https://api.github.com/users/xavier-grall/repos', 'events_url': 'https://api.github.com/users/xavier-grall/events{/privacy}', 'received_events_url': 'https://api.github.com/users/xavier-grall/received_events', 'type': 'User', 'site_admin': False}, 'html_url': 'https://github.com/xavier-grall/CNTT', 'description': 'CNTT', 'fork': True, 'url': 'https://api.github.com/repos/xavier-grall/CNTT', 'forks_url': 'https://api.github.com/repos/xavier-grall/CNTT/forks', 'keys_url': 'https://api.github.com/repos/xavier-grall/CNTT/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/xavier-grall/CNTT/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/xavier-grall/CNTT/teams', 'hooks_url': 'https://api.github.com/repos/xavier-grall/CNTT/hooks', 'issue_events_url': 'https://api.github.com/repos/xavier-grall/CNTT/issues/events{/number}', 'events_url': 'https://api.github.com/repos/xavier-grall/CNTT/events', 'assignees_url': 'https://api.github.com/repos/xavier-grall/CNTT/assignees{/user}', 'branches_url': 'https://api.github.com/repos/xavier-grall/CNTT/branches{/branch}', 'tags_url': 'https://api.github.com/repos/xavier-grall/CNTT/tags', 'blobs_url': 'https://api.github.com/repos/xavier-grall/CNTT/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/xavier-grall/CNTT/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/xavier-grall/CNTT/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/xavier-grall/CNTT/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/xavier-grall/CNTT/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/xavier-grall/CNTT/languages', 'stargazers_url': 'https://api.github.com/repos/xavier-grall/CNTT/stargazers', 'contributors_url': 'https://api.github.com/repos/xavier-grall/CNTT/contributors', 'subscribers_url': 'https://api.github.com/repos/xavier-grall/CNTT/subscribers', 'subscription_url': 'https://api.github.com/repos/xavier-grall/CNTT/subscription', 'commits_url': 'https://api.github.com/repos/xavier-grall/CNTT/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/xavier-grall/CNTT/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/xavier-grall/CNTT/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/xavier-grall/CNTT/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/xavier-grall/CNTT/contents/{+path}', 'compare_url': 'https://api.github.com/repos/xavier-grall/CNTT/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/xavier-grall/CNTT/merges', 'archive_url': 'https://api.github.com/repos/xavier-grall/CNTT/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/xavier-grall/CNTT/downloads', 'issues_url': 'https://api.github.com/repos/xavier-grall/CNTT/issues{/number}', 'pulls_url': 'https://api.github.com/repos/xavier-grall/CNTT/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/xavier-grall/CNTT/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/xavier-grall/CNTT/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/xavier-grall/CNTT/labels{/name}', 'releases_url': 'https://api.github.com/repos/xavier-grall/CNTT/releases{/id}', 'deployments_url': 'https://api.github.com/repos/xavier-grall/CNTT/deployments', 'created_at': '2019-09-04T15:30:54Z', 'updated_at': '2019-09-03T14:00:37Z', 'pushed_at': '2019-09-04T13:18:50Z', 'git_url': 'git://github.com/xavier-grall/CNTT.git', 'ssh_url': 'git@github.com:xavier-grall/CNTT.git', 'clone_url': 'https://github.com/xavier-grall/CNTT.git', 'svn_url': 'https://github.com/xavier-grall/CNTT', 'homepage': None, 'size': 17836, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': None, 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'public': True}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}, {'id': '10346569304', 'type': 'PullRequestEvent', 'actor': {'id': 1632478, 'login': 'naomichi-y', 'display_login': 'naomichi-y', 'gravatar_id': '', 'url': 'https://api.github.com/users/naomichi-y', 'avatar_url': 'https://avatars.githubusercontent.com/u/1632478?'}, 'repo': {'id': 124389797, 'name': 'metaps/genova', 'url': 'https://api.github.com/repos/metaps/genova'}, 'payload': {'action': 'closed', 'number': 75, 'pull_request': {'url': 'https://api.github.com/repos/metaps/genova/pulls/75', 'id': 314096705, 'node_id': 'MDExOlB1bGxSZXF1ZXN0MzE0MDk2NzA1', 'html_url': 'https://github.com/metaps/genova/pull/75', 'diff_url': 'https://github.com/metaps/genova/pull/75.diff', 'patch_url': 'https://github.com/metaps/genova/pull/75.patch', 'issue_url': 'https://api.github.com/repos/metaps/genova/issues/75', 'number': 75, 'state': 'closed', 'locked': False, 'title': 'Feature/73 slack notwork after reboot', 'user': {'login': 'naomichi-y', 'id': 1632478, 'node_id': 'MDQ6VXNlcjE2MzI0Nzg=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/1632478?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/naomichi-y', 'html_url': 'https://github.com/naomichi-y', 'followers_url': 'https://api.github.com/users/naomichi-y/followers', 'following_url': 'https://api.github.com/users/naomichi-y/following{/other_user}', 'gists_url': 'https://api.github.com/users/naomichi-y/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/naomichi-y/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/naomichi-y/subscriptions', 'organizations_url': 'https://api.github.com/users/naomichi-y/orgs', 'repos_url': 'https://api.github.com/users/naomichi-y/repos', 'events_url': 'https://api.github.com/users/naomichi-y/events{/privacy}', 'received_events_url': 'https://api.github.com/users/naomichi-y/received_events', 'type': 'User', 'site_admin': False}, 'body': '', 'created_at': '2019-09-04T15:30:40Z', 'updated_at': '2019-09-04T15:30:55Z', 'closed_at': '2019-09-04T15:30:55Z', 'merged_at': '2019-09-04T15:30:55Z', 'merge_commit_sha': '5eca2d7bf57287a2fbd7afa6cfd9aaf8eac9a1d0', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'commits_url': 'https://api.github.com/repos/metaps/genova/pulls/75/commits', 'review_comments_url': 'https://api.github.com/repos/metaps/genova/pulls/75/comments', 'review_comment_url': 'https://api.github.com/repos/metaps/genova/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/metaps/genova/issues/75/comments', 'statuses_url': 'https://api.github.com/repos/metaps/genova/statuses/da8574c4a705342f6d5087808f871b783494cf1c', 'head': {'label': 'metaps:feature/73_slack-notwork-after-reboot', 'ref': 'feature/73_slack-notwork-after-reboot', 'sha': 'da8574c4a705342f6d5087808f871b783494cf1c', 'user': {'login': 'metaps', 'id': 3729622, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM3Mjk2MjI=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/3729622?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/metaps', 'html_url': 'https://github.com/metaps', 'followers_url': 'https://api.github.com/users/metaps/followers', 'following_url': 'https://api.github.com/users/metaps/following{/other_user}', 'gists_url': 'https://api.github.com/users/metaps/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/metaps/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/metaps/subscriptions', 'organizations_url': 'https://api.github.com/users/metaps/orgs', 'repos_url': 'https://api.github.com/users/metaps/repos', 'events_url': 'https://api.github.com/users/metaps/events{/privacy}', 'received_events_url': 'https://api.github.com/users/metaps/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 124389797, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjQzODk3OTc=', 'name': 'genova', 'full_name': 'metaps/genova', 'private': False, 'owner': {'login': 'metaps', 'id': 3729622, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM3Mjk2MjI=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/3729622?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/metaps', 'html_url': 'https://github.com/metaps', 'followers_url': 'https://api.github.com/users/metaps/followers', 'following_url': 'https://api.github.com/users/metaps/following{/other_user}', 'gists_url': 'https://api.github.com/users/metaps/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/metaps/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/metaps/subscriptions', 'organizations_url': 'https://api.github.com/users/metaps/orgs', 'repos_url': 'https://api.github.com/users/metaps/repos', 'events_url': 'https://api.github.com/users/metaps/events{/privacy}', 'received_events_url': 'https://api.github.com/users/metaps/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/metaps/genova', 'description': 'AWS ECS Deployment manager', 'fork': False, 'url': 'https://api.github.com/repos/metaps/genova', 'forks_url': 'https://api.github.com/repos/metaps/genova/forks', 'keys_url': 'https://api.github.com/repos/metaps/genova/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/metaps/genova/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/metaps/genova/teams', 'hooks_url': 'https://api.github.com/repos/metaps/genova/hooks', 'issue_events_url': 'https://api.github.com/repos/metaps/genova/issues/events{/number}', 'events_url': 'https://api.github.com/repos/metaps/genova/events', 'assignees_url': 'https://api.github.com/repos/metaps/genova/assignees{/user}', 'branches_url': 'https://api.github.com/repos/metaps/genova/branches{/branch}', 'tags_url': 'https://api.github.com/repos/metaps/genova/tags', 'blobs_url': 'https://api.github.com/repos/metaps/genova/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/metaps/genova/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/metaps/genova/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/metaps/genova/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/metaps/genova/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/metaps/genova/languages', 'stargazers_url': 'https://api.github.com/repos/metaps/genova/stargazers', 'contributors_url': 'https://api.github.com/repos/metaps/genova/contributors', 'subscribers_url': 'https://api.github.com/repos/metaps/genova/subscribers', 'subscription_url': 'https://api.github.com/repos/metaps/genova/subscription', 'commits_url': 'https://api.github.com/repos/metaps/genova/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/metaps/genova/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/metaps/genova/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/metaps/genova/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/metaps/genova/contents/{+path}', 'compare_url': 'https://api.github.com/repos/metaps/genova/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/metaps/genova/merges', 'archive_url': 'https://api.github.com/repos/metaps/genova/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/metaps/genova/downloads', 'issues_url': 'https://api.github.com/repos/metaps/genova/issues{/number}', 'pulls_url': 'https://api.github.com/repos/metaps/genova/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/metaps/genova/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/metaps/genova/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/metaps/genova/labels{/name}', 'releases_url': 'https://api.github.com/repos/metaps/genova/releases{/id}', 'deployments_url': 'https://api.github.com/repos/metaps/genova/deployments', 'created_at': '2018-03-08T12:42:07Z', 'updated_at': '2019-09-03T08:12:40Z', 'pushed_at': '2019-09-04T15:30:55Z', 'git_url': 'git://github.com/metaps/genova.git', 'ssh_url': 'git@github.com:metaps/genova.git', 'clone_url': 'https://github.com/metaps/genova.git', 'svn_url': 'https://github.com/metaps/genova', 'homepage': '', 'size': 4773, 'stargazers_count': 32, 'watchers_count': 32, 'language': 'Ruby', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 11, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 3, 'open_issues': 11, 'watchers': 32, 'default_branch': 'develop'}}, 'base': {'label': 'metaps:develop', 'ref': 'develop', 'sha': '462f96c4c2d035f35ba3fb283c26ce5760822ce8', 'user': {'login': 'metaps', 'id': 3729622, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM3Mjk2MjI=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/3729622?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/metaps', 'html_url': 'https://github.com/metaps', 'followers_url': 'https://api.github.com/users/metaps/followers', 'following_url': 'https://api.github.com/users/metaps/following{/other_user}', 'gists_url': 'https://api.github.com/users/metaps/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/metaps/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/metaps/subscriptions', 'organizations_url': 'https://api.github.com/users/metaps/orgs', 'repos_url': 'https://api.github.com/users/metaps/repos', 'events_url': 'https://api.github.com/users/metaps/events{/privacy}', 'received_events_url': 'https://api.github.com/users/metaps/received_events', 'type': 'Organization', 'site_admin': False}, 'repo': {'id': 124389797, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMjQzODk3OTc=', 'name': 'genova', 'full_name': 'metaps/genova', 'private': False, 'owner': {'login': 'metaps', 'id': 3729622, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM3Mjk2MjI=', 'avatar_url': 'https://avatars3.githubusercontent.com/u/3729622?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/metaps', 'html_url': 'https://github.com/metaps', 'followers_url': 'https://api.github.com/users/metaps/followers', 'following_url': 'https://api.github.com/users/metaps/following{/other_user}', 'gists_url': 'https://api.github.com/users/metaps/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/metaps/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/metaps/subscriptions', 'organizations_url': 'https://api.github.com/users/metaps/orgs', 'repos_url': 'https://api.github.com/users/metaps/repos', 'events_url': 'https://api.github.com/users/metaps/events{/privacy}', 'received_events_url': 'https://api.github.com/users/metaps/received_events', 'type': 'Organization', 'site_admin': False}, 'html_url': 'https://github.com/metaps/genova', 'description': 'AWS ECS Deployment manager', 'fork': False, 'url': 'https://api.github.com/repos/metaps/genova', 'forks_url': 'https://api.github.com/repos/metaps/genova/forks', 'keys_url': 'https://api.github.com/repos/metaps/genova/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/metaps/genova/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/metaps/genova/teams', 'hooks_url': 'https://api.github.com/repos/metaps/genova/hooks', 'issue_events_url': 'https://api.github.com/repos/metaps/genova/issues/events{/number}', 'events_url': 'https://api.github.com/repos/metaps/genova/events', 'assignees_url': 'https://api.github.com/repos/metaps/genova/assignees{/user}', 'branches_url': 'https://api.github.com/repos/metaps/genova/branches{/branch}', 'tags_url': 'https://api.github.com/repos/metaps/genova/tags', 'blobs_url': 'https://api.github.com/repos/metaps/genova/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/metaps/genova/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/metaps/genova/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/metaps/genova/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/metaps/genova/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/metaps/genova/languages', 'stargazers_url': 'https://api.github.com/repos/metaps/genova/stargazers', 'contributors_url': 'https://api.github.com/repos/metaps/genova/contributors', 'subscribers_url': 'https://api.github.com/repos/metaps/genova/subscribers', 'subscription_url': 'https://api.github.com/repos/metaps/genova/subscription', 'commits_url': 'https://api.github.com/repos/metaps/genova/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/metaps/genova/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/metaps/genova/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/metaps/genova/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/metaps/genova/contents/{+path}', 'compare_url': 'https://api.github.com/repos/metaps/genova/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/metaps/genova/merges', 'archive_url': 'https://api.github.com/repos/metaps/genova/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/metaps/genova/downloads', 'issues_url': 'https://api.github.com/repos/metaps/genova/issues{/number}', 'pulls_url': 'https://api.github.com/repos/metaps/genova/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/metaps/genova/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/metaps/genova/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/metaps/genova/labels{/name}', 'releases_url': 'https://api.github.com/repos/metaps/genova/releases{/id}', 'deployments_url': 'https://api.github.com/repos/metaps/genova/deployments', 'created_at': '2018-03-08T12:42:07Z', 'updated_at': '2019-09-03T08:12:40Z', 'pushed_at': '2019-09-04T15:30:55Z', 'git_url': 'git://github.com/metaps/genova.git', 'ssh_url': 'git@github.com:metaps/genova.git', 'clone_url': 'https://github.com/metaps/genova.git', 'svn_url': 'https://github.com/metaps/genova', 'homepage': '', 'size': 4773, 'stargazers_count': 32, 'watchers_count': 32, 'language': 'Ruby', 'has_issues': True, 'has_projects': True, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 11, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'forks': 3, 'open_issues': 11, 'watchers': 32, 'default_branch': 'develop'}}, '_links': {'self': {'href': 'https://api.github.com/repos/metaps/genova/pulls/75'}, 'html': {'href': 'https://github.com/metaps/genova/pull/75'}, 'issue': {'href': 'https://api.github.com/repos/metaps/genova/issues/75'}, 'comments': {'href': 'https://api.github.com/repos/metaps/genova/issues/75/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/metaps/genova/pulls/75/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/metaps/genova/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/metaps/genova/pulls/75/commits'}, 'statuses': {'href': 'https://api.github.com/repos/metaps/genova/statuses/da8574c4a705342f6d5087808f871b783494cf1c'}}, 'author_association': 'MEMBER', 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'naomichi-y', 'id': 1632478, 'node_id': 'MDQ6VXNlcjE2MzI0Nzg=', 'avatar_url': 'https://avatars2.githubusercontent.com/u/1632478?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/naomichi-y', 'html_url': 'https://github.com/naomichi-y', 'followers_url': 'https://api.github.com/users/naomichi-y/followers', 'following_url': 'https://api.github.com/users/naomichi-y/following{/other_user}', 'gists_url': 'https://api.github.com/users/naomichi-y/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/naomichi-y/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/naomichi-y/subscriptions', 'organizations_url': 'https://api.github.com/users/naomichi-y/orgs', 'repos_url': 'https://api.github.com/users/naomichi-y/repos', 'events_url': 'https://api.github.com/users/naomichi-y/events{/privacy}', 'received_events_url': 'https://api.github.com/users/naomichi-y/received_events', 'type': 'User', 'site_admin': False}, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 2, 'additions': 10, 'deletions': 10, 'changed_files': 3}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 3729622, 'login': 'metaps', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/metaps', 'avatar_url': 'https://avatars.githubusercontent.com/u/3729622?'}}, {'id': '10346569295', 'type': 'PushEvent', 'actor': {'id': 8632637, 'login': 'kjaymiller', 'display_login': 'kjaymiller', 'gravatar_id': '', 'url': 'https://api.github.com/users/kjaymiller', 'avatar_url': 'https://avatars.githubusercontent.com/u/8632637?'}, 'repo': {'id': 206214545, 'name': 'productivity-in-tech/pit_transcriptor_amazon', 'url': 'https://api.github.com/repos/productivity-in-tech/pit_transcriptor_amazon'}, 'payload': {'push_id': 3996620717, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': 'ad08f48662ea2057a80fa49d81e015ad75ed87b2', 'before': '3122dd8647c71035b3f35b8d933251530deb3efa', 'commits': [{'sha': 'ad08f48662ea2057a80fa49d81e015ad75ed87b2', 'author': {'email': 'kjaymiller@gmail.com', 'name': 'Jay Miller'}, 'message': 'Update README.md', 'distinct': True, 'url': 'https://api.github.com/repos/productivity-in-tech/pit_transcriptor_amazon/commits/ad08f48662ea2057a80fa49d81e015ad75ed87b2'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 51834042, 'login': 'productivity-in-tech', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/productivity-in-tech', 'avatar_url': 'https://avatars.githubusercontent.com/u/51834042?'}}, {'id': '10346569299', 'type': 'IssuesEvent', 'actor': {'id': 31420082, 'login': 'lbeaufort', 'display_login': 'lbeaufort', 'gravatar_id': '', 'url': 'https://api.github.com/users/lbeaufort', 'avatar_url': 'https://avatars.githubusercontent.com/u/31420082?'}, 'repo': {'id': 40841283, 'name': 'fecgov/fec-cms', 'url': 'https://api.github.com/repos/fecgov/fec-cms'}, 'payload': {'action': 'opened', 'issue': {'url': 'https://api.github.com/repos/fecgov/fec-cms/issues/3138', 'repository_url': 'https://api.github.com/repos/fecgov/fec-cms', 'labels_url': 'https://api.github.com/repos/fecgov/fec-cms/issues/3138/labels{/name}', 'comments_url': 'https://api.github.com/repos/fecgov/fec-cms/issues/3138/comments', 'events_url': 'https://api.github.com/repos/fecgov/fec-cms/issues/3138/events', 'html_url': 'https://github.com/fecgov/fec-cms/issues/3138', 'id': 489235132, 'node_id': 'MDU6SXNzdWU0ODkyMzUxMzI=', 'number': 3138, 'title': "Make changes to remove 'unsafe-inline' and 'unsafe-eval' from Content Security Policy", 'user': {'login': 'lbeaufort', 'id': 31420082, 'node_id': 'MDQ6VXNlcjMxNDIwMDgy', 'avatar_url': 'https://avatars1.githubusercontent.com/u/31420082?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/lbeaufort', 'html_url': 'https://github.com/lbeaufort', 'followers_url': 'https://api.github.com/users/lbeaufort/followers', 'following_url': 'https://api.github.com/users/lbeaufort/following{/other_user}', 'gists_url': 'https://api.github.com/users/lbeaufort/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/lbeaufort/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/lbeaufort/subscriptions', 'organizations_url': 'https://api.github.com/users/lbeaufort/orgs', 'repos_url': 'https://api.github.com/users/lbeaufort/repos', 'events_url': 'https://api.github.com/users/lbeaufort/events{/privacy}', 'received_events_url': 'https://api.github.com/users/lbeaufort/received_events', 'type': 'User', 'site_admin': False}, 'labels': [{'id': 456586988, 'node_id': 'MDU6TGFiZWw0NTY1ODY5ODg=', 'url': 'https://api.github.com/repos/fecgov/fec-cms/labels/Needs%20grooming', 'name': 'Needs grooming', 'color': '5319e7', 'default': False}, {'id': 1364511876, 'node_id': 'MDU6TGFiZWwxMzY0NTExODc2', 'url': 'https://api.github.com/repos/fecgov/fec-cms/labels/Security:%20moderate', 'name': 'Security: moderate', 'color': 'ff4000', 'default': False}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': {'url': 'https://api.github.com/repos/fecgov/fec-cms/milestones/85', 'html_url': 'https://github.com/fecgov/fec-cms/milestone/85', 'labels_url': 'https://api.github.com/repos/fecgov/fec-cms/milestones/85/labels', 'id': 4506089, 'node_id': 'MDk6TWlsZXN0b25lNDUwNjA4OQ==', 'number': 85, 'title': 'Sprint 10.1', 'description': '', 'creator': {'login': 'PaulClark2', 'id': 11817734, 'node_id': 'MDQ6VXNlcjExODE3NzM0', 'avatar_url': 'https://avatars1.githubusercontent.com/u/11817734?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/PaulClark2', 'html_url': 'https://github.com/PaulClark2', 'followers_url': 'https://api.github.com/users/PaulClark2/followers', 'following_url': 'https://api.github.com/users/PaulClark2/following{/other_user}', 'gists_url': 'https://api.github.com/users/PaulClark2/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/PaulClark2/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/PaulClark2/subscriptions', 'organizations_url': 'https://api.github.com/users/PaulClark2/orgs', 'repos_url': 'https://api.github.com/users/PaulClark2/repos', 'events_url': 'https://api.github.com/users/PaulClark2/events{/privacy}', 'received_events_url': 'https://api.github.com/users/PaulClark2/received_events', 'type': 'User', 'site_admin': False}, 'open_issues': 19, 'closed_issues': 0, 'state': 'open', 'created_at': '2019-07-19T19:06:04Z', 'updated_at': '2019-09-04T15:30:55Z', 'due_on': '2019-09-23T07:00:00Z', 'closed_at': None}, 'comments': 0, 'created_at': '2019-09-04T15:30:55Z', 'updated_at': '2019-09-04T15:30:55Z', 'closed_at': None, 'author_association': 'MEMBER', 'body': "See #3124. We should Make changes to remove 'unsafe-inline' and 'unsafe-eval' from Content Security Policy"}}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 24719213, 'login': 'fecgov', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/fecgov', 'avatar_url': 'https://avatars.githubusercontent.com/u/24719213?'}}, {'id': '10346569293', 'type': 'PushEvent', 'actor': {'id': 20651632, 'login': 'potatowave', 'display_login': 'potatowave', 'gravatar_id': '', 'url': 'https://api.github.com/users/potatowave', 'avatar_url': 'https://avatars.githubusercontent.com/u/20651632?'}, 'repo': {'id': 205222615, 'name': 'nextgentravel/research', 'url': 'https://api.github.com/repos/nextgentravel/research'}, 'payload': {'push_id': 3996620716, 'size': 1, 'distinct_size': 1, 'ref': 'refs/heads/master', 'head': '0e14027dae50c364a42437f80a6b66401e2d82bd', 'before': 'fb12b5c51d180e15a501ee0802708b41d1889799', 'commits': [{'sha': '0e14027dae50c364a42437f80a6b66401e2d82bd', 'author': {'email': 'kinetic@icloud.com', 'name': 'Mike Jenkins'}, 'message': 'Added autoSetContainer', 'distinct': True, 'url': 'https://api.github.com/repos/nextgentravel/research/commits/0e14027dae50c364a42437f80a6b66401e2d82bd'}]}, 'public': True, 'created_at': '2019-09-04T15:30:56Z', 'org': {'id': 54632951, 'login': 'nextgentravel', 'gravatar_id': '', 'url': 'https://api.github.com/orgs/nextgentravel', 'avatar_url': 'https://avatars.githubusercontent.com/u/54632951?'}}, {'id': '10346569292', 'type': 'CreateEvent', 'actor': {'id': 54903567, 'login': 'sdfdsf213213', 'display_login': 'sdfdsf213213', 'gravatar_id': '', 'url': 'https://api.github.com/users/sdfdsf213213', 'avatar_url': 'https://avatars.githubusercontent.com/u/54903567?'}, 'repo': {'id': 206352561, 'name': 'sdfdsf213213/hello-world', 'url': 'https://api.github.com/repos/sdfdsf213213/hello-world'}, 'payload': {'ref': 'master', 'ref_type': 'branch', 'master_branch': 'master', 'description': None, 'pusher_type': 'user'}, 'public': True, 'created_at': '2019-09-04T15:30:56Z'}]
需要注意的是,成功调用 r.json() 并不意味着响应的成功。有的服务器会在失败的响应中包含一个 JSON 对象(比如 HTTP 500 的错误细节)。这种 JSON 会被解码返回。要检查请求是否成功,可以使用 r.raise_for_status() 或者检查 r.status_code 是否和你的期望相同。
网友评论