{"action":"created","comment":{"url":"https://api.github.com/repos/kubeflow/examples/pulls/comments/232003764","pull_request_review_id":173099275,"id":232003764,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjAwMzc2NA==","diff_hunk":"@@ -6,165 +6,96 @@ This example guides you through the process of taking an example model, modifyin\n \n Before we get started there a few requirements.\n \n-### Kubernetes Cluster Environment\n+## 1.Kubernetes Cluster Environment\n \n-Your cluster must:\n+For supported versions, please check Kubeflow document: https://www.kubeflow.org/docs/started/getting-started/\n \n-- Be at least version 1.9\n-- Have access to an S3-compatible object store ([Amazon S3](https://aws.amazon.com/s3/), [Google Storage](https://cloud.google.com/storage/docs/interoperability), [Minio](https://www.minio.io/kubernetes.html))\n-- Contain 3 nodes of at least 8 cores and 16 GB of RAM.\n-\n-If using GKE, the following will provision a cluster with the required features:\n-\n-```\n-export CLOUDSDK_CONTAINER_USE_CLIENT_CERTIFICATE=True\n-gcloud alpha container clusters create ${USER} --enable-kubernetes-alpha --machine-type=n1-standard-8 --num-nodes=3 --disk-size=200 --zone=us-west1-a --cluster-version=1.9.3-gke.0 --image-type=UBUNTU\n-```\n-\n-If using Azure, the following will provision a cluster with the required features, [using the az cli](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest):\n+## 2.ksonnect cli\n \n ```\n-# Create a resource group\n-az group create -n kubeflowrg -l eastus\n-# Deploy the cluster\n-az aks create -n kubeflowaks -g kubeflowrg -l eastus -k 1.9.6 -c 3 -s Standard_NC6\n-# Authentication into the cluster\n-az aks get-credentials -n kubeflowaks -g kubeflowrg\n+curl -fksSL https://github.com/ksonnet/ksonnet/releases/download/v0.13.0/ks_0.13.0_linux_amd64.tar.gz \\\n+    | tar --strip-components=1 -xvz -C /usr/local/bin/ ks_0.13.0_linux_amd64/ks\n ```\n \n-NOTE: You must be a Kubernetes admin to follow this guide. If you are not an admin, please contact your local cluster administrator for a client cert, or credentials to pass into the following commands:\n+## 3.Kubeflow environment\n \n ```\n-$ kubectl config set-credentials <username> --username=<admin_username> --password=<admin_password>\n-$ kubectl config set-context <context_name> --cluster=<cluster_name> --user=<username> --namespace=<namespace>\n-$ kubectl config use-context <context_name>\n+git clone -b v0.3.2 https://github.com/kubeflow/kubeflow\n+./kubeflow/scripts/kfctl.sh init kf-app --platform none\n+cd kf-app\n+../kubeflow/scripts/kfctl.sh generate k8s\n+../kubeflow/scripts/kfctl.sh apply k8s\n ```\n \n-### Local Setup\n+For detail info, check here: https://www.kubeflow.org/docs/started/getting-started/\n \n-You also need the following command line tools:\n+Note: The vizier-db in Kubeflow depends on a PV, you need to create it in order to make vizier-db work. But this does not affect this example.\n \n-- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n-- [argo](https://github.com/argoproj/argo/blob/master/demo.md#1-download-argo)\n-- [ksonnet](https://ksonnet.io/#get-started)\n \n-To run the client at the end of the example, you must have [requirements.txt](requirements.txt) intalled in your active python environment.\n+## 4.Setup Minio\n \n-```\n-pip install -r requirements.txt\n-```\n+Minio provides an S3 compatible API, we will use Minio in this example to act as S3.\n \n-NOTE: These instructions rely on Github, and may cause issues if behind a firewall with many Github users. Make sure you [generate and export this token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/):\n+### Deploy Minio\n \n ```\n-export GITHUB_TOKEN=xxxxxxxx\n+docker run -e MINIO_ACCESS_KEY=minio -e MINIO_SECRET_KEY=minio123 \\\n+    --name=minio -d --net=host -v /var/lib/minio:/data minio/minio server /data\n ```\n \n-## Modifying existing examples\n-\n-Many examples online use models that are unconfigurable, or don't work well in distributed mode. We will modify one of these [examples](https://github.com/tensorflow/tensorflow/blob/9a24e8acfcd8c9046e1abaac9dbf5e146186f4c2/tensorflow/examples/learn/mnist.py) to be better suited for distributed training and model serving.\n-\n-### Prepare model\n-\n-There is a delta between existing distributed mnist examples and what's needed to run well as a TFJob.\n-\n-Basically, we must:\n+The Minio access key is `minio`, secret key is `minio123`. We will use them in later steps.\n \n-1. Add options in order to make the model configurable.\n-1. Use `tf.estimator.train_and_evaluate` to enable model exporting and serving.\n-1. Define serving signatures for model serving.\n \n-The resulting model is [model.py](model.py).\n-\n-### Build and push model image.\n-\n-With our code ready, we will now build/push the docker image.\n+### Create Minio bucket\n \n ```\n-DOCKER_BASE_URL=docker.io/elsonrodriguez # Put your docker registry here","path":"mnist/README.md","position":99,"original_position":99,"commit_id":"64ba17eb833390798df760b8db5d756e50954146","original_commit_id":"64ba17eb833390798df760b8db5d756e50954146","user":{"login":"elsonrodriguez","id":193030,"node_id":"MDQ6VXNlcjE5MzAzMA==","avatar_url":"https://avatars3.githubusercontent.com/u/193030?v=4","gravatar_id":"","url":"https://api.github.com/users/elsonrodriguez","html_url":"https://github.com/elsonrodriguez","followers_url":"https://api.github.com/users/elsonrodriguez/followers","following_url":"https://api.github.com/users/elsonrodriguez/following{/other_user}","gists_url":"https://api.github.com/users/elsonrodriguez/gists{/gist_id}","starred_url":"https://api.github.com/users/elsonrodriguez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elsonrodriguez/subscriptions","organizations_url":"https://api.github.com/users/elsonrodriguez/orgs","repos_url":"https://api.github.com/users/elsonrodriguez/repos","events_url":"https://api.github.com/users/elsonrodriguez/events{/privacy}","received_events_url":"https://api.github.com/users/elsonrodriguez/received_events","type":"User","site_admin":false},"body":"Removing this step makes the origin of the model container opaque, as stated by Jeremy in one of his reviews.","created_at":"2018-11-08T18:08:27Z","updated_at":"2018-11-08T18:08:27Z","html_url":"https://github.com/kubeflow/examples/pull/316#discussion_r232003764","pull_request_url":"https://api.github.com/repos/kubeflow/examples/pulls/316","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/kubeflow/examples/pulls/comments/232003764"},"html":{"href":"https://github.com/kubeflow/examples/pull/316#discussion_r232003764"},"pull_request":{"href":"https://api.github.com/repos/kubeflow/examples/pulls/316"}}},"pull_request":{"url":"https://api.github.com/repos/kubeflow/examples/pulls/316","id":228975153,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI4OTc1MTUz","html_url":"https://github.com/kubeflow/examples/pull/316","diff_url":"https://github.com/kubeflow/examples/pull/316.diff","patch_url":"https://github.com/kubeflow/examples/pull/316.patch","issue_url":"https://api.github.com/repos/kubeflow/examples/issues/316","number":316,"state":"open","locked":false,"title":"Make the mnist example work with latest kubeflow","user":{"login":"chenzhiwei","id":672668,"node_id":"MDQ6VXNlcjY3MjY2OA==","avatar_url":"https://avatars2.githubusercontent.com/u/672668?v=4","gravatar_id":"","url":"https://api.github.com/users/chenzhiwei","html_url":"https://github.com/chenzhiwei","followers_url":"https://api.github.com/users/chenzhiwei/followers","following_url":"https://api.github.com/users/chenzhiwei/following{/other_user}","gists_url":"https://api.github.com/users/chenzhiwei/gists{/gist_id}","starred_url":"https://api.github.com/users/chenzhiwei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chenzhiwei/subscriptions","organizations_url":"https://api.github.com/users/chenzhiwei/orgs","repos_url":"https://api.github.com/users/chenzhiwei/repos","events_url":"https://api.github.com/users/chenzhiwei/events{/privacy}","received_events_url":"https://api.github.com/users/chenzhiwei/received_events","type":"User","site_admin":false},"body":"A better look of the changes: https://github.com/chenzhiwei/kubeflow-examples/tree/mnist-model/mnist\r\n\r\n1. Update the ks version to fix the un-standard k8s version issue https://github.com/kubeflow/kubeflow/issues/521\r\n2. Update the tensorflow version to v1.11.0\r\n3. Add a webapp client\r\n4. Add minio as s3 alternative storage backend\r\n5. Pre-build kubeflow tf-serving code to ksonnect image(frequently fetch from github will cause github api limit issue)\r\n\r\n<!-- Reviewable:start -->\r\n---\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/kubeflow/examples/316)\r\n<!-- Reviewable:end -->\r\n","created_at":"2018-11-07T10:06:09Z","updated_at":"2018-11-08T18:08:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"72cb1831b3c29af01161ca91c9d8144a9461d9bb","assignee":null,"assignees":[],"requested_reviewers":[{"login":"cwbeitel","id":2348401,"node_id":"MDQ6VXNlcjIzNDg0MDE=","avatar_url":"https://avatars3.githubusercontent.com/u/2348401?v=4","gravatar_id":"","url":"https://api.github.com/users/cwbeitel","html_url":"https://github.com/cwbeitel","followers_url":"https://api.github.com/users/cwbeitel/followers","following_url":"https://api.github.com/users/cwbeitel/following{/other_user}","gists_url":"https://api.github.com/users/cwbeitel/gists{/gist_id}","starred_url":"https://api.github.com/users/cwbeitel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwbeitel/subscriptions","organizations_url":"https://api.github.com/users/cwbeitel/orgs","repos_url":"https://api.github.com/users/cwbeitel/repos","events_url":"https://api.github.com/users/cwbeitel/events{/privacy}","received_events_url":"https://api.github.com/users/cwbeitel/received_events","type":"User","site_admin":false},{"login":"texasmichelle","id":7597993,"node_id":"MDQ6VXNlcjc1OTc5OTM=","avatar_url":"https://avatars1.githubusercontent.com/u/7597993?v=4","gravatar_id":"","url":"https://api.github.com/users/texasmichelle","html_url":"https://github.com/texasmichelle","followers_url":"https://api.github.com/users/texasmichelle/followers","following_url":"https://api.github.com/users/texasmichelle/following{/other_user}","gists_url":"https://api.github.com/users/texasmichelle/gists{/gist_id}","starred_url":"https://api.github.com/users/texasmichelle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/texasmichelle/subscriptions","organizations_url":"https://api.github.com/users/texasmichelle/orgs","repos_url":"https://api.github.com/users/texasmichelle/repos","events_url":"https://api.github.com/users/texasmichelle/events{/privacy}","received_events_url":"https://api.github.com/users/texasmichelle/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":846696496,"node_id":"MDU6TGFiZWw4NDY2OTY0OTY=","url":"https://api.github.com/repos/kubeflow/examples/labels/needs-ok-to-test","name":"needs-ok-to-test","color":"ededed","default":false},{"id":859986552,"node_id":"MDU6TGFiZWw4NTk5ODY1NTI=","url":"https://api.github.com/repos/kubeflow/examples/labels/size/XL","name":"size/XL","color":"ededed","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubeflow/examples/pulls/316/commits","review_comments_url":"https://api.github.com/repos/kubeflow/examples/pulls/316/comments","review_comment_url":"https://api.github.com/repos/kubeflow/examples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubeflow/examples/issues/316/comments","statuses_url":"https://api.github.com/repos/kubeflow/examples/statuses/64ba17eb833390798df760b8db5d756e50954146","head":{"label":"chenzhiwei:mnist-model","ref":"mnist-model","sha":"64ba17eb833390798df760b8db5d756e50954146","user":{"login":"chenzhiwei","id":672668,"node_id":"MDQ6VXNlcjY3MjY2OA==","avatar_url":"https://avatars2.githubusercontent.com/u/672668?v=4","gravatar_id":"","url":"https://api.github.com/users/chenzhiwei","html_url":"https://github.com/chenzhiwei","followers_url":"https://api.github.com/users/chenzhiwei/followers","following_url":"https://api.github.com/users/chenzhiwei/following{/other_user}","gists_url":"https://api.github.com/users/chenzhiwei/gists{/gist_id}","starred_url":"https://api.github.com/users/chenzhiwei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chenzhiwei/subscriptions","organizations_url":"https://api.github.com/users/chenzhiwei/orgs","repos_url":"https://api.github.com/users/chenzhiwei/repos","events_url":"https://api.github.com/users/chenzhiwei/events{/privacy}","received_events_url":"https://api.github.com/users/chenzhiwei/received_events","type":"User","site_admin":false},"repo":{"id":155822981,"node_id":"MDEwOlJlcG9zaXRvcnkxNTU4MjI5ODE=","name":"kubeflow-examples","full_name":"chenzhiwei/kubeflow-examples","private":false,"owner":{"login":"chenzhiwei","id":672668,"node_id":"MDQ6VXNlcjY3MjY2OA==","avatar_url":"https://avatars2.githubusercontent.com/u/672668?v=4","gravatar_id":"","url":"https://api.github.com/users/chenzhiwei","html_url":"https://github.com/chenzhiwei","followers_url":"https://api.github.com/users/chenzhiwei/followers","following_url":"https://api.github.com/users/chenzhiwei/following{/other_user}","gists_url":"https://api.github.com/users/chenzhiwei/gists{/gist_id}","starred_url":"https://api.github.com/users/chenzhiwei/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chenzhiwei/subscriptions","organizations_url":"https://api.github.com/users/chenzhiwei/orgs","repos_url":"https://api.github.com/users/chenzhiwei/repos","events_url":"https://api.github.com/users/chenzhiwei/events{/privacy}","received_events_url":"https://api.github.com/users/chenzhiwei/received_events","type":"User","site_admin":false},"html_url":"https://github.com/chenzhiwei/kubeflow-examples","description":"A repository to host extended examples and tutorials","fork":true,"url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples","forks_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/forks","keys_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/teams","hooks_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/hooks","issue_events_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/issues/events{/number}","events_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/events","assignees_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/assignees{/user}","branches_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/branches{/branch}","tags_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/tags","blobs_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/statuses/{sha}","languages_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/languages","stargazers_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/stargazers","contributors_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/contributors","subscribers_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/subscribers","subscription_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/subscription","commits_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/contents/{+path}","compare_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/merges","archive_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/downloads","issues_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/issues{/number}","pulls_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/pulls{/number}","milestones_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/milestones{/number}","notifications_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/labels{/name}","releases_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/releases{/id}","deployments_url":"https://api.github.com/repos/chenzhiwei/kubeflow-examples/deployments","created_at":"2018-11-02T06:23:00Z","updated_at":"2018-11-07T08:13:18Z","pushed_at":"2018-11-08T11:47:02Z","git_url":"git://github.com/chenzhiwei/kubeflow-examples.git","ssh_url":"git@github.com:chenzhiwei/kubeflow-examples.git","clone_url":"https://github.com/chenzhiwei/kubeflow-examples.git","svn_url":"https://github.com/chenzhiwei/kubeflow-examples","homepage":null,"size":17009,"stargazers_count":0,"watchers_count":0,"language":"Jupyter Notebook","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubeflow:master","ref":"master","sha":"1043bc0c269e7d2f2e84f46c37e7bbc474bedbca","user":{"login":"kubeflow","id":33164907,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzMTY0OTA3","avatar_url":"https://avatars0.githubusercontent.com/u/33164907?v=4","gravatar_id":"","url":"https://api.github.com/users/kubeflow","html_url":"https://github.com/kubeflow","followers_url":"https://api.github.com/users/kubeflow/followers","following_url":"https://api.github.com/users/kubeflow/following{/other_user}","gists_url":"https://api.github.com/users/kubeflow/gists{/gist_id}","starred_url":"https://api.github.com/users/kubeflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubeflow/subscriptions","organizations_url":"https://api.github.com/users/kubeflow/orgs","repos_url":"https://api.github.com/users/kubeflow/repos","events_url":"https://api.github.com/users/kubeflow/events{/privacy}","received_events_url":"https://api.github.com/users/kubeflow/received_events","type":"Organization","site_admin":false},"repo":{"id":119894375,"node_id":"MDEwOlJlcG9zaXRvcnkxMTk4OTQzNzU=","name":"examples","full_name":"kubeflow/examples","private":false,"owner":{"login":"kubeflow","id":33164907,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzMTY0OTA3","avatar_url":"https://avatars0.githubusercontent.com/u/33164907?v=4","gravatar_id":"","url":"https://api.github.com/users/kubeflow","html_url":"https://github.com/kubeflow","followers_url":"https://api.github.com/users/kubeflow/followers","following_url":"https://api.github.com/users/kubeflow/following{/other_user}","gists_url":"https://api.github.com/users/kubeflow/gists{/gist_id}","starred_url":"https://api.github.com/users/kubeflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubeflow/subscriptions","organizations_url":"https://api.github.com/users/kubeflow/orgs","repos_url":"https://api.github.com/users/kubeflow/repos","events_url":"https://api.github.com/users/kubeflow/events{/privacy}","received_events_url":"https://api.github.com/users/kubeflow/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubeflow/examples","description":"A repository to host extended examples and tutorials","fork":false,"url":"https://api.github.com/repos/kubeflow/examples","forks_url":"https://api.github.com/repos/kubeflow/examples/forks","keys_url":"https://api.github.com/repos/kubeflow/examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubeflow/examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubeflow/examples/teams","hooks_url":"https://api.github.com/repos/kubeflow/examples/hooks","issue_events_url":"https://api.github.com/repos/kubeflow/examples/issues/events{/number}","events_url":"https://api.github.com/repos/kubeflow/examples/events","assignees_url":"https://api.github.com/repos/kubeflow/examples/assignees{/user}","branches_url":"https://api.github.com/repos/kubeflow/examples/branches{/branch}","tags_url":"https://api.github.com/repos/kubeflow/examples/tags","blobs_url":"https://api.github.com/repos/kubeflow/examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubeflow/examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubeflow/examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubeflow/examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubeflow/examples/statuses/{sha}","languages_url":"https://api.github.com/repos/kubeflow/examples/languages","stargazers_url":"https://api.github.com/repos/kubeflow/examples/stargazers","contributors_url":"https://api.github.com/repos/kubeflow/examples/contributors","subscribers_url":"https://api.github.com/repos/kubeflow/examples/subscribers","subscription_url":"https://api.github.com/repos/kubeflow/examples/subscription","commits_url":"https://api.github.com/repos/kubeflow/examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubeflow/examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubeflow/examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubeflow/examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubeflow/examples/contents/{+path}","compare_url":"https://api.github.com/repos/kubeflow/examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubeflow/examples/merges","archive_url":"https://api.github.com/repos/kubeflow/examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubeflow/examples/downloads","issues_url":"https://api.github.com/repos/kubeflow/examples/issues{/number}","pulls_url":"https://api.github.com/repos/kubeflow/examples/pulls{/number}","milestones_url":"https://api.github.com/repos/kubeflow/examples/milestones{/number}","notifications_url":"https://api.github.com/repos/kubeflow/examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubeflow/examples/labels{/name}","releases_url":"https://api.github.com/repos/kubeflow/examples/releases{/id}","deployments_url":"https://api.github.com/repos/kubeflow/examples/deployments","created_at":"2018-02-01T21:13:10Z","updated_at":"2018-11-08T01:13:27Z","pushed_at":"2018-11-08T14:44:36Z","git_url":"git://github.com/kubeflow/examples.git","ssh_url":"git@github.com:kubeflow/examples.git","clone_url":"https://github.com/kubeflow/examples.git","svn_url":"https://github.com/kubeflow/examples","homepage":null,"size":32186,"stargazers_count":288,"watchers_count":288,"language":"Jupyter Notebook","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":86,"mirror_url":null,"archived":false,"open_issues_count":94,"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":86,"open_issues":94,"watchers":288,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubeflow/examples/pulls/316"},"html":{"href":"https://github.com/kubeflow/examples/pull/316"},"issue":{"href":"https://api.github.com/repos/kubeflow/examples/issues/316"},"comments":{"href":"https://api.github.com/repos/kubeflow/examples/issues/316/comments"},"review_comments":{"href":"https://api.github.com/repos/kubeflow/examples/pulls/316/comments"},"review_comment":{"href":"https://api.github.com/repos/kubeflow/examples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubeflow/examples/pulls/316/commits"},"statuses":{"href":"https://api.github.com/repos/kubeflow/examples/statuses/64ba17eb833390798df760b8db5d756e50954146"}},"author_association":"NONE"}}
{"actor":{"display_login":"elsonrodriguez"}}