{"action":"created","comment":{"url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments/167190812","pull_request_review_id":95374720,"id":167190812,"diff_hunk":"@@ -136,10 +138,11 @@ def test():\n     tls = getParam(param, \"tls\", default=False)\n     tls = tls in [True, \"True\", \"true\", \"1\"]\n     recipient = getParam(param, \"recipient\", required)\n+    timeout = int(getParam(param, \"timeout\", default=10))","path":"privacyidea/api/smtpserver.py","position":27,"original_position":27,"commit_id":"cc868560e79f3e989c87b1132ede7f4d8add8aa0","original_commit_id":"cc868560e79f3e989c87b1132ede7f4d8add8aa0","user":{"login":"fredreichbier","id":28243,"avatar_url":"https://avatars2.githubusercontent.com/u/28243?v=4","gravatar_id":"","url":"https://api.github.com/users/fredreichbier","html_url":"https://github.com/fredreichbier","followers_url":"https://api.github.com/users/fredreichbier/followers","following_url":"https://api.github.com/users/fredreichbier/following{/other_user}","gists_url":"https://api.github.com/users/fredreichbier/gists{/gist_id}","starred_url":"https://api.github.com/users/fredreichbier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredreichbier/subscriptions","organizations_url":"https://api.github.com/users/fredreichbier/orgs","repos_url":"https://api.github.com/users/fredreichbier/repos","events_url":"https://api.github.com/users/fredreichbier/events{/privacy}","received_events_url":"https://api.github.com/users/fredreichbier/received_events","type":"User","site_admin":false},"body":"If I do not enter a timeout value and use the \"Send Test Email\" button, I get the following error:\r\n```Traceback (most recent call last):\r\n  File \"/home/fred/privacyidea/privacyidea/venv/lib/python2.7/site-packages/flask/app.py\", line 1817, in wsgi_app\r\n    response = self.full_dispatch_request()\r\n  File \"/home/fred/privacyidea/privacyidea/venv/lib/python2.7/site-packages/flask/app.py\", line 1477, in full_dispatch_request\r\n    rv = self.handle_user_exception(e)\r\n  File \"/home/fred/privacyidea/privacyidea/venv/lib/python2.7/site-packages/flask/app.py\", line 1381, in handle_user_exception\r\n    reraise(exc_type, exc_value, tb)\r\n  File \"/home/fred/privacyidea/privacyidea/venv/lib/python2.7/site-packages/flask/app.py\", line 1475, in full_dispatch_request\r\n    rv = self.dispatch_request()\r\n  File \"/home/fred/privacyidea/privacyidea/venv/lib/python2.7/site-packages/flask/app.py\", line 1461, in dispatch_request\r\n    return self.view_functions[rule.endpoint](**req.view_args)\r\n  File \"/home/fred/privacyidea/privacyidea/privacyidea/api/lib/prepolicy.py\", line 117, in policy_wrapper\r\n    return wrapped_function(*args, **kwds)\r\n  File \"/home/fred/privacyidea/privacyidea/privacyidea/lib/log.py\", line 154, in log_wrapper\r\n    return func(*args, **kwds)\r\n  File \"/home/fred/privacyidea/privacyidea/privacyidea/api/smtpserver.py\", line 141, in test\r\n    timeout = int(getParam(param, \"timeout\", default=10))\r\nTypeError: int() argument must be a string or a number, not 'NoneType'\r\n```\r\n","created_at":"2018-02-09T10:26:21Z","updated_at":"2018-02-09T10:34:23Z","html_url":"https://github.com/privacyidea/privacyidea/pull/920#discussion_r167190812","pull_request_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments/167190812"},"html":{"href":"https://github.com/privacyidea/privacyidea/pull/920#discussion_r167190812"},"pull_request":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920"}}},"pull_request":{"url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920","id":168180932,"html_url":"https://github.com/privacyidea/privacyidea/pull/920","diff_url":"https://github.com/privacyidea/privacyidea/pull/920.diff","patch_url":"https://github.com/privacyidea/privacyidea/pull/920.patch","issue_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/920","number":920,"state":"open","locked":false,"title":"Add smtpserver timeout","user":{"login":"cornelinux","id":1908620,"avatar_url":"https://avatars1.githubusercontent.com/u/1908620?v=4","gravatar_id":"","url":"https://api.github.com/users/cornelinux","html_url":"https://github.com/cornelinux","followers_url":"https://api.github.com/users/cornelinux/followers","following_url":"https://api.github.com/users/cornelinux/following{/other_user}","gists_url":"https://api.github.com/users/cornelinux/gists{/gist_id}","starred_url":"https://api.github.com/users/cornelinux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cornelinux/subscriptions","organizations_url":"https://api.github.com/users/cornelinux/orgs","repos_url":"https://api.github.com/users/cornelinux/repos","events_url":"https://api.github.com/users/cornelinux/events{/privacy}","received_events_url":"https://api.github.com/users/cornelinux/received_events","type":"User","site_admin":false},"body":"Closes #919\n<a href='#crh-start'></a><a href='#crh-data-%7B%22processed%22%3A%20%5B%22https%3A//github.com/privacyidea/privacyidea/pull/920%23issuecomment-364381387%22%5D%2C%20%22comments%22%3A%20%7B%22General%20Comment%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/920%23issuecomment-364381387%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22%23%20%5BCodecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Dh1%29%20Report%5Cn%3E%20Merging%20%5B%23920%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Ddesc%29%20into%20%5Bmaster%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/commit/157b42067d8cbabb5da672790c471079ff635ead%3Fsrc%3Dpr%26el%3Ddesc%29%20will%20%2A%2Aincrease%2A%2A%20coverage%20by%20%60%3C.01%25%60.%5Cn%3E%20The%20diff%20coverage%20is%20%60100%25%60.%5Cn%5Cn%5B%21%5BImpacted%20file%20tree%20graph%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920/graphs/tree.svg%3Ftoken%3D7nHLZki60B%26src%3Dpr%26height%3D150%26width%3D650%29%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Dtree%29%5Cn%5Cn%60%60%60diff%5Cn%40%40%20%20%20%20%20%20%20%20%20%20%20%20Coverage%20Diff%20%20%20%20%20%20%20%20%20%20%20%20%20%40%40%5Cn%23%23%20%20%20%20%20%20%20%20%20%20%20master%20%20%20%20%20%23920%20%20%20%20%20%20%2B/-%20%20%20%23%23%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%2B%20Coverage%20%20%2095.41%25%20%20%2095.42%25%20%20%20%2B%3C.01%25%20%20%20%20%20%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%20%20Files%20%20%20%20%20%20%20%20%20129%20%20%20%20%20%20129%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20Lines%20%20%20%20%20%20%2016002%20%20%20%2016009%20%20%20%20%20%20%20%2B7%20%20%20%20%20%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%2B%20Hits%20%20%20%20%20%20%20%2015269%20%20%20%2015276%20%20%20%20%20%20%20%2B7%20%20%20%20%20%5Cn%20%20Misses%20%20%20%20%20%20%20%20733%20%20%20%20%20%20733%5Cn%60%60%60%5Cn%5Cn%5Cn%7C%20%5BImpacted%20Files%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Dtree%29%20%7C%20Coverage%20%5Cu0394%20%7C%20%7C%5Cn%7C---%7C---%7C---%7C%5Cn%7C%20%5Bprivacyidea/models.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbW9kZWxzLnB5%29%20%7C%20%6098.74%25%20%3C100%25%3E%20%28%5Cu00f8%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/api/smtpserver.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvYXBpL3NtdHBzZXJ2ZXIucHk%3D%29%20%7C%20%60100%25%20%3C100%25%3E%20%28%5Cu00f8%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/lib/smtpserver.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3NtdHBzZXJ2ZXIucHk%3D%29%20%7C%20%6098.86%25%20%3C100%25%3E%20%28%2B0.02%25%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%5Cn------%5Cn%5Cn%5BContinue%20to%20review%20full%20report%20at%20Codecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Dcontinue%29.%5Cn%3E%20%2A%2ALegend%2A%2A%20-%20%5BClick%20here%20to%20learn%20more%5D%28https%3A//docs.codecov.io/docs/codecov-delta%29%5Cn%3E%20%60%5Cu0394%20%3D%20absolute%20%3Crelative%3E%20%28impact%29%60%2C%20%60%5Cu00f8%20%3D%20not%20affected%60%2C%20%60%3F%20%3D%20missing%20data%60%5Cn%3E%20Powered%20by%20%5BCodecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Dfooter%29.%20Last%20update%20%5B157b420...cc86856%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/920%3Fsrc%3Dpr%26el%3Dlastupdated%29.%20Read%20the%20%5Bcomment%20docs%5D%28https%3A//docs.codecov.io/docs/pull-request-comments%29.%5Cn%22%2C%20%22created_at%22%3A%20%222018-02-09T09%3A28%3A34Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars0.githubusercontent.com/u/8655789%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/codecov-io%22%7D%7D%5D%2C%20%22title%22%3A%20%22General%20Comment%22%7D%7D%7D'></a>\n<a href='https://www.codereviewhub.com/'><img src='http://www.codereviewhub.com/site/github-bar.png' height=40></a>\n- [ ] <a href='#crh-comment-General Comment'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/920#issuecomment-364381387'>General Comment</a></b>\n- <a href='https://github.com/codecov-io'><img border=0 src='https://avatars0.githubusercontent.com/u/8655789?v=4' height=16 width=16></a> # [Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=h1) Report\n> Merging [#920](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=desc) into [master](https://codecov.io/gh/privacyidea/privacyidea/commit/157b42067d8cbabb5da672790c471079ff635ead?src=pr&el=desc) will **increase** coverage by `<.01%`.\n> The diff coverage is `100%`.\n[![Impacted file tree graph](https://codecov.io/gh/privacyidea/privacyidea/pull/920/graphs/tree.svg?token=7nHLZki60B&src=pr&height=150&width=650)](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=tree)\n```diff\n@@            Coverage Diff             @@\n##           master     #920      +/-   ##\n==========================================\n+ Coverage   95.41%   95.42%   +<.01%\n==========================================\nFiles         129      129\nLines       16002    16009       +7\n==========================================\n+ Hits        15269    15276       +7\nMisses        733      733\n```\n| [Impacted Files](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [privacyidea/models.py](https://codecov.io/gh/privacyidea/privacyidea/pull/920/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbW9kZWxzLnB5) | `98.74% <100%> (ø)` | :arrow_up: |\n| [privacyidea/api/smtpserver.py](https://codecov.io/gh/privacyidea/privacyidea/pull/920/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvYXBpL3NtdHBzZXJ2ZXIucHk=) | `100% <100%> (ø)` | :arrow_up: |\n| [privacyidea/lib/smtpserver.py](https://codecov.io/gh/privacyidea/privacyidea/pull/920/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3NtdHBzZXJ2ZXIucHk=) | `98.86% <100%> (+0.02%)` | :arrow_up: |\n------\n[Continue to review full report at Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=footer). Last update [157b420...cc86856](https://codecov.io/gh/privacyidea/privacyidea/pull/920?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n\n\n<a href='https://www.codereviewhub.com/privacyidea/privacyidea/pull/920?mark_as_completed=1'><img src='http://www.codereviewhub.com/site/github-mark-as-completed.png' height=26></a>&nbsp;<a href='https://www.codereviewhub.com/privacyidea/privacyidea/pull/920?approve=1'><img src='http://www.codereviewhub.com/site/github-approve.png' height=26></a>&nbsp;<a href='https://github.com/privacyidea/privacyidea/pull/920'><img src='http://www.codereviewhub.com/site/github-refresh.png' height=26></a>\n<a href='#crh-end'></a>","created_at":"2018-02-09T08:38:45Z","updated_at":"2018-02-09T10:34:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c28f200ab412af06ec3744950a6b7e7b97b3f0de","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920/commits","review_comments_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920/comments","review_comment_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments{/number}","comments_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/920/comments","statuses_url":"https://api.github.com/repos/privacyidea/privacyidea/statuses/cc868560e79f3e989c87b1132ede7f4d8add8aa0","head":{"label":"privacyidea:919/smtpserver-timeout","ref":"919/smtpserver-timeout","sha":"cc868560e79f3e989c87b1132ede7f4d8add8aa0","user":{"login":"privacyidea","id":7519615,"avatar_url":"https://avatars3.githubusercontent.com/u/7519615?v=4","gravatar_id":"","url":"https://api.github.com/users/privacyidea","html_url":"https://github.com/privacyidea","followers_url":"https://api.github.com/users/privacyidea/followers","following_url":"https://api.github.com/users/privacyidea/following{/other_user}","gists_url":"https://api.github.com/users/privacyidea/gists{/gist_id}","starred_url":"https://api.github.com/users/privacyidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privacyidea/subscriptions","organizations_url":"https://api.github.com/users/privacyidea/orgs","repos_url":"https://api.github.com/users/privacyidea/repos","events_url":"https://api.github.com/users/privacyidea/events{/privacy}","received_events_url":"https://api.github.com/users/privacyidea/received_events","type":"Organization","site_admin":false},"repo":{"id":20446681,"name":"privacyidea","full_name":"privacyidea/privacyidea","owner":{"login":"privacyidea","id":7519615,"avatar_url":"https://avatars3.githubusercontent.com/u/7519615?v=4","gravatar_id":"","url":"https://api.github.com/users/privacyidea","html_url":"https://github.com/privacyidea","followers_url":"https://api.github.com/users/privacyidea/followers","following_url":"https://api.github.com/users/privacyidea/following{/other_user}","gists_url":"https://api.github.com/users/privacyidea/gists{/gist_id}","starred_url":"https://api.github.com/users/privacyidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privacyidea/subscriptions","organizations_url":"https://api.github.com/users/privacyidea/orgs","repos_url":"https://api.github.com/users/privacyidea/repos","events_url":"https://api.github.com/users/privacyidea/events{/privacy}","received_events_url":"https://api.github.com/users/privacyidea/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/privacyidea/privacyidea","description":":closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP Server)","fork":false,"url":"https://api.github.com/repos/privacyidea/privacyidea","forks_url":"https://api.github.com/repos/privacyidea/privacyidea/forks","keys_url":"https://api.github.com/repos/privacyidea/privacyidea/keys{/key_id}","collaborators_url":"https://api.github.com/repos/privacyidea/privacyidea/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/privacyidea/privacyidea/teams","hooks_url":"https://api.github.com/repos/privacyidea/privacyidea/hooks","issue_events_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/events{/number}","events_url":"https://api.github.com/repos/privacyidea/privacyidea/events","assignees_url":"https://api.github.com/repos/privacyidea/privacyidea/assignees{/user}","branches_url":"https://api.github.com/repos/privacyidea/privacyidea/branches{/branch}","tags_url":"https://api.github.com/repos/privacyidea/privacyidea/tags","blobs_url":"https://api.github.com/repos/privacyidea/privacyidea/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/privacyidea/privacyidea/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/privacyidea/privacyidea/git/refs{/sha}","trees_url":"https://api.github.com/repos/privacyidea/privacyidea/git/trees{/sha}","statuses_url":"https://api.github.com/repos/privacyidea/privacyidea/statuses/{sha}","languages_url":"https://api.github.com/repos/privacyidea/privacyidea/languages","stargazers_url":"https://api.github.com/repos/privacyidea/privacyidea/stargazers","contributors_url":"https://api.github.com/repos/privacyidea/privacyidea/contributors","subscribers_url":"https://api.github.com/repos/privacyidea/privacyidea/subscribers","subscription_url":"https://api.github.com/repos/privacyidea/privacyidea/subscription","commits_url":"https://api.github.com/repos/privacyidea/privacyidea/commits{/sha}","git_commits_url":"https://api.github.com/repos/privacyidea/privacyidea/git/commits{/sha}","comments_url":"https://api.github.com/repos/privacyidea/privacyidea/comments{/number}","issue_comment_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/comments{/number}","contents_url":"https://api.github.com/repos/privacyidea/privacyidea/contents/{+path}","compare_url":"https://api.github.com/repos/privacyidea/privacyidea/compare/{base}...{head}","merges_url":"https://api.github.com/repos/privacyidea/privacyidea/merges","archive_url":"https://api.github.com/repos/privacyidea/privacyidea/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/privacyidea/privacyidea/downloads","issues_url":"https://api.github.com/repos/privacyidea/privacyidea/issues{/number}","pulls_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls{/number}","milestones_url":"https://api.github.com/repos/privacyidea/privacyidea/milestones{/number}","notifications_url":"https://api.github.com/repos/privacyidea/privacyidea/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/privacyidea/privacyidea/labels{/name}","releases_url":"https://api.github.com/repos/privacyidea/privacyidea/releases{/id}","deployments_url":"https://api.github.com/repos/privacyidea/privacyidea/deployments","created_at":"2014-06-03T14:47:02Z","updated_at":"2018-02-06T11:23:17Z","pushed_at":"2018-02-09T10:06:52Z","git_url":"git://github.com/privacyidea/privacyidea.git","ssh_url":"git@github.com:privacyidea/privacyidea.git","clone_url":"https://github.com/privacyidea/privacyidea.git","svn_url":"https://github.com/privacyidea/privacyidea","homepage":"http://www.privacyidea.org","size":26171,"stargazers_count":351,"watchers_count":351,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":107,"mirror_url":null,"archived":false,"open_issues_count":63,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":107,"open_issues":63,"watchers":351,"default_branch":"master"}},"base":{"label":"privacyidea:master","ref":"master","sha":"157b42067d8cbabb5da672790c471079ff635ead","user":{"login":"privacyidea","id":7519615,"avatar_url":"https://avatars3.githubusercontent.com/u/7519615?v=4","gravatar_id":"","url":"https://api.github.com/users/privacyidea","html_url":"https://github.com/privacyidea","followers_url":"https://api.github.com/users/privacyidea/followers","following_url":"https://api.github.com/users/privacyidea/following{/other_user}","gists_url":"https://api.github.com/users/privacyidea/gists{/gist_id}","starred_url":"https://api.github.com/users/privacyidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privacyidea/subscriptions","organizations_url":"https://api.github.com/users/privacyidea/orgs","repos_url":"https://api.github.com/users/privacyidea/repos","events_url":"https://api.github.com/users/privacyidea/events{/privacy}","received_events_url":"https://api.github.com/users/privacyidea/received_events","type":"Organization","site_admin":false},"repo":{"id":20446681,"name":"privacyidea","full_name":"privacyidea/privacyidea","owner":{"login":"privacyidea","id":7519615,"avatar_url":"https://avatars3.githubusercontent.com/u/7519615?v=4","gravatar_id":"","url":"https://api.github.com/users/privacyidea","html_url":"https://github.com/privacyidea","followers_url":"https://api.github.com/users/privacyidea/followers","following_url":"https://api.github.com/users/privacyidea/following{/other_user}","gists_url":"https://api.github.com/users/privacyidea/gists{/gist_id}","starred_url":"https://api.github.com/users/privacyidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privacyidea/subscriptions","organizations_url":"https://api.github.com/users/privacyidea/orgs","repos_url":"https://api.github.com/users/privacyidea/repos","events_url":"https://api.github.com/users/privacyidea/events{/privacy}","received_events_url":"https://api.github.com/users/privacyidea/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/privacyidea/privacyidea","description":":closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP Server)","fork":false,"url":"https://api.github.com/repos/privacyidea/privacyidea","forks_url":"https://api.github.com/repos/privacyidea/privacyidea/forks","keys_url":"https://api.github.com/repos/privacyidea/privacyidea/keys{/key_id}","collaborators_url":"https://api.github.com/repos/privacyidea/privacyidea/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/privacyidea/privacyidea/teams","hooks_url":"https://api.github.com/repos/privacyidea/privacyidea/hooks","issue_events_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/events{/number}","events_url":"https://api.github.com/repos/privacyidea/privacyidea/events","assignees_url":"https://api.github.com/repos/privacyidea/privacyidea/assignees{/user}","branches_url":"https://api.github.com/repos/privacyidea/privacyidea/branches{/branch}","tags_url":"https://api.github.com/repos/privacyidea/privacyidea/tags","blobs_url":"https://api.github.com/repos/privacyidea/privacyidea/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/privacyidea/privacyidea/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/privacyidea/privacyidea/git/refs{/sha}","trees_url":"https://api.github.com/repos/privacyidea/privacyidea/git/trees{/sha}","statuses_url":"https://api.github.com/repos/privacyidea/privacyidea/statuses/{sha}","languages_url":"https://api.github.com/repos/privacyidea/privacyidea/languages","stargazers_url":"https://api.github.com/repos/privacyidea/privacyidea/stargazers","contributors_url":"https://api.github.com/repos/privacyidea/privacyidea/contributors","subscribers_url":"https://api.github.com/repos/privacyidea/privacyidea/subscribers","subscription_url":"https://api.github.com/repos/privacyidea/privacyidea/subscription","commits_url":"https://api.github.com/repos/privacyidea/privacyidea/commits{/sha}","git_commits_url":"https://api.github.com/repos/privacyidea/privacyidea/git/commits{/sha}","comments_url":"https://api.github.com/repos/privacyidea/privacyidea/comments{/number}","issue_comment_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/comments{/number}","contents_url":"https://api.github.com/repos/privacyidea/privacyidea/contents/{+path}","compare_url":"https://api.github.com/repos/privacyidea/privacyidea/compare/{base}...{head}","merges_url":"https://api.github.com/repos/privacyidea/privacyidea/merges","archive_url":"https://api.github.com/repos/privacyidea/privacyidea/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/privacyidea/privacyidea/downloads","issues_url":"https://api.github.com/repos/privacyidea/privacyidea/issues{/number}","pulls_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls{/number}","milestones_url":"https://api.github.com/repos/privacyidea/privacyidea/milestones{/number}","notifications_url":"https://api.github.com/repos/privacyidea/privacyidea/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/privacyidea/privacyidea/labels{/name}","releases_url":"https://api.github.com/repos/privacyidea/privacyidea/releases{/id}","deployments_url":"https://api.github.com/repos/privacyidea/privacyidea/deployments","created_at":"2014-06-03T14:47:02Z","updated_at":"2018-02-06T11:23:17Z","pushed_at":"2018-02-09T10:06:52Z","git_url":"git://github.com/privacyidea/privacyidea.git","ssh_url":"git@github.com:privacyidea/privacyidea.git","clone_url":"https://github.com/privacyidea/privacyidea.git","svn_url":"https://github.com/privacyidea/privacyidea","homepage":"http://www.privacyidea.org","size":26171,"stargazers_count":351,"watchers_count":351,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":107,"mirror_url":null,"archived":false,"open_issues_count":63,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":107,"open_issues":63,"watchers":351,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920"},"html":{"href":"https://github.com/privacyidea/privacyidea/pull/920"},"issue":{"href":"https://api.github.com/repos/privacyidea/privacyidea/issues/920"},"comments":{"href":"https://api.github.com/repos/privacyidea/privacyidea/issues/920/comments"},"review_comments":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920/comments"},"review_comment":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/920/commits"},"statuses":{"href":"https://api.github.com/repos/privacyidea/privacyidea/statuses/cc868560e79f3e989c87b1132ede7f4d8add8aa0"}},"author_association":"OWNER"}}
{"actor":{"display_login":"fredreichbier"}}