{"action":"created","comment":{"url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/comments/69958199","id":69958199,"diff_hunk":"@@ -0,0 +1,377 @@\n+package sqldb_test\n+\n+import (\n+\t\"metrics-collector/config\"\n+\t. \"metrics-collector/db/sqldb\"\n+\t\"metrics-collector/metrics\"\n+\n+\t\"github.com/lib/pq\"\n+\t. \"github.com/onsi/ginkgo\"\n+\t. \"github.com/onsi/gomega\"\n+\t\"github.com/pivotal-golang/lager\"\n+\n+\t\"os\"\n+\t\"time\"\n+)\n+\n+var _ = Describe(\"Sqldb\", func() {\n+\tvar (\n+\t\tconf       *config.DbConfig\n+\t\tdb         *SQLDB\n+\t\tlogger     lager.Logger\n+\t\terr        error\n+\t\tmtrcs      []*metrics.Metric\n+\t\tstart      int64\n+\t\tend        int64\n+\t\tbefore     int64\n+\t\tappId      string\n+\t\tmetricName string\n+\t\tappIds     []string\n+\t)\n+\tBeforeEach(func() {\n+\t\tlogger = lager.NewLogger(\"sqldb-test\")\n+\n+\t\tdbUrl := os.Getenv(\"DBURL\")\n+\t\tif dbUrl == \"\" {\n+\t\t\tFail(\"environment variable $DBURL is not set\")\n+\t\t}\n+\t\tconf = &config.DbConfig{Url: dbUrl}\n+\t})\n+\n+\tDescribe(\"NewSQLDB\", func() {\n+\n+\t\tJustBeforeEach(func() {\n+\t\t\tdb, err = NewSQLDB(conf, logger)\n+\t\t})\n+\n+\t\tAfterEach(func() {\n+\t\t\tdropMetricsTable()\n+\t\t})\n+\n+\t\tContext(\"when db config is not correct\", func() {\n+\t\t\tBeforeEach(func() {\n+\t\t\t\tconf.Url = \"postgres://non-exist-user:non-exist-password@localhost/autoscaler?sslmode=disable\"\n+\t\t\t})\n+\n+\t\t\tIt(\"should error\", func() {\n+\t\t\t\tExpect(err).To(BeAssignableToTypeOf(&pq.Error{}))\n+\t\t\t})\n+\t\t})\n+\n+\t\tContext(\"when db config is correct\", func() {\n+\t\t\tContext(\"when there is no metrics table\", func() {\n+\t\t\t\tIt(\"should not error\", func() {\n+\t\t\t\t\tExpect(err).To(BeNil())\n+\t\t\t\t\tExpect(db).NotTo(BeNil())\n+\t\t\t\t})\n+\n+\t\t\t\tIt(\"creats the table\", func() {\n+\t\t\t\t\tExpect(hasMetricsTable()).To(BeTrue())\n+\t\t\t\t})\n+\t\t\t})\n+\n+\t\t\tContext(\"when there is metrics table\", func() {\n+\t\t\t\tBeforeEach(func() {\n+\t\t\t\t\tcreateMetricsTable()\n+\t\t\t\t})\n+\n+\t\t\t\tIt(\"should not error\", func() {\n+\t\t\t\t\tExpect(err).To(BeNil())\n+\t\t\t\t\tExpect(db).NotTo(BeNil())\n+\t\t\t\t})\n+\n+\t\t\t\tIt(\"has the metrics table\", func() {\n+\t\t\t\t\tExpect(hasMetricsTable()).To(BeTrue())\n+\t\t\t\t})\n+\n+\t\t\t})\n+\t\t})\n+\t})\n+\n+\tDescribe(\"SaveMetric\", func() {\n+\t\tBeforeEach(func() {\n+\t\t\tdb, err = NewSQLDB(conf, logger)\n+\t\t\tif err != nil {\n+\t\t\t\tFail(\"can not connect database\")\n+\t\t\t}\n+\t\t})\n+\n+\t\tAfterEach(func() {\n+\t\t\tdropMetricsTable()\n+\t\t})\n+\n+\t\tContext(\"When insert a matric\", func() {\n+\t\t\tBeforeEach(func() {\n+\t\t\t\tinstances := []metrics.InstanceMetric{{23456312, 0, \"3333\"}, {23556312, 1, \"6666\"}}\n+\t\t\t\tmetric := &metrics.Metric{\n+\t\t\t\t\tAppId:     \"test-app-id\",\n+\t\t\t\t\tName:      metrics.MemoryMetricName,\n+\t\t\t\t\tUnit:      metrics.UnitBytes,\n+\t\t\t\t\tTimeStamp: 11111111,\n+\t\t\t\t\tInstances: instances,\n+\t\t\t\t}\n+\t\t\t\terr = db.SaveMetric(metric)\n+\t\t\t})\n+\n+\t\t\tIt(\"should not error\", func() {\n+\t\t\t\tExpect(err).To(BeNil())\n+\t\t\t})\n+\n+\t\t\tIt(\"has the record in database\", func() {\n+\t\t\t\tb := hasMetric(\"test-app-id\", 11111111)\n+\t\t\t\tExpect(b).To(BeTrue())\n+\t\t\t})\n+\t\t})\n+\n+\t})\n+\n+\tDescribe(\"RetrieveMetrics\", func() {\n+\t\tBeforeEach(func() {\n+\t\t\tdb, err = NewSQLDB(conf, logger)\n+\t\t\tif err != nil {\n+\t\t\t\tFail(\"can not connect database\")\n+\t\t\t}\n+\t\t\tstart = 0\n+\t\t\tend = -1\n+\t\t\tappId = \"test-app-id\"\n+\t\t\tmetricName = metrics.MemoryMetricName\n+\t\t})\n+\n+\t\tAfterEach(func() {\n+\t\t\tdropMetricsTable()\n+\t\t})\n+\n+\t\tContext(\"When metrics table is empty\", func() {\n+\t\t\tBeforeEach(func() {\n+\t\t\t\tmtrcs, err = db.RetrieveMetrics(\"test-app-id\", metrics.MemoryMetricName, start, end)\n+\t\t\t})\n+\n+\t\t\tIt(\"should not error and return empty metrics\", func() {\n+\t\t\t\tExpect(err).To(BeNil())\n+\t\t\t\tExpect(len(mtrcs)).To(Equal(0))\n+\t\t\t})\n+\t\t})\n+\n+\t\tContext(\"when metrics table is not empty\", func() {\n+\t\t\tJustBeforeEach(func() {\n+\t\t\t\tinstances := []metrics.InstanceMetric{{123456, 0, \"3333\"}, {123476, 1, \"6666\"}}\n+\t\t\t\tmetric := &metrics.Metric{\n+\t\t\t\t\tAppId:     appId,\n+\t\t\t\t\tName:      metricName,\n+\t\t\t\t\tUnit:      metrics.UnitBytes,\n+\t\t\t\t\tTimeStamp: 222222,\n+\t\t\t\t\tInstances: instances,\n+\t\t\t\t}\n+\t\t\t\tdb.SaveMetric(metric)\n+\n+\t\t\t\tmetric.TimeStamp = 333333\n+\t\t\t\tdb.SaveMetric(metric)\n+\n+\t\t\t\tmetric.TimeStamp = 666666\n+\t\t\t\tdb.SaveMetric(metric)\n+\n+\t\t\t\tmtrcs, err = db.RetrieveMetrics(\"test-app-id\", metrics.MemoryMetricName, start, end)\n+\t\t\t})\n+\n+\t\t\tContext(\"when metrics table does not has the metrics from given app\", func() {","path":"src/metrics-collector/db/sqldb/sqldb_test.go","position":176,"original_position":176,"commit_id":"43a7b1fb81e7dfade4a611051b6635ef2dcac75f","original_commit_id":"43a7b1fb81e7dfade4a611051b6635ef2dcac75f","user":{"login":"fraenkel","id":929377,"avatar_url":"https://avatars.githubusercontent.com/u/929377?v=3","gravatar_id":"","url":"https://api.github.com/users/fraenkel","html_url":"https://github.com/fraenkel","followers_url":"https://api.github.com/users/fraenkel/followers","following_url":"https://api.github.com/users/fraenkel/following{/other_user}","gists_url":"https://api.github.com/users/fraenkel/gists{/gist_id}","starred_url":"https://api.github.com/users/fraenkel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fraenkel/subscriptions","organizations_url":"https://api.github.com/users/fraenkel/orgs","repos_url":"https://api.github.com/users/fraenkel/repos","events_url":"https://api.github.com/users/fraenkel/events{/privacy}","received_events_url":"https://api.github.com/users/fraenkel/received_events","type":"User","site_admin":false},"body":"Context(\"app with no metrics\")","created_at":"2016-07-07T18:16:53Z","updated_at":"2016-07-07T18:16:53Z","html_url":"https://github.com/cloudfoundry-incubator/app-autoscaler/pull/47#discussion_r69958199","pull_request_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47","_links":{"self":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/comments/69958199"},"html":{"href":"https://github.com/cloudfoundry-incubator/app-autoscaler/pull/47#discussion_r69958199"},"pull_request":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47"}}},"pull_request":{"url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47","id":76510873,"html_url":"https://github.com/cloudfoundry-incubator/app-autoscaler/pull/47","diff_url":"https://github.com/cloudfoundry-incubator/app-autoscaler/pull/47.diff","patch_url":"https://github.com/cloudfoundry-incubator/app-autoscaler/pull/47.patch","issue_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues/47","number":47,"state":"open","locked":false,"title":"persist metrics data and query apps from database","user":{"login":"boyang9527","id":5013402,"avatar_url":"https://avatars.githubusercontent.com/u/5013402?v=3","gravatar_id":"","url":"https://api.github.com/users/boyang9527","html_url":"https://github.com/boyang9527","followers_url":"https://api.github.com/users/boyang9527/followers","following_url":"https://api.github.com/users/boyang9527/following{/other_user}","gists_url":"https://api.github.com/users/boyang9527/gists{/gist_id}","starred_url":"https://api.github.com/users/boyang9527/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boyang9527/subscriptions","organizations_url":"https://api.github.com/users/boyang9527/orgs","repos_url":"https://api.github.com/users/boyang9527/repos","events_url":"https://api.github.com/users/boyang9527/events{/privacy}","received_events_url":"https://api.github.com/users/boyang9527/received_events","type":"User","site_admin":false},"body":"[#121340375]\r\n\r\n- add database config\r\n- add data persistency for metrics\r\n- add querying app ids from policy tabel\r\n- unit test with local postgreSQL\r\n- revise readme","created_at":"2016-07-06T22:12:48Z","updated_at":"2016-07-07T18:16:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d30a496f2075eb2681ba74fd2886884e9be7edae","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47/commits","review_comments_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47/comments","review_comment_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues/47/comments","statuses_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/statuses/43a7b1fb81e7dfade4a611051b6635ef2dcac75f","head":{"label":"boyang9527:db","ref":"db","sha":"43a7b1fb81e7dfade4a611051b6635ef2dcac75f","user":{"login":"boyang9527","id":5013402,"avatar_url":"https://avatars.githubusercontent.com/u/5013402?v=3","gravatar_id":"","url":"https://api.github.com/users/boyang9527","html_url":"https://github.com/boyang9527","followers_url":"https://api.github.com/users/boyang9527/followers","following_url":"https://api.github.com/users/boyang9527/following{/other_user}","gists_url":"https://api.github.com/users/boyang9527/gists{/gist_id}","starred_url":"https://api.github.com/users/boyang9527/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boyang9527/subscriptions","organizations_url":"https://api.github.com/users/boyang9527/orgs","repos_url":"https://api.github.com/users/boyang9527/repos","events_url":"https://api.github.com/users/boyang9527/events{/privacy}","received_events_url":"https://api.github.com/users/boyang9527/received_events","type":"User","site_admin":false},"repo":{"id":56274020,"name":"app-autoscaler","full_name":"boyang9527/app-autoscaler","owner":{"login":"boyang9527","id":5013402,"avatar_url":"https://avatars.githubusercontent.com/u/5013402?v=3","gravatar_id":"","url":"https://api.github.com/users/boyang9527","html_url":"https://github.com/boyang9527","followers_url":"https://api.github.com/users/boyang9527/followers","following_url":"https://api.github.com/users/boyang9527/following{/other_user}","gists_url":"https://api.github.com/users/boyang9527/gists{/gist_id}","starred_url":"https://api.github.com/users/boyang9527/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boyang9527/subscriptions","organizations_url":"https://api.github.com/users/boyang9527/orgs","repos_url":"https://api.github.com/users/boyang9527/repos","events_url":"https://api.github.com/users/boyang9527/events{/privacy}","received_events_url":"https://api.github.com/users/boyang9527/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/boyang9527/app-autoscaler","description":"Auto Scaling for CF Applications","fork":true,"url":"https://api.github.com/repos/boyang9527/app-autoscaler","forks_url":"https://api.github.com/repos/boyang9527/app-autoscaler/forks","keys_url":"https://api.github.com/repos/boyang9527/app-autoscaler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/boyang9527/app-autoscaler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/boyang9527/app-autoscaler/teams","hooks_url":"https://api.github.com/repos/boyang9527/app-autoscaler/hooks","issue_events_url":"https://api.github.com/repos/boyang9527/app-autoscaler/issues/events{/number}","events_url":"https://api.github.com/repos/boyang9527/app-autoscaler/events","assignees_url":"https://api.github.com/repos/boyang9527/app-autoscaler/assignees{/user}","branches_url":"https://api.github.com/repos/boyang9527/app-autoscaler/branches{/branch}","tags_url":"https://api.github.com/repos/boyang9527/app-autoscaler/tags","blobs_url":"https://api.github.com/repos/boyang9527/app-autoscaler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/boyang9527/app-autoscaler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/boyang9527/app-autoscaler/git/refs{/sha}","trees_url":"https://api.github.com/repos/boyang9527/app-autoscaler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/boyang9527/app-autoscaler/statuses/{sha}","languages_url":"https://api.github.com/repos/boyang9527/app-autoscaler/languages","stargazers_url":"https://api.github.com/repos/boyang9527/app-autoscaler/stargazers","contributors_url":"https://api.github.com/repos/boyang9527/app-autoscaler/contributors","subscribers_url":"https://api.github.com/repos/boyang9527/app-autoscaler/subscribers","subscription_url":"https://api.github.com/repos/boyang9527/app-autoscaler/subscription","commits_url":"https://api.github.com/repos/boyang9527/app-autoscaler/commits{/sha}","git_commits_url":"https://api.github.com/repos/boyang9527/app-autoscaler/git/commits{/sha}","comments_url":"https://api.github.com/repos/boyang9527/app-autoscaler/comments{/number}","issue_comment_url":"https://api.github.com/repos/boyang9527/app-autoscaler/issues/comments{/number}","contents_url":"https://api.github.com/repos/boyang9527/app-autoscaler/contents/{+path}","compare_url":"https://api.github.com/repos/boyang9527/app-autoscaler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/boyang9527/app-autoscaler/merges","archive_url":"https://api.github.com/repos/boyang9527/app-autoscaler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/boyang9527/app-autoscaler/downloads","issues_url":"https://api.github.com/repos/boyang9527/app-autoscaler/issues{/number}","pulls_url":"https://api.github.com/repos/boyang9527/app-autoscaler/pulls{/number}","milestones_url":"https://api.github.com/repos/boyang9527/app-autoscaler/milestones{/number}","notifications_url":"https://api.github.com/repos/boyang9527/app-autoscaler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/boyang9527/app-autoscaler/labels{/name}","releases_url":"https://api.github.com/repos/boyang9527/app-autoscaler/releases{/id}","deployments_url":"https://api.github.com/repos/boyang9527/app-autoscaler/deployments","created_at":"2016-04-14T22:31:10Z","updated_at":"2016-04-14T22:31:12Z","pushed_at":"2016-07-06T22:09:05Z","git_url":"git://github.com/boyang9527/app-autoscaler.git","ssh_url":"git@github.com:boyang9527/app-autoscaler.git","clone_url":"https://github.com/boyang9527/app-autoscaler.git","svn_url":"https://github.com/boyang9527/app-autoscaler","homepage":"","size":1264,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"cloudfoundry-incubator:develop","ref":"develop","sha":"2c84606e36ad33794f7e3748df706e4dc8c0762a","user":{"login":"cloudfoundry-incubator","id":5680605,"avatar_url":"https://avatars.githubusercontent.com/u/5680605?v=3","gravatar_id":"","url":"https://api.github.com/users/cloudfoundry-incubator","html_url":"https://github.com/cloudfoundry-incubator","followers_url":"https://api.github.com/users/cloudfoundry-incubator/followers","following_url":"https://api.github.com/users/cloudfoundry-incubator/following{/other_user}","gists_url":"https://api.github.com/users/cloudfoundry-incubator/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudfoundry-incubator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudfoundry-incubator/subscriptions","organizations_url":"https://api.github.com/users/cloudfoundry-incubator/orgs","repos_url":"https://api.github.com/users/cloudfoundry-incubator/repos","events_url":"https://api.github.com/users/cloudfoundry-incubator/events{/privacy}","received_events_url":"https://api.github.com/users/cloudfoundry-incubator/received_events","type":"Organization","site_admin":false},"repo":{"id":55270767,"name":"app-autoscaler","full_name":"cloudfoundry-incubator/app-autoscaler","owner":{"login":"cloudfoundry-incubator","id":5680605,"avatar_url":"https://avatars.githubusercontent.com/u/5680605?v=3","gravatar_id":"","url":"https://api.github.com/users/cloudfoundry-incubator","html_url":"https://github.com/cloudfoundry-incubator","followers_url":"https://api.github.com/users/cloudfoundry-incubator/followers","following_url":"https://api.github.com/users/cloudfoundry-incubator/following{/other_user}","gists_url":"https://api.github.com/users/cloudfoundry-incubator/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudfoundry-incubator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudfoundry-incubator/subscriptions","organizations_url":"https://api.github.com/users/cloudfoundry-incubator/orgs","repos_url":"https://api.github.com/users/cloudfoundry-incubator/repos","events_url":"https://api.github.com/users/cloudfoundry-incubator/events{/privacy}","received_events_url":"https://api.github.com/users/cloudfoundry-incubator/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cloudfoundry-incubator/app-autoscaler","description":"Auto Scaling for CF Applications","fork":false,"url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler","forks_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/forks","keys_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/teams","hooks_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/hooks","issue_events_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues/events{/number}","events_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/events","assignees_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/assignees{/user}","branches_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/branches{/branch}","tags_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/tags","blobs_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/git/refs{/sha}","trees_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/statuses/{sha}","languages_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/languages","stargazers_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/stargazers","contributors_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/contributors","subscribers_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/subscribers","subscription_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/subscription","commits_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/commits{/sha}","git_commits_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/git/commits{/sha}","comments_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/comments{/number}","issue_comment_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues/comments{/number}","contents_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/contents/{+path}","compare_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/merges","archive_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/downloads","issues_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues{/number}","pulls_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls{/number}","milestones_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/milestones{/number}","notifications_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/labels{/name}","releases_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/releases{/id}","deployments_url":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/deployments","created_at":"2016-04-02T00:47:11Z","updated_at":"2016-07-05T09:36:15Z","pushed_at":"2016-07-06T22:12:48Z","git_url":"git://github.com/cloudfoundry-incubator/app-autoscaler.git","ssh_url":"git@github.com:cloudfoundry-incubator/app-autoscaler.git","clone_url":"https://github.com/cloudfoundry-incubator/app-autoscaler.git","svn_url":"https://github.com/cloudfoundry-incubator/app-autoscaler","homepage":"","size":1326,"stargazers_count":6,"watchers_count":6,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":5,"forks":8,"open_issues":5,"watchers":6,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47"},"html":{"href":"https://github.com/cloudfoundry-incubator/app-autoscaler/pull/47"},"issue":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues/47"},"comments":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/issues/47/comments"},"review_comments":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47/comments"},"review_comment":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/pulls/47/commits"},"statuses":{"href":"https://api.github.com/repos/cloudfoundry-incubator/app-autoscaler/statuses/43a7b1fb81e7dfade4a611051b6635ef2dcac75f"}}}}
{"actor":{"display_login":"fraenkel"}}