{"action":"created","comment":{"url":"https://api.github.com/repos/mytardis/mytardis/pulls/comments/208769872","pull_request_review_id":144648863,"id":208769872,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwODc2OTg3Mg==","diff_hunk":"@@ -0,0 +1,25 @@\n+from django.urls import reverse","path":"tardis/apps/sftp/context_processors.py","position":1,"original_position":1,"commit_id":"6e1e6c1d40e53aa3f108c445f5cdfdb3df0f2b04","original_commit_id":"6e1e6c1d40e53aa3f108c445f5cdfdb3df0f2b04","user":{"login":"codacy-bot","id":19940114,"node_id":"MDQ6VXNlcjE5OTQwMTE0","avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://app.codacy.com/assets/images/favicon.png) Issue found: [No name 'urls' in module 'django'](https://app.codacy.com/app/mytardis/mytardis/pullRequest?prid=1873289)","created_at":"2018-08-08T23:47:47Z","updated_at":"2018-08-08T23:47:47Z","html_url":"https://github.com/mytardis/mytardis/pull/1160#discussion_r208769872","pull_request_url":"https://api.github.com/repos/mytardis/mytardis/pulls/1160","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/mytardis/mytardis/pulls/comments/208769872"},"html":{"href":"https://github.com/mytardis/mytardis/pull/1160#discussion_r208769872"},"pull_request":{"href":"https://api.github.com/repos/mytardis/mytardis/pulls/1160"}}},"pull_request":{"url":"https://api.github.com/repos/mytardis/mytardis/pulls/1160","id":199882289,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5ODgyMjg5","html_url":"https://github.com/mytardis/mytardis/pull/1160","diff_url":"https://github.com/mytardis/mytardis/pull/1160.diff","patch_url":"https://github.com/mytardis/mytardis/pull/1160.patch","issue_url":"https://api.github.com/repos/mytardis/mytardis/issues/1160","number":1160,"state":"open","locked":false,"title":"[WIP] Implement SFTP auth by SSH key and key management facilities","user":{"login":"keithschulze","id":503034,"node_id":"MDQ6VXNlcjUwMzAzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/503034?v=4","gravatar_id":"","url":"https://api.github.com/users/keithschulze","html_url":"https://github.com/keithschulze","followers_url":"https://api.github.com/users/keithschulze/followers","following_url":"https://api.github.com/users/keithschulze/following{/other_user}","gists_url":"https://api.github.com/users/keithschulze/gists{/gist_id}","starred_url":"https://api.github.com/users/keithschulze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keithschulze/subscriptions","organizations_url":"https://api.github.com/users/keithschulze/orgs","repos_url":"https://api.github.com/users/keithschulze/repos","events_url":"https://api.github.com/users/keithschulze/events{/privacy}","received_events_url":"https://api.github.com/users/keithschulze/received_events","type":"User","site_admin":false},"body":"The current MyTardis SFTP server only allow password authentication, which is problematic with oauth-based authentication. Here we aim to implement authentication by SSH keys. Also to provide a mechanism for users to manage their public keys.","created_at":"2018-07-07T05:58:54Z","updated_at":"2018-08-08T23:47:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"194bac0ead9c0b749a5a98bcfda2cf8122cebf3a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mytardis/mytardis/pulls/1160/commits","review_comments_url":"https://api.github.com/repos/mytardis/mytardis/pulls/1160/comments","review_comment_url":"https://api.github.com/repos/mytardis/mytardis/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mytardis/mytardis/issues/1160/comments","statuses_url":"https://api.github.com/repos/mytardis/mytardis/statuses/6e1e6c1d40e53aa3f108c445f5cdfdb3df0f2b04","head":{"label":"keithschulze:sftp_keys","ref":"sftp_keys","sha":"6e1e6c1d40e53aa3f108c445f5cdfdb3df0f2b04","user":{"login":"keithschulze","id":503034,"node_id":"MDQ6VXNlcjUwMzAzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/503034?v=4","gravatar_id":"","url":"https://api.github.com/users/keithschulze","html_url":"https://github.com/keithschulze","followers_url":"https://api.github.com/users/keithschulze/followers","following_url":"https://api.github.com/users/keithschulze/following{/other_user}","gists_url":"https://api.github.com/users/keithschulze/gists{/gist_id}","starred_url":"https://api.github.com/users/keithschulze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keithschulze/subscriptions","organizations_url":"https://api.github.com/users/keithschulze/orgs","repos_url":"https://api.github.com/users/keithschulze/repos","events_url":"https://api.github.com/users/keithschulze/events{/privacy}","received_events_url":"https://api.github.com/users/keithschulze/received_events","type":"User","site_admin":false},"repo":{"id":16522462,"node_id":"MDEwOlJlcG9zaXRvcnkxNjUyMjQ2Mg==","name":"mytardis","full_name":"keithschulze/mytardis","owner":{"login":"keithschulze","id":503034,"node_id":"MDQ6VXNlcjUwMzAzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/503034?v=4","gravatar_id":"","url":"https://api.github.com/users/keithschulze","html_url":"https://github.com/keithschulze","followers_url":"https://api.github.com/users/keithschulze/followers","following_url":"https://api.github.com/users/keithschulze/following{/other_user}","gists_url":"https://api.github.com/users/keithschulze/gists{/gist_id}","starred_url":"https://api.github.com/users/keithschulze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keithschulze/subscriptions","organizations_url":"https://api.github.com/users/keithschulze/orgs","repos_url":"https://api.github.com/users/keithschulze/repos","events_url":"https://api.github.com/users/keithschulze/events{/privacy}","received_events_url":"https://api.github.com/users/keithschulze/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/keithschulze/mytardis","description":"MyTardis - a data management system for private lab/facility data","fork":true,"url":"https://api.github.com/repos/keithschulze/mytardis","forks_url":"https://api.github.com/repos/keithschulze/mytardis/forks","keys_url":"https://api.github.com/repos/keithschulze/mytardis/keys{/key_id}","collaborators_url":"https://api.github.com/repos/keithschulze/mytardis/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/keithschulze/mytardis/teams","hooks_url":"https://api.github.com/repos/keithschulze/mytardis/hooks","issue_events_url":"https://api.github.com/repos/keithschulze/mytardis/issues/events{/number}","events_url":"https://api.github.com/repos/keithschulze/mytardis/events","assignees_url":"https://api.github.com/repos/keithschulze/mytardis/assignees{/user}","branches_url":"https://api.github.com/repos/keithschulze/mytardis/branches{/branch}","tags_url":"https://api.github.com/repos/keithschulze/mytardis/tags","blobs_url":"https://api.github.com/repos/keithschulze/mytardis/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/keithschulze/mytardis/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/keithschulze/mytardis/git/refs{/sha}","trees_url":"https://api.github.com/repos/keithschulze/mytardis/git/trees{/sha}","statuses_url":"https://api.github.com/repos/keithschulze/mytardis/statuses/{sha}","languages_url":"https://api.github.com/repos/keithschulze/mytardis/languages","stargazers_url":"https://api.github.com/repos/keithschulze/mytardis/stargazers","contributors_url":"https://api.github.com/repos/keithschulze/mytardis/contributors","subscribers_url":"https://api.github.com/repos/keithschulze/mytardis/subscribers","subscription_url":"https://api.github.com/repos/keithschulze/mytardis/subscription","commits_url":"https://api.github.com/repos/keithschulze/mytardis/commits{/sha}","git_commits_url":"https://api.github.com/repos/keithschulze/mytardis/git/commits{/sha}","comments_url":"https://api.github.com/repos/keithschulze/mytardis/comments{/number}","issue_comment_url":"https://api.github.com/repos/keithschulze/mytardis/issues/comments{/number}","contents_url":"https://api.github.com/repos/keithschulze/mytardis/contents/{+path}","compare_url":"https://api.github.com/repos/keithschulze/mytardis/compare/{base}...{head}","merges_url":"https://api.github.com/repos/keithschulze/mytardis/merges","archive_url":"https://api.github.com/repos/keithschulze/mytardis/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/keithschulze/mytardis/downloads","issues_url":"https://api.github.com/repos/keithschulze/mytardis/issues{/number}","pulls_url":"https://api.github.com/repos/keithschulze/mytardis/pulls{/number}","milestones_url":"https://api.github.com/repos/keithschulze/mytardis/milestones{/number}","notifications_url":"https://api.github.com/repos/keithschulze/mytardis/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/keithschulze/mytardis/labels{/name}","releases_url":"https://api.github.com/repos/keithschulze/mytardis/releases{/id}","deployments_url":"https://api.github.com/repos/keithschulze/mytardis/deployments","created_at":"2014-02-04T19:14:15Z","updated_at":"2018-07-04T05:57:20Z","pushed_at":"2018-08-08T23:45:43Z","git_url":"git://github.com/keithschulze/mytardis.git","ssh_url":"git@github.com:keithschulze/mytardis.git","clone_url":"https://github.com/keithschulze/mytardis.git","svn_url":"https://github.com/keithschulze/mytardis","homepage":"http://mytardis.github.com","size":30943,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mytardis:develop","ref":"develop","sha":"99ad3abf174dd58957189245d1ca01620986fafd","user":{"login":"mytardis","id":1234844,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyMzQ4NDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1234844?v=4","gravatar_id":"","url":"https://api.github.com/users/mytardis","html_url":"https://github.com/mytardis","followers_url":"https://api.github.com/users/mytardis/followers","following_url":"https://api.github.com/users/mytardis/following{/other_user}","gists_url":"https://api.github.com/users/mytardis/gists{/gist_id}","starred_url":"https://api.github.com/users/mytardis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mytardis/subscriptions","organizations_url":"https://api.github.com/users/mytardis/orgs","repos_url":"https://api.github.com/users/mytardis/repos","events_url":"https://api.github.com/users/mytardis/events{/privacy}","received_events_url":"https://api.github.com/users/mytardis/received_events","type":"Organization","site_admin":false},"repo":{"id":2824643,"node_id":"MDEwOlJlcG9zaXRvcnkyODI0NjQz","name":"mytardis","full_name":"mytardis/mytardis","owner":{"login":"mytardis","id":1234844,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyMzQ4NDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1234844?v=4","gravatar_id":"","url":"https://api.github.com/users/mytardis","html_url":"https://github.com/mytardis","followers_url":"https://api.github.com/users/mytardis/followers","following_url":"https://api.github.com/users/mytardis/following{/other_user}","gists_url":"https://api.github.com/users/mytardis/gists{/gist_id}","starred_url":"https://api.github.com/users/mytardis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mytardis/subscriptions","organizations_url":"https://api.github.com/users/mytardis/orgs","repos_url":"https://api.github.com/users/mytardis/repos","events_url":"https://api.github.com/users/mytardis/events{/privacy}","received_events_url":"https://api.github.com/users/mytardis/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mytardis/mytardis","description":"MyTardis - a data management system for private lab/facility data","fork":false,"url":"https://api.github.com/repos/mytardis/mytardis","forks_url":"https://api.github.com/repos/mytardis/mytardis/forks","keys_url":"https://api.github.com/repos/mytardis/mytardis/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mytardis/mytardis/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mytardis/mytardis/teams","hooks_url":"https://api.github.com/repos/mytardis/mytardis/hooks","issue_events_url":"https://api.github.com/repos/mytardis/mytardis/issues/events{/number}","events_url":"https://api.github.com/repos/mytardis/mytardis/events","assignees_url":"https://api.github.com/repos/mytardis/mytardis/assignees{/user}","branches_url":"https://api.github.com/repos/mytardis/mytardis/branches{/branch}","tags_url":"https://api.github.com/repos/mytardis/mytardis/tags","blobs_url":"https://api.github.com/repos/mytardis/mytardis/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mytardis/mytardis/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mytardis/mytardis/git/refs{/sha}","trees_url":"https://api.github.com/repos/mytardis/mytardis/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mytardis/mytardis/statuses/{sha}","languages_url":"https://api.github.com/repos/mytardis/mytardis/languages","stargazers_url":"https://api.github.com/repos/mytardis/mytardis/stargazers","contributors_url":"https://api.github.com/repos/mytardis/mytardis/contributors","subscribers_url":"https://api.github.com/repos/mytardis/mytardis/subscribers","subscription_url":"https://api.github.com/repos/mytardis/mytardis/subscription","commits_url":"https://api.github.com/repos/mytardis/mytardis/commits{/sha}","git_commits_url":"https://api.github.com/repos/mytardis/mytardis/git/commits{/sha}","comments_url":"https://api.github.com/repos/mytardis/mytardis/comments{/number}","issue_comment_url":"https://api.github.com/repos/mytardis/mytardis/issues/comments{/number}","contents_url":"https://api.github.com/repos/mytardis/mytardis/contents/{+path}","compare_url":"https://api.github.com/repos/mytardis/mytardis/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mytardis/mytardis/merges","archive_url":"https://api.github.com/repos/mytardis/mytardis/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mytardis/mytardis/downloads","issues_url":"https://api.github.com/repos/mytardis/mytardis/issues{/number}","pulls_url":"https://api.github.com/repos/mytardis/mytardis/pulls{/number}","milestones_url":"https://api.github.com/repos/mytardis/mytardis/milestones{/number}","notifications_url":"https://api.github.com/repos/mytardis/mytardis/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mytardis/mytardis/labels{/name}","releases_url":"https://api.github.com/repos/mytardis/mytardis/releases{/id}","deployments_url":"https://api.github.com/repos/mytardis/mytardis/deployments","created_at":"2011-11-22T01:48:28Z","updated_at":"2018-08-08T11:04:57Z","pushed_at":"2018-08-08T23:45:44Z","git_url":"git://github.com/mytardis/mytardis.git","ssh_url":"git@github.com:mytardis/mytardis.git","clone_url":"https://github.com/mytardis/mytardis.git","svn_url":"https://github.com/mytardis/mytardis","homepage":"http://mytardis.org","size":29890,"stargazers_count":53,"watchers_count":53,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":56,"mirror_url":null,"archived":false,"open_issues_count":89,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":56,"open_issues":89,"watchers":53,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/mytardis/mytardis/pulls/1160"},"html":{"href":"https://github.com/mytardis/mytardis/pull/1160"},"issue":{"href":"https://api.github.com/repos/mytardis/mytardis/issues/1160"},"comments":{"href":"https://api.github.com/repos/mytardis/mytardis/issues/1160/comments"},"review_comments":{"href":"https://api.github.com/repos/mytardis/mytardis/pulls/1160/comments"},"review_comment":{"href":"https://api.github.com/repos/mytardis/mytardis/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mytardis/mytardis/pulls/1160/commits"},"statuses":{"href":"https://api.github.com/repos/mytardis/mytardis/statuses/6e1e6c1d40e53aa3f108c445f5cdfdb3df0f2b04"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"codacy-bot"}}