{"action":"created","comment":{"url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/comments/231820576","pull_request_review_id":172873308,"id":231820576,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMTgyMDU3Ng==","diff_hunk":"@@ -0,0 +1,131 @@\n+/* Copyright 2018 The TensorFlow Authors. All Rights Reserved.\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+\n+#include \"tensorflow/java/src/main/native/server_jni.h\"\n+#include \"tensorflow/c/c_api.h\"\n+#include \"tensorflow/java/src/main/native/exception_jni.h\"\n+#include \"tensorflow/java/src/main/native/utils_jni.h\"\n+\n+namespace {\n+#ifndef __ANDROID__\n+TF_Server* requireHandle(JNIEnv* env, jlong handle) {\n+  static_assert(sizeof(jlong) >= sizeof(TF_Server*),\n+                \"Cannot package C object pointers as a Java long\");\n+  if (handle == 0) {\n+    throwException(env, kIllegalStateException,\n+                   \"close() has been called on the Server\");\n+    return nullptr;\n+  }\n+\n+  return reinterpret_cast<TF_Server*>(handle);\n+}\n+#endif  // __ANDROID__\n+\n+}  // namespace\n+\n+JNIEXPORT jlong JNICALL Java_org_tensorflow_Server_allocate(\n+    JNIEnv* env, jclass clazz, jbyteArray server_def) {\n+#ifdef __ANDROID__\n+  throwException(env, kUnsupportedOperationException,\n+                 \"Server is not supported on Android\");\n+  return 0;\n+#else\n+  TF_Status* status = TF_NewStatus();\n+\n+  jbyte* server_def_ptr = env->GetByteArrayElements(server_def, nullptr);\n+\n+  TF_Server* server = TF_NewServer(\n+      server_def_ptr, static_cast<size_t>(env->GetArrayLength(server_def)),\n+      status);\n+\n+  env->ReleaseByteArrayElements(server_def, server_def_ptr, JNI_ABORT);\n+  bool ok = throwExceptionIfNotOK(env, status);\n+\n+  TF_DeleteStatus(status);\n+\n+  return ok ? reinterpret_cast<jlong>(server) : 0;\n+#endif  // __ANDROID__\n+}\n+\n+JNIEXPORT void JNICALL Java_org_tensorflow_Server_start(JNIEnv* env,\n+                                                        jclass clazz,\n+                                                        jlong handle) {\n+#ifdef __ANDROID__","path":"tensorflow/java/src/main/native/server_jni.cc","position":null,"original_position":65,"commit_id":"b4327224a2abf2d572faca58f08e82cfd14dfd78","original_commit_id":"2aa655b1387ba79821cd4942b602af916b754f4c","user":{"login":"dmitrievanthony","id":1028969,"node_id":"MDQ6VXNlcjEwMjg5Njk=","avatar_url":"https://avatars3.githubusercontent.com/u/1028969?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitrievanthony","html_url":"https://github.com/dmitrievanthony","followers_url":"https://api.github.com/users/dmitrievanthony/followers","following_url":"https://api.github.com/users/dmitrievanthony/following{/other_user}","gists_url":"https://api.github.com/users/dmitrievanthony/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitrievanthony/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitrievanthony/subscriptions","organizations_url":"https://api.github.com/users/dmitrievanthony/orgs","repos_url":"https://api.github.com/users/dmitrievanthony/repos","events_url":"https://api.github.com/users/dmitrievanthony/events{/privacy}","received_events_url":"https://api.github.com/users/dmitrievanthony/received_events","type":"User","site_admin":false},"body":"Okay, @asimshankar, I moved these `#ifdef` constructions into `c_api.cc`, please have a look.","created_at":"2018-11-08T09:44:32Z","updated_at":"2018-11-08T09:44:32Z","html_url":"https://github.com/tensorflow/tensorflow/pull/23022#discussion_r231820576","pull_request_url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/tensorflow/tensorflow/pulls/comments/231820576"},"html":{"href":"https://github.com/tensorflow/tensorflow/pull/23022#discussion_r231820576"},"pull_request":{"href":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022"}},"in_reply_to_id":231636334},"pull_request":{"url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022","id":223216758,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzMjE2NzU4","html_url":"https://github.com/tensorflow/tensorflow/pull/23022","diff_url":"https://github.com/tensorflow/tensorflow/pull/23022.diff","patch_url":"https://github.com/tensorflow/tensorflow/pull/23022.patch","issue_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/23022","number":23022,"state":"open","locked":false,"title":"Add ability to start TensorFlow server from Java API","user":{"login":"dmitrievanthony","id":1028969,"node_id":"MDQ6VXNlcjEwMjg5Njk=","avatar_url":"https://avatars3.githubusercontent.com/u/1028969?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitrievanthony","html_url":"https://github.com/dmitrievanthony","followers_url":"https://api.github.com/users/dmitrievanthony/followers","following_url":"https://api.github.com/users/dmitrievanthony/following{/other_user}","gists_url":"https://api.github.com/users/dmitrievanthony/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitrievanthony/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitrievanthony/subscriptions","organizations_url":"https://api.github.com/users/dmitrievanthony/orgs","repos_url":"https://api.github.com/users/dmitrievanthony/repos","events_url":"https://api.github.com/users/dmitrievanthony/events{/privacy}","received_events_url":"https://api.github.com/users/dmitrievanthony/received_events","type":"User","site_admin":false},"body":"[Standalone Client Mode](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/distribute/README.md#standalone-client-mode) allows to easily train model utilizing distributed resources. Only one thing we need to do that is to start TensorFlow server on every cluster node we'd like to participate in training. Because of that it's very important to have an ability to start TensorFlow server in different ways and from any environment. I prepared this request as result of [discussion on Development List](https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/TVtFC94bC8k).\r\n\r\nThe following example demonstrates how to use TensorFlow server in Java:\r\n```java\r\nClusterDef clusterDef = ClusterDef.newBuilder()\r\n  .addJob(JobDef.newBuilder()\r\n  .setName(\"worker\")\r\n  .putTasks(0, \"localhost:4321\")\r\n  .build()\r\n).build();\r\n\r\nServerDef serverDef = ServerDef.newBuilder()\r\n  .setCluster(clusterDef)\r\n  .setJobName(\"worker\")\r\n  .setTaskIndex(0)\r\n  .setProtocol(\"grpc\")\r\n  .build();\r\n\r\nServer server = new Server(serverDef.toByteArray());\r\nserver.start();\r\nserver.join();\r\n```\r\n\r\nPlease, feel free to comment and suggest changes.","created_at":"2018-10-16T11:41:25Z","updated_at":"2018-11-08T09:44:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"21e01a9de4096e71298a514c82b298af99e4e9e6","assignee":{"login":"ymodak","id":42785357,"node_id":"MDQ6VXNlcjQyNzg1MzU3","avatar_url":"https://avatars1.githubusercontent.com/u/42785357?v=4","gravatar_id":"","url":"https://api.github.com/users/ymodak","html_url":"https://github.com/ymodak","followers_url":"https://api.github.com/users/ymodak/followers","following_url":"https://api.github.com/users/ymodak/following{/other_user}","gists_url":"https://api.github.com/users/ymodak/gists{/gist_id}","starred_url":"https://api.github.com/users/ymodak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ymodak/subscriptions","organizations_url":"https://api.github.com/users/ymodak/orgs","repos_url":"https://api.github.com/users/ymodak/repos","events_url":"https://api.github.com/users/ymodak/events{/privacy}","received_events_url":"https://api.github.com/users/ymodak/received_events","type":"User","site_admin":false},"assignees":[{"login":"ymodak","id":42785357,"node_id":"MDQ6VXNlcjQyNzg1MzU3","avatar_url":"https://avatars1.githubusercontent.com/u/42785357?v=4","gravatar_id":"","url":"https://api.github.com/users/ymodak","html_url":"https://github.com/ymodak","followers_url":"https://api.github.com/users/ymodak/followers","following_url":"https://api.github.com/users/ymodak/following{/other_user}","gists_url":"https://api.github.com/users/ymodak/gists{/gist_id}","starred_url":"https://api.github.com/users/ymodak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ymodak/subscriptions","organizations_url":"https://api.github.com/users/ymodak/orgs","repos_url":"https://api.github.com/users/ymodak/repos","events_url":"https://api.github.com/users/ymodak/events{/privacy}","received_events_url":"https://api.github.com/users/ymodak/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":300136587,"node_id":"MDU6TGFiZWwzMDAxMzY1ODc=","url":"https://api.github.com/repos/tensorflow/tensorflow/labels/cla:%20yes","name":"cla: yes","color":"009800","default":false},{"id":987666414,"node_id":"MDU6TGFiZWw5ODc2NjY0MTQ=","url":"https://api.github.com/repos/tensorflow/tensorflow/labels/ready%20to%20pull","name":"ready to pull","color":"2cd643","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022/commits","review_comments_url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022/comments","review_comment_url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/23022/comments","statuses_url":"https://api.github.com/repos/tensorflow/tensorflow/statuses/b4327224a2abf2d572faca58f08e82cfd14dfd78","head":{"label":"dmitrievanthony:tensorflow-server-java-api","ref":"tensorflow-server-java-api","sha":"b4327224a2abf2d572faca58f08e82cfd14dfd78","user":{"login":"dmitrievanthony","id":1028969,"node_id":"MDQ6VXNlcjEwMjg5Njk=","avatar_url":"https://avatars3.githubusercontent.com/u/1028969?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitrievanthony","html_url":"https://github.com/dmitrievanthony","followers_url":"https://api.github.com/users/dmitrievanthony/followers","following_url":"https://api.github.com/users/dmitrievanthony/following{/other_user}","gists_url":"https://api.github.com/users/dmitrievanthony/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitrievanthony/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitrievanthony/subscriptions","organizations_url":"https://api.github.com/users/dmitrievanthony/orgs","repos_url":"https://api.github.com/users/dmitrievanthony/repos","events_url":"https://api.github.com/users/dmitrievanthony/events{/privacy}","received_events_url":"https://api.github.com/users/dmitrievanthony/received_events","type":"User","site_admin":false},"repo":{"id":131412181,"node_id":"MDEwOlJlcG9zaXRvcnkxMzE0MTIxODE=","name":"tensorflow","full_name":"dmitrievanthony/tensorflow","private":false,"owner":{"login":"dmitrievanthony","id":1028969,"node_id":"MDQ6VXNlcjEwMjg5Njk=","avatar_url":"https://avatars3.githubusercontent.com/u/1028969?v=4","gravatar_id":"","url":"https://api.github.com/users/dmitrievanthony","html_url":"https://github.com/dmitrievanthony","followers_url":"https://api.github.com/users/dmitrievanthony/followers","following_url":"https://api.github.com/users/dmitrievanthony/following{/other_user}","gists_url":"https://api.github.com/users/dmitrievanthony/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitrievanthony/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitrievanthony/subscriptions","organizations_url":"https://api.github.com/users/dmitrievanthony/orgs","repos_url":"https://api.github.com/users/dmitrievanthony/repos","events_url":"https://api.github.com/users/dmitrievanthony/events{/privacy}","received_events_url":"https://api.github.com/users/dmitrievanthony/received_events","type":"User","site_admin":false},"html_url":"https://github.com/dmitrievanthony/tensorflow","description":"Computation using data flow graphs for scalable machine learning","fork":true,"url":"https://api.github.com/repos/dmitrievanthony/tensorflow","forks_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/forks","keys_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/teams","hooks_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/hooks","issue_events_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/issues/events{/number}","events_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/events","assignees_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/assignees{/user}","branches_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/branches{/branch}","tags_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/tags","blobs_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/git/refs{/sha}","trees_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/statuses/{sha}","languages_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/languages","stargazers_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/stargazers","contributors_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/contributors","subscribers_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/subscribers","subscription_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/subscription","commits_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/commits{/sha}","git_commits_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/git/commits{/sha}","comments_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/comments{/number}","issue_comment_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/issues/comments{/number}","contents_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/contents/{+path}","compare_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/merges","archive_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/downloads","issues_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/issues{/number}","pulls_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/pulls{/number}","milestones_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/milestones{/number}","notifications_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/labels{/name}","releases_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/releases{/id}","deployments_url":"https://api.github.com/repos/dmitrievanthony/tensorflow/deployments","created_at":"2018-04-28T13:33:15Z","updated_at":"2018-10-04T15:09:17Z","pushed_at":"2018-11-08T09:42:30Z","git_url":"git://github.com/dmitrievanthony/tensorflow.git","ssh_url":"git@github.com:dmitrievanthony/tensorflow.git","clone_url":"https://github.com/dmitrievanthony/tensorflow.git","svn_url":"https://github.com/dmitrievanthony/tensorflow","homepage":"https://tensorflow.org","size":272957,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"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":1,"watchers":0,"default_branch":"master"}},"base":{"label":"tensorflow:master","ref":"master","sha":"7fa6658a8f82fafc2f7f9226a5bb0f6cfb3d77a6","user":{"login":"tensorflow","id":15658638,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1NjU4NjM4","avatar_url":"https://avatars1.githubusercontent.com/u/15658638?v=4","gravatar_id":"","url":"https://api.github.com/users/tensorflow","html_url":"https://github.com/tensorflow","followers_url":"https://api.github.com/users/tensorflow/followers","following_url":"https://api.github.com/users/tensorflow/following{/other_user}","gists_url":"https://api.github.com/users/tensorflow/gists{/gist_id}","starred_url":"https://api.github.com/users/tensorflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tensorflow/subscriptions","organizations_url":"https://api.github.com/users/tensorflow/orgs","repos_url":"https://api.github.com/users/tensorflow/repos","events_url":"https://api.github.com/users/tensorflow/events{/privacy}","received_events_url":"https://api.github.com/users/tensorflow/received_events","type":"Organization","site_admin":false},"repo":{"id":45717250,"node_id":"MDEwOlJlcG9zaXRvcnk0NTcxNzI1MA==","name":"tensorflow","full_name":"tensorflow/tensorflow","private":false,"owner":{"login":"tensorflow","id":15658638,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1NjU4NjM4","avatar_url":"https://avatars1.githubusercontent.com/u/15658638?v=4","gravatar_id":"","url":"https://api.github.com/users/tensorflow","html_url":"https://github.com/tensorflow","followers_url":"https://api.github.com/users/tensorflow/followers","following_url":"https://api.github.com/users/tensorflow/following{/other_user}","gists_url":"https://api.github.com/users/tensorflow/gists{/gist_id}","starred_url":"https://api.github.com/users/tensorflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tensorflow/subscriptions","organizations_url":"https://api.github.com/users/tensorflow/orgs","repos_url":"https://api.github.com/users/tensorflow/repos","events_url":"https://api.github.com/users/tensorflow/events{/privacy}","received_events_url":"https://api.github.com/users/tensorflow/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/tensorflow/tensorflow","description":"An Open Source Machine Learning Framework for Everyone","fork":false,"url":"https://api.github.com/repos/tensorflow/tensorflow","forks_url":"https://api.github.com/repos/tensorflow/tensorflow/forks","keys_url":"https://api.github.com/repos/tensorflow/tensorflow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tensorflow/tensorflow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tensorflow/tensorflow/teams","hooks_url":"https://api.github.com/repos/tensorflow/tensorflow/hooks","issue_events_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/events{/number}","events_url":"https://api.github.com/repos/tensorflow/tensorflow/events","assignees_url":"https://api.github.com/repos/tensorflow/tensorflow/assignees{/user}","branches_url":"https://api.github.com/repos/tensorflow/tensorflow/branches{/branch}","tags_url":"https://api.github.com/repos/tensorflow/tensorflow/tags","blobs_url":"https://api.github.com/repos/tensorflow/tensorflow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tensorflow/tensorflow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tensorflow/tensorflow/git/refs{/sha}","trees_url":"https://api.github.com/repos/tensorflow/tensorflow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tensorflow/tensorflow/statuses/{sha}","languages_url":"https://api.github.com/repos/tensorflow/tensorflow/languages","stargazers_url":"https://api.github.com/repos/tensorflow/tensorflow/stargazers","contributors_url":"https://api.github.com/repos/tensorflow/tensorflow/contributors","subscribers_url":"https://api.github.com/repos/tensorflow/tensorflow/subscribers","subscription_url":"https://api.github.com/repos/tensorflow/tensorflow/subscription","commits_url":"https://api.github.com/repos/tensorflow/tensorflow/commits{/sha}","git_commits_url":"https://api.github.com/repos/tensorflow/tensorflow/git/commits{/sha}","comments_url":"https://api.github.com/repos/tensorflow/tensorflow/comments{/number}","issue_comment_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/comments{/number}","contents_url":"https://api.github.com/repos/tensorflow/tensorflow/contents/{+path}","compare_url":"https://api.github.com/repos/tensorflow/tensorflow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tensorflow/tensorflow/merges","archive_url":"https://api.github.com/repos/tensorflow/tensorflow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tensorflow/tensorflow/downloads","issues_url":"https://api.github.com/repos/tensorflow/tensorflow/issues{/number}","pulls_url":"https://api.github.com/repos/tensorflow/tensorflow/pulls{/number}","milestones_url":"https://api.github.com/repos/tensorflow/tensorflow/milestones{/number}","notifications_url":"https://api.github.com/repos/tensorflow/tensorflow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tensorflow/tensorflow/labels{/name}","releases_url":"https://api.github.com/repos/tensorflow/tensorflow/releases{/id}","deployments_url":"https://api.github.com/repos/tensorflow/tensorflow/deployments","created_at":"2015-11-07T01:19:20Z","updated_at":"2018-11-08T09:36:56Z","pushed_at":"2018-11-08T09:42:32Z","git_url":"git://github.com/tensorflow/tensorflow.git","ssh_url":"git@github.com:tensorflow/tensorflow.git","clone_url":"https://github.com/tensorflow/tensorflow.git","svn_url":"https://github.com/tensorflow/tensorflow","homepage":"https://tensorflow.org","size":275056,"stargazers_count":113988,"watchers_count":113988,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":69375,"mirror_url":null,"archived":false,"open_issues_count":1741,"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":69375,"open_issues":1741,"watchers":113988,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022"},"html":{"href":"https://github.com/tensorflow/tensorflow/pull/23022"},"issue":{"href":"https://api.github.com/repos/tensorflow/tensorflow/issues/23022"},"comments":{"href":"https://api.github.com/repos/tensorflow/tensorflow/issues/23022/comments"},"review_comments":{"href":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022/comments"},"review_comment":{"href":"https://api.github.com/repos/tensorflow/tensorflow/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tensorflow/tensorflow/pulls/23022/commits"},"statuses":{"href":"https://api.github.com/repos/tensorflow/tensorflow/statuses/b4327224a2abf2d572faca58f08e82cfd14dfd78"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"dmitrievanthony"}}