{"action":"created","comment":{"url":"https://api.github.com/repos/istio/api/pulls/comments/166395778","pull_request_review_id":94450905,"id":166395778,"diff_hunk":"@@ -0,0 +1,186 @@\n+// Copyright 2018 Istio Authors\n+//\n+//   Licensed under the Apache License, Version 2.0 (the \"License\");\n+//   you may not use this file except in compliance with the License.\n+//   You may obtain a copy of the License at\n+//\n+//       http://www.apache.org/licenses/LICENSE-2.0\n+//\n+//   Unless required by applicable law or agreed to in writing, software\n+//   distributed under the License is distributed on an \"AS IS\" BASIS,\n+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+//   See the License for the specific language governing permissions and\n+//   limitations under the License.\n+\n+syntax = \"proto3\";\n+\n+import \"routing/v1alpha2/route_rule.proto\";\n+\n+// $title: Authentication Policy\n+// $overview: Authentication policy for Istio services.\n+package istio.authentication.v1alpha1;\n+\n+option go_package = \"istio.io/api/authentication/v1alpha1\";\n+\n+// Place holder for None authentication params\n+message None {\n+}\n+\n+// Place holder for mTLS authentication params.\n+message MutualTls {\n+}\n+\n+// JSON Web Token (JWT) token format for authentication as defined by\n+// https://tools.ietf.org/html/rfc7519. See [OAuth\n+// 2.0](https://tools.ietf.org/html/rfc6749) and [OIDC\n+// 1.0](http://openid.net/connect) for how this is used in the whole\n+// authentication flow.\n+//\n+// Example,\n+//\n+//     issuer: https://example.com\n+//     audiences:\n+//     - bookstore_android.apps.googleusercontent.com\n+//       bookstore_web.apps.googleusercontent.com\n+//     jwks_uri: https://example.com/.well-known/jwks.json\n+//\n+message Jwt {\n+  // Identifies the issuer that issued the JWT. See\n+  // https://tools.ietf.org/html/rfc7519#section-4.1.1\n+  // Usually a URL or an email address.\n+  //\n+  // Example: https://securetoken.google.com\n+  // Example: 1234567-compute@developer.gserviceaccount.com\n+  //\n+  string issuer = 1;\n+\n+  // The list of JWT\n+  // [audiences](https://tools.ietf.org/html/rfc7519#section-4.1.3).\n+  // that are allowed to access. A JWT containing any of these\n+  // audiences will be accepted.\n+  //\n+  // The service name will be accepted if audiences is empty.\n+  //\n+  // Example:\n+  //","path":"authentication/v1alpha1/policy.proto","position":68,"original_position":65,"commit_id":"74d9a80df17658569fefb60a830be27f090f65fb","original_commit_id":"2a17f61ee3be3d7537706bb8fe529cfd61d1bd61","user":{"login":"diemtvu","id":25132401,"avatar_url":"https://avatars0.githubusercontent.com/u/25132401?v=4","gravatar_id":"","url":"https://api.github.com/users/diemtvu","html_url":"https://github.com/diemtvu","followers_url":"https://api.github.com/users/diemtvu/followers","following_url":"https://api.github.com/users/diemtvu/following{/other_user}","gists_url":"https://api.github.com/users/diemtvu/gists{/gist_id}","starred_url":"https://api.github.com/users/diemtvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diemtvu/subscriptions","organizations_url":"https://api.github.com/users/diemtvu/orgs","repos_url":"https://api.github.com/users/diemtvu/repos","events_url":"https://api.github.com/users/diemtvu/events{/privacy}","received_events_url":"https://api.github.com/users/diemtvu/received_events","type":"User","site_admin":false},"body":"Done","created_at":"2018-02-06T18:20:23Z","updated_at":"2018-02-06T18:20:23Z","html_url":"https://github.com/istio/api/pull/335#discussion_r166395778","pull_request_url":"https://api.github.com/repos/istio/api/pulls/335","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/istio/api/pulls/comments/166395778"},"html":{"href":"https://github.com/istio/api/pull/335#discussion_r166395778"},"pull_request":{"href":"https://api.github.com/repos/istio/api/pulls/335"}},"in_reply_to_id":166082262},"pull_request":{"url":"https://api.github.com/repos/istio/api/pulls/335","id":166144310,"html_url":"https://github.com/istio/api/pull/335","diff_url":"https://github.com/istio/api/pull/335.diff","patch_url":"https://github.com/istio/api/pull/335.patch","issue_url":"https://api.github.com/repos/istio/api/issues/335","number":335,"state":"open","locked":false,"title":"Add AuthenticationPolicy proto","user":{"login":"diemtvu","id":25132401,"avatar_url":"https://avatars0.githubusercontent.com/u/25132401?v=4","gravatar_id":"","url":"https://api.github.com/users/diemtvu","html_url":"https://github.com/diemtvu","followers_url":"https://api.github.com/users/diemtvu/followers","following_url":"https://api.github.com/users/diemtvu/following{/other_user}","gists_url":"https://api.github.com/users/diemtvu/gists{/gist_id}","starred_url":"https://api.github.com/users/diemtvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diemtvu/subscriptions","organizations_url":"https://api.github.com/users/diemtvu/orgs","repos_url":"https://api.github.com/users/diemtvu/repos","events_url":"https://api.github.com/users/diemtvu/events{/privacy}","received_events_url":"https://api.github.com/users/diemtvu/received_events","type":"User","site_admin":false},"body":"Initial API for Authentication policy. In this version, the policy is able to:\r\n- Independently config peer (service-to-service) and end-user authentication.\r\n- Allow to use JWT for peer authentication though still need follow up implementation.\r\n- Allow to use multiple JWTs simultaneously.\r\n\r\nThe policy has not yet include 'impersonation' rules, and other options to conditionally activate authentication mechanism (e.g enable/disable a particular end-user auth based on peer identity).\r\n\r\nExample specs for use cases:\r\n\r\n1. Turn on mTLS for all service-to-service, and (end-user) JWT for service productpage (will need 2 policies)\r\n\r\n```\r\nmetadata:\r\n  name: global\r\nspec:\r\n  target:  # leave blank for all.\r\n  peer:\r\n  - mTLS:\r\n```\r\n\r\nand\r\n\r\n```\r\nmetadata\r\n  name: productpage\r\nspec:\r\n  target:\r\n  - name: productpage\r\n    port: 9000\r\n  peer:\r\n  - mTLS:\r\n  end_user:\r\n  - jwt:\r\n      issuer: \"https://securetoken.google.com\"\r\n      jwks_uri: \"https://www.googleapis.com/oauth2/v1/certs\"\r\n```\r\n\r\nUsing either mTLS or JWT for service-to-service\r\n\r\n```\r\nmetadata:\r\n  name: global\r\nspec:\r\n  target:  # leave blank for all.\r\n  peer:\r\n  - mTLS:\r\n  - jwt:\r\n      issuer: \"https://securetoken.istio.io\"\r\n\r\n```\r\n\r\n\r\nDesign doc: https://docs.google.com/document/d/1ezP4UuOn3JXEs_cXW4GyPGq-Ppq_XhS9-M-lN6ocOA4/edit?ts=5a70c798#heading=h.vel7gfeap92a","created_at":"2018-01-31T01:31:41Z","updated_at":"2018-02-06T18:20:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0715952e22f5556601bb372a19877043b6e6b195","assignee":{"login":"ayj","id":116378,"avatar_url":"https://avatars1.githubusercontent.com/u/116378?v=4","gravatar_id":"","url":"https://api.github.com/users/ayj","html_url":"https://github.com/ayj","followers_url":"https://api.github.com/users/ayj/followers","following_url":"https://api.github.com/users/ayj/following{/other_user}","gists_url":"https://api.github.com/users/ayj/gists{/gist_id}","starred_url":"https://api.github.com/users/ayj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ayj/subscriptions","organizations_url":"https://api.github.com/users/ayj/orgs","repos_url":"https://api.github.com/users/ayj/repos","events_url":"https://api.github.com/users/ayj/events{/privacy}","received_events_url":"https://api.github.com/users/ayj/received_events","type":"User","site_admin":false},"assignees":[{"login":"ayj","id":116378,"avatar_url":"https://avatars1.githubusercontent.com/u/116378?v=4","gravatar_id":"","url":"https://api.github.com/users/ayj","html_url":"https://github.com/ayj","followers_url":"https://api.github.com/users/ayj/followers","following_url":"https://api.github.com/users/ayj/following{/other_user}","gists_url":"https://api.github.com/users/ayj/gists{/gist_id}","starred_url":"https://api.github.com/users/ayj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ayj/subscriptions","organizations_url":"https://api.github.com/users/ayj/orgs","repos_url":"https://api.github.com/users/ayj/repos","events_url":"https://api.github.com/users/ayj/events{/privacy}","received_events_url":"https://api.github.com/users/ayj/received_events","type":"User","site_admin":false},{"login":"qiwzhang","id":11790727,"avatar_url":"https://avatars0.githubusercontent.com/u/11790727?v=4","gravatar_id":"","url":"https://api.github.com/users/qiwzhang","html_url":"https://github.com/qiwzhang","followers_url":"https://api.github.com/users/qiwzhang/followers","following_url":"https://api.github.com/users/qiwzhang/following{/other_user}","gists_url":"https://api.github.com/users/qiwzhang/gists{/gist_id}","starred_url":"https://api.github.com/users/qiwzhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qiwzhang/subscriptions","organizations_url":"https://api.github.com/users/qiwzhang/orgs","repos_url":"https://api.github.com/users/qiwzhang/repos","events_url":"https://api.github.com/users/qiwzhang/events{/privacy}","received_events_url":"https://api.github.com/users/qiwzhang/received_events","type":"User","site_admin":false},{"login":"liminw","id":20001914,"avatar_url":"https://avatars3.githubusercontent.com/u/20001914?v=4","gravatar_id":"","url":"https://api.github.com/users/liminw","html_url":"https://github.com/liminw","followers_url":"https://api.github.com/users/liminw/followers","following_url":"https://api.github.com/users/liminw/following{/other_user}","gists_url":"https://api.github.com/users/liminw/gists{/gist_id}","starred_url":"https://api.github.com/users/liminw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liminw/subscriptions","organizations_url":"https://api.github.com/users/liminw/orgs","repos_url":"https://api.github.com/users/liminw/repos","events_url":"https://api.github.com/users/liminw/events{/privacy}","received_events_url":"https://api.github.com/users/liminw/received_events","type":"User","site_admin":false},{"login":"xiaolanz","id":28876302,"avatar_url":"https://avatars1.githubusercontent.com/u/28876302?v=4","gravatar_id":"","url":"https://api.github.com/users/xiaolanz","html_url":"https://github.com/xiaolanz","followers_url":"https://api.github.com/users/xiaolanz/followers","following_url":"https://api.github.com/users/xiaolanz/following{/other_user}","gists_url":"https://api.github.com/users/xiaolanz/gists{/gist_id}","starred_url":"https://api.github.com/users/xiaolanz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiaolanz/subscriptions","organizations_url":"https://api.github.com/users/xiaolanz/orgs","repos_url":"https://api.github.com/users/xiaolanz/repos","events_url":"https://api.github.com/users/xiaolanz/events{/privacy}","received_events_url":"https://api.github.com/users/xiaolanz/received_events","type":"User","site_admin":false},{"login":"lei-tang","id":32078630,"avatar_url":"https://avatars1.githubusercontent.com/u/32078630?v=4","gravatar_id":"","url":"https://api.github.com/users/lei-tang","html_url":"https://github.com/lei-tang","followers_url":"https://api.github.com/users/lei-tang/followers","following_url":"https://api.github.com/users/lei-tang/following{/other_user}","gists_url":"https://api.github.com/users/lei-tang/gists{/gist_id}","starred_url":"https://api.github.com/users/lei-tang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lei-tang/subscriptions","organizations_url":"https://api.github.com/users/lei-tang/orgs","repos_url":"https://api.github.com/users/lei-tang/repos","events_url":"https://api.github.com/users/lei-tang/events{/privacy}","received_events_url":"https://api.github.com/users/lei-tang/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"rshriram","id":8202871,"avatar_url":"https://avatars1.githubusercontent.com/u/8202871?v=4","gravatar_id":"","url":"https://api.github.com/users/rshriram","html_url":"https://github.com/rshriram","followers_url":"https://api.github.com/users/rshriram/followers","following_url":"https://api.github.com/users/rshriram/following{/other_user}","gists_url":"https://api.github.com/users/rshriram/gists{/gist_id}","starred_url":"https://api.github.com/users/rshriram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rshriram/subscriptions","organizations_url":"https://api.github.com/users/rshriram/orgs","repos_url":"https://api.github.com/users/rshriram/repos","events_url":"https://api.github.com/users/rshriram/events{/privacy}","received_events_url":"https://api.github.com/users/rshriram/received_events","type":"User","site_admin":false},{"login":"kyessenov","id":9537734,"avatar_url":"https://avatars2.githubusercontent.com/u/9537734?v=4","gravatar_id":"","url":"https://api.github.com/users/kyessenov","html_url":"https://github.com/kyessenov","followers_url":"https://api.github.com/users/kyessenov/followers","following_url":"https://api.github.com/users/kyessenov/following{/other_user}","gists_url":"https://api.github.com/users/kyessenov/gists{/gist_id}","starred_url":"https://api.github.com/users/kyessenov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyessenov/subscriptions","organizations_url":"https://api.github.com/users/kyessenov/orgs","repos_url":"https://api.github.com/users/kyessenov/repos","events_url":"https://api.github.com/users/kyessenov/events{/privacy}","received_events_url":"https://api.github.com/users/kyessenov/received_events","type":"User","site_admin":false}],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/istio/api/pulls/335/commits","review_comments_url":"https://api.github.com/repos/istio/api/pulls/335/comments","review_comment_url":"https://api.github.com/repos/istio/api/pulls/comments{/number}","comments_url":"https://api.github.com/repos/istio/api/issues/335/comments","statuses_url":"https://api.github.com/repos/istio/api/statuses/74d9a80df17658569fefb60a830be27f090f65fb","head":{"label":"diemtvu:authn","ref":"authn","sha":"74d9a80df17658569fefb60a830be27f090f65fb","user":{"login":"diemtvu","id":25132401,"avatar_url":"https://avatars0.githubusercontent.com/u/25132401?v=4","gravatar_id":"","url":"https://api.github.com/users/diemtvu","html_url":"https://github.com/diemtvu","followers_url":"https://api.github.com/users/diemtvu/followers","following_url":"https://api.github.com/users/diemtvu/following{/other_user}","gists_url":"https://api.github.com/users/diemtvu/gists{/gist_id}","starred_url":"https://api.github.com/users/diemtvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diemtvu/subscriptions","organizations_url":"https://api.github.com/users/diemtvu/orgs","repos_url":"https://api.github.com/users/diemtvu/repos","events_url":"https://api.github.com/users/diemtvu/events{/privacy}","received_events_url":"https://api.github.com/users/diemtvu/received_events","type":"User","site_admin":false},"repo":{"id":108473958,"name":"api","full_name":"diemtvu/api","owner":{"login":"diemtvu","id":25132401,"avatar_url":"https://avatars0.githubusercontent.com/u/25132401?v=4","gravatar_id":"","url":"https://api.github.com/users/diemtvu","html_url":"https://github.com/diemtvu","followers_url":"https://api.github.com/users/diemtvu/followers","following_url":"https://api.github.com/users/diemtvu/following{/other_user}","gists_url":"https://api.github.com/users/diemtvu/gists{/gist_id}","starred_url":"https://api.github.com/users/diemtvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diemtvu/subscriptions","organizations_url":"https://api.github.com/users/diemtvu/orgs","repos_url":"https://api.github.com/users/diemtvu/repos","events_url":"https://api.github.com/users/diemtvu/events{/privacy}","received_events_url":"https://api.github.com/users/diemtvu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/diemtvu/api","description":"API, config definitions and standard vocabulary definitions for the Istio project","fork":true,"url":"https://api.github.com/repos/diemtvu/api","forks_url":"https://api.github.com/repos/diemtvu/api/forks","keys_url":"https://api.github.com/repos/diemtvu/api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/diemtvu/api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/diemtvu/api/teams","hooks_url":"https://api.github.com/repos/diemtvu/api/hooks","issue_events_url":"https://api.github.com/repos/diemtvu/api/issues/events{/number}","events_url":"https://api.github.com/repos/diemtvu/api/events","assignees_url":"https://api.github.com/repos/diemtvu/api/assignees{/user}","branches_url":"https://api.github.com/repos/diemtvu/api/branches{/branch}","tags_url":"https://api.github.com/repos/diemtvu/api/tags","blobs_url":"https://api.github.com/repos/diemtvu/api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/diemtvu/api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/diemtvu/api/git/refs{/sha}","trees_url":"https://api.github.com/repos/diemtvu/api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/diemtvu/api/statuses/{sha}","languages_url":"https://api.github.com/repos/diemtvu/api/languages","stargazers_url":"https://api.github.com/repos/diemtvu/api/stargazers","contributors_url":"https://api.github.com/repos/diemtvu/api/contributors","subscribers_url":"https://api.github.com/repos/diemtvu/api/subscribers","subscription_url":"https://api.github.com/repos/diemtvu/api/subscription","commits_url":"https://api.github.com/repos/diemtvu/api/commits{/sha}","git_commits_url":"https://api.github.com/repos/diemtvu/api/git/commits{/sha}","comments_url":"https://api.github.com/repos/diemtvu/api/comments{/number}","issue_comment_url":"https://api.github.com/repos/diemtvu/api/issues/comments{/number}","contents_url":"https://api.github.com/repos/diemtvu/api/contents/{+path}","compare_url":"https://api.github.com/repos/diemtvu/api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/diemtvu/api/merges","archive_url":"https://api.github.com/repos/diemtvu/api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/diemtvu/api/downloads","issues_url":"https://api.github.com/repos/diemtvu/api/issues{/number}","pulls_url":"https://api.github.com/repos/diemtvu/api/pulls{/number}","milestones_url":"https://api.github.com/repos/diemtvu/api/milestones{/number}","notifications_url":"https://api.github.com/repos/diemtvu/api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/diemtvu/api/labels{/name}","releases_url":"https://api.github.com/repos/diemtvu/api/releases{/id}","deployments_url":"https://api.github.com/repos/diemtvu/api/deployments","created_at":"2017-10-26T22:52:39Z","updated_at":"2018-02-01T01:20:23Z","pushed_at":"2018-02-05T23:08:08Z","git_url":"git://github.com/diemtvu/api.git","ssh_url":"git@github.com:diemtvu/api.git","clone_url":"https://github.com/diemtvu/api.git","svn_url":"https://github.com/diemtvu/api","homepage":"","size":1228,"stargazers_count":0,"watchers_count":0,"language":"HTML","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":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"istio:master","ref":"master","sha":"740b653f32ae495c5e11ddb012cce3ac088a5491","user":{"login":"istio","id":23534644,"avatar_url":"https://avatars1.githubusercontent.com/u/23534644?v=4","gravatar_id":"","url":"https://api.github.com/users/istio","html_url":"https://github.com/istio","followers_url":"https://api.github.com/users/istio/followers","following_url":"https://api.github.com/users/istio/following{/other_user}","gists_url":"https://api.github.com/users/istio/gists{/gist_id}","starred_url":"https://api.github.com/users/istio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/istio/subscriptions","organizations_url":"https://api.github.com/users/istio/orgs","repos_url":"https://api.github.com/users/istio/repos","events_url":"https://api.github.com/users/istio/events{/privacy}","received_events_url":"https://api.github.com/users/istio/received_events","type":"Organization","site_admin":false},"repo":{"id":76586412,"name":"api","full_name":"istio/api","owner":{"login":"istio","id":23534644,"avatar_url":"https://avatars1.githubusercontent.com/u/23534644?v=4","gravatar_id":"","url":"https://api.github.com/users/istio","html_url":"https://github.com/istio","followers_url":"https://api.github.com/users/istio/followers","following_url":"https://api.github.com/users/istio/following{/other_user}","gists_url":"https://api.github.com/users/istio/gists{/gist_id}","starred_url":"https://api.github.com/users/istio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/istio/subscriptions","organizations_url":"https://api.github.com/users/istio/orgs","repos_url":"https://api.github.com/users/istio/repos","events_url":"https://api.github.com/users/istio/events{/privacy}","received_events_url":"https://api.github.com/users/istio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/istio/api","description":"API, config definitions and standard vocabulary definitions for the Istio project","fork":false,"url":"https://api.github.com/repos/istio/api","forks_url":"https://api.github.com/repos/istio/api/forks","keys_url":"https://api.github.com/repos/istio/api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/istio/api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/istio/api/teams","hooks_url":"https://api.github.com/repos/istio/api/hooks","issue_events_url":"https://api.github.com/repos/istio/api/issues/events{/number}","events_url":"https://api.github.com/repos/istio/api/events","assignees_url":"https://api.github.com/repos/istio/api/assignees{/user}","branches_url":"https://api.github.com/repos/istio/api/branches{/branch}","tags_url":"https://api.github.com/repos/istio/api/tags","blobs_url":"https://api.github.com/repos/istio/api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/istio/api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/istio/api/git/refs{/sha}","trees_url":"https://api.github.com/repos/istio/api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/istio/api/statuses/{sha}","languages_url":"https://api.github.com/repos/istio/api/languages","stargazers_url":"https://api.github.com/repos/istio/api/stargazers","contributors_url":"https://api.github.com/repos/istio/api/contributors","subscribers_url":"https://api.github.com/repos/istio/api/subscribers","subscription_url":"https://api.github.com/repos/istio/api/subscription","commits_url":"https://api.github.com/repos/istio/api/commits{/sha}","git_commits_url":"https://api.github.com/repos/istio/api/git/commits{/sha}","comments_url":"https://api.github.com/repos/istio/api/comments{/number}","issue_comment_url":"https://api.github.com/repos/istio/api/issues/comments{/number}","contents_url":"https://api.github.com/repos/istio/api/contents/{+path}","compare_url":"https://api.github.com/repos/istio/api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/istio/api/merges","archive_url":"https://api.github.com/repos/istio/api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/istio/api/downloads","issues_url":"https://api.github.com/repos/istio/api/issues{/number}","pulls_url":"https://api.github.com/repos/istio/api/pulls{/number}","milestones_url":"https://api.github.com/repos/istio/api/milestones{/number}","notifications_url":"https://api.github.com/repos/istio/api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/istio/api/labels{/name}","releases_url":"https://api.github.com/repos/istio/api/releases{/id}","deployments_url":"https://api.github.com/repos/istio/api/deployments","created_at":"2016-12-15T18:47:13Z","updated_at":"2018-02-04T13:19:15Z","pushed_at":"2018-02-06T06:45:20Z","git_url":"git://github.com/istio/api.git","ssh_url":"git@github.com:istio/api.git","clone_url":"https://github.com/istio/api.git","svn_url":"https://github.com/istio/api","homepage":"","size":1177,"stargazers_count":41,"watchers_count":41,"language":"HTML","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"archived":false,"open_issues_count":36,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":64,"open_issues":36,"watchers":41,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/istio/api/pulls/335"},"html":{"href":"https://github.com/istio/api/pull/335"},"issue":{"href":"https://api.github.com/repos/istio/api/issues/335"},"comments":{"href":"https://api.github.com/repos/istio/api/issues/335/comments"},"review_comments":{"href":"https://api.github.com/repos/istio/api/pulls/335/comments"},"review_comment":{"href":"https://api.github.com/repos/istio/api/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/istio/api/pulls/335/commits"},"statuses":{"href":"https://api.github.com/repos/istio/api/statuses/74d9a80df17658569fefb60a830be27f090f65fb"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"diemtvu"}}