{"action":"created","comment":{"url":"https://api.github.com/repos/openshift/origin/pulls/comments/153179310","pull_request_review_id":79144113,"id":153179310,"diff_hunk":"@@ -0,0 +1,483 @@\n+package set\n+\n+import (\n+\t\"fmt\"\n+\t\"io\"\n+\t\"os\"\n+\n+\t\"github.com/spf13/cobra\"\n+\n+\t\"k8s.io/apimachinery/pkg/api/meta\"\n+\t\"k8s.io/apimachinery/pkg/runtime\"\n+\t\"k8s.io/apimachinery/pkg/types\"\n+\t\"k8s.io/apimachinery/pkg/util/intstr\"\n+\t\"k8s.io/kubernetes/pkg/apis/apps\"\n+\t\"k8s.io/kubernetes/pkg/apis/extensions\"\n+\t\"k8s.io/kubernetes/pkg/kubectl/cmd/templates\"\n+\tkcmdutil \"k8s.io/kubernetes/pkg/kubectl/cmd/util\"\n+\t\"k8s.io/kubernetes/pkg/kubectl/resource\"\n+\n+\tdeployapi \"github.com/openshift/origin/pkg/apps/apis/apps\"\n+\tcmdutil \"github.com/openshift/origin/pkg/cmd/util\"\n+\t\"github.com/openshift/origin/pkg/cmd/util/clientcmd\"\n+)\n+\n+var (\n+\tdeploymentStrategyLong = templates.LongDesc(`\n+\t\tSet a deployment strategy for a deployment config, deployment,\n+\t\tstatefulset and daemonset.\n+\n+`)\n+\n+\tdeploymentStrategyExample = templates.Examples(`\n+\t\t# Change the deployment strategy for dc/myapp to recreate\n+\t  %[1]s deployment-strategy dc/myapp --recreate\n+\n+\t\t# Set the max-surge option for deployment config\n+\t  %[1]s deployment-strategy dc/myapp --rolling --max-surge=2\n+\n+\t\t# Change the deployment strategy to OnDelete for a statefulset and sets the partiion\n+\t  %[1]s deployment-strategy ss/myapp --rolling --partition=10\n+\n+`)\n+)\n+\n+// DeploymentStrategyOptions contain options for set deployment-strategy.\n+type DeploymentStrategyOptions struct {\n+\tOut         io.Writer\n+\tErr         io.Writer\n+\tBuilder     *resource.Builder\n+\tInfos       []*resource.Info\n+\tEncoder     runtime.Encoder\n+\tFilenames   []string\n+\tOutput      string\n+\tMapper      meta.RESTMapper\n+\tSelector    string\n+\tShortOutput bool\n+\tLocal       bool\n+\n+\tPrintObject func([]*resource.Info) error\n+\tCmd         *cobra.Command\n+\n+\t// DeploymentConfig and Deployment\n+\tRecreate bool\n+\tRolling  bool\n+\tCustom   bool\n+\n+\t// StatefulSet and DaemonSet\n+\tOnDelete bool\n+\n+\t// DeploymentConfig strategies options\n+\tTimeoutSeconds      int64\n+\tUpdatePeriodSeconds int64\n+\tIntervalSeconds     int64\n+\tMaxUnavailable      string\n+\tMaxSurge            string\n+\tImage               string\n+\tCommand             []string\n+\tEnvironment         []string\n+\n+\t// StatefulSet\n+\tPartition int32\n+}\n+\n+// NewCmdDeploymentStrategy implements the set deployment-strategy command\n+func NewCmdDeploymentStrategy(fullName string, f *clientcmd.Factory, out, errOut io.Writer) *cobra.Command {\n+\toptions := &DeploymentStrategyOptions{\n+\t\tOut: out,\n+\t\tErr: errOut,\n+\t}\n+\tcmd := &cobra.Command{\n+\t\tUse:     \"deployment-strategy RESOURCE --recreate|--rolling|--on-delete|--custom\",\n+\t\tShort:   \"Update a deployment strategy\",\n+\t\tLong:    deploymentStrategyLong,\n+\t\tExample: fmt.Sprintf(deploymentStrategyExample, fullName),\n+\t\tRun: func(cmd *cobra.Command, args []string) {\n+\t\t\tkcmdutil.CheckErr(options.Complete(f, cmd, args))\n+\t\t\tkcmdutil.CheckErr(options.Validate())\n+\t\t\tif err := options.Run(); err != nil {\n+\t\t\t\t// TODO: move me to kcmdutil\n+\t\t\t\tif err == kcmdutil.ErrExit {\n+\t\t\t\t\tos.Exit(1)\n+\t\t\t\t}\n+\t\t\t\tkcmdutil.CheckErr(err)\n+\t\t\t}\n+\t\t},\n+\t}\n+\n+\tkcmdutil.AddPrinterFlags(cmd)\n+\n+\tcmd.Flags().Int64Var(&options.TimeoutSeconds, \"timeout-seconds\", deployapi.DefaultRecreateTimeoutSeconds, \"The time to wait for updates before giving up.\")\n+\tcmd.Flags().Int64Var(&options.IntervalSeconds, \"interval-seconds\", deployapi.DefaultRollingIntervalSeconds, \"The time to wait between polling deployment status after update in rolling strategy.\")\n+\tcmd.Flags().Int64Var(&options.UpdatePeriodSeconds, \"update-period-seconds\", deployapi.DefaultRollingUpdatePeriodSeconds, \"The time to wait between individual pod updates in rolling strategy.\")\n+\tcmd.Flags().Int32Var(&options.Partition, \"partition\", 0, \"A number that indicates the ordinal at which the StatefulSet should be partitioned.\")\n+\tcmd.Flags().StringVar(&options.MaxUnavailable, \"max-unavailable\", \"\", \"The maximum number of pods that can be unavailable during the update in rolling strategy.\")\n+\tcmd.Flags().StringVar(&options.MaxSurge, \"max-surge\", \"\", \"The maximum number of pods that can be scheduled above the original number of pods in rolling strategy.\")\n+\tcmd.Flags().StringVar(&options.Image, \"image\", \"\", \"An image which can carry out a custom deployment strategy.\")\n+\tcmd.Flags().StringArrayVarP(&options.Environment, \"environment\", \"e\", options.Environment, \"Environment variables to use in the custom deployment pod\")\n+\n+\tcmd.Flags().BoolVar(&options.Recreate, \"recreate\", options.Recreate, \"Set a Recreate strategy\")\n+\tcmd.Flags().BoolVar(&options.Rolling, \"rolling\", options.Rolling, \"Set a Rolling strategy\")\n+\tcmd.Flags().BoolVar(&options.Custom, \"custom\", options.Custom, \"Set a Custom strategy\")\n+\tcmd.Flags().BoolVar(&options.OnDelete, \"on-delete\", options.OnDelete, \"Set a OnDelete strategy\")\n+\n+\tcmd.Flags().StringSliceVarP(&options.Filenames, \"filename\", \"f\", options.Filenames, \"Filename, directory, or URL to file to use to edit the resource.\")\n+\tcmd.Flags().BoolVar(&options.Local, \"local\", false, \"If true, set deployment hook will NOT contact api-server but run locally.\")\n+\tcmd.Flags().StringVarP(&options.Selector, \"selector\", \"l\", options.Selector, \"Selector (label query) to filter deployment configs\")","path":"pkg/oc/cli/cmd/set/deployment_strategy.go","position":126,"original_position":126,"commit_id":"656aac35fea2b65c7a94ded2fc33f3a92f8516c1","original_commit_id":"656aac35fea2b65c7a94ded2fc33f3a92f8516c1","user":{"login":"tnozicka","id":11869554,"avatar_url":"https://avatars2.githubusercontent.com/u/11869554?v=4","gravatar_id":"","url":"https://api.github.com/users/tnozicka","html_url":"https://github.com/tnozicka","followers_url":"https://api.github.com/users/tnozicka/followers","following_url":"https://api.github.com/users/tnozicka/following{/other_user}","gists_url":"https://api.github.com/users/tnozicka/gists{/gist_id}","starred_url":"https://api.github.com/users/tnozicka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tnozicka/subscriptions","organizations_url":"https://api.github.com/users/tnozicka/orgs","repos_url":"https://api.github.com/users/tnozicka/repos","events_url":"https://api.github.com/users/tnozicka/events{/privacy}","received_events_url":"https://api.github.com/users/tnozicka/received_events","type":"User","site_admin":false},"body":"not only deployment configs","created_at":"2017-11-27T12:10:36Z","updated_at":"2017-11-27T13:04:22Z","html_url":"https://github.com/openshift/origin/pull/17467#discussion_r153179310","pull_request_url":"https://api.github.com/repos/openshift/origin/pulls/17467","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/openshift/origin/pulls/comments/153179310"},"html":{"href":"https://github.com/openshift/origin/pull/17467#discussion_r153179310"},"pull_request":{"href":"https://api.github.com/repos/openshift/origin/pulls/17467"}}},"pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/17467","id":154790744,"html_url":"https://github.com/openshift/origin/pull/17467","diff_url":"https://github.com/openshift/origin/pull/17467.diff","patch_url":"https://github.com/openshift/origin/pull/17467.patch","issue_url":"https://api.github.com/repos/openshift/origin/issues/17467","number":17467,"state":"open","locked":false,"title":"WIP: oc: add set deployment-strategy command","user":{"login":"mfojtik","id":44136,"avatar_url":"https://avatars2.githubusercontent.com/u/44136?v=4","gravatar_id":"","url":"https://api.github.com/users/mfojtik","html_url":"https://github.com/mfojtik","followers_url":"https://api.github.com/users/mfojtik/followers","following_url":"https://api.github.com/users/mfojtik/following{/other_user}","gists_url":"https://api.github.com/users/mfojtik/gists{/gist_id}","starred_url":"https://api.github.com/users/mfojtik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfojtik/subscriptions","organizations_url":"https://api.github.com/users/mfojtik/orgs","repos_url":"https://api.github.com/users/mfojtik/repos","events_url":"https://api.github.com/users/mfojtik/events{/privacy}","received_events_url":"https://api.github.com/users/mfojtik/received_events","type":"User","site_admin":false},"body":"Adds `oc set deployment-strategy` command that allow to mutate deployment strategies and strategy options for all \"deployable\" resources (DC, DS, SS, Deployments).\r\n\r\nThis is still in progress, will need tests and some DRY polishing, but testable.\r\nIssue: https://github.com/openshift/origin/issues/17462 from @GrahamDumpleton \r\n\r\n@tnozicka @kargakis PTAL","created_at":"2017-11-27T11:55:43Z","updated_at":"2017-11-27T13:04:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1446ecaf838b84abe0f13f49f6ee9baae0ae668b","assignee":{"login":"juanvallejo","id":3902875,"avatar_url":"https://avatars2.githubusercontent.com/u/3902875?v=4","gravatar_id":"","url":"https://api.github.com/users/juanvallejo","html_url":"https://github.com/juanvallejo","followers_url":"https://api.github.com/users/juanvallejo/followers","following_url":"https://api.github.com/users/juanvallejo/following{/other_user}","gists_url":"https://api.github.com/users/juanvallejo/gists{/gist_id}","starred_url":"https://api.github.com/users/juanvallejo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juanvallejo/subscriptions","organizations_url":"https://api.github.com/users/juanvallejo/orgs","repos_url":"https://api.github.com/users/juanvallejo/repos","events_url":"https://api.github.com/users/juanvallejo/events{/privacy}","received_events_url":"https://api.github.com/users/juanvallejo/received_events","type":"User","site_admin":false},"assignees":[{"login":"fabianofranz","id":158611,"avatar_url":"https://avatars0.githubusercontent.com/u/158611?v=4","gravatar_id":"","url":"https://api.github.com/users/fabianofranz","html_url":"https://github.com/fabianofranz","followers_url":"https://api.github.com/users/fabianofranz/followers","following_url":"https://api.github.com/users/fabianofranz/following{/other_user}","gists_url":"https://api.github.com/users/fabianofranz/gists{/gist_id}","starred_url":"https://api.github.com/users/fabianofranz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabianofranz/subscriptions","organizations_url":"https://api.github.com/users/fabianofranz/orgs","repos_url":"https://api.github.com/users/fabianofranz/repos","events_url":"https://api.github.com/users/fabianofranz/events{/privacy}","received_events_url":"https://api.github.com/users/fabianofranz/received_events","type":"User","site_admin":false},{"login":"juanvallejo","id":3902875,"avatar_url":"https://avatars2.githubusercontent.com/u/3902875?v=4","gravatar_id":"","url":"https://api.github.com/users/juanvallejo","html_url":"https://github.com/juanvallejo","followers_url":"https://api.github.com/users/juanvallejo/followers","following_url":"https://api.github.com/users/juanvallejo/following{/other_user}","gists_url":"https://api.github.com/users/juanvallejo/gists{/gist_id}","starred_url":"https://api.github.com/users/juanvallejo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juanvallejo/subscriptions","organizations_url":"https://api.github.com/users/juanvallejo/orgs","repos_url":"https://api.github.com/users/juanvallejo/repos","events_url":"https://api.github.com/users/juanvallejo/events{/privacy}","received_events_url":"https://api.github.com/users/juanvallejo/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/openshift/origin/pulls/17467/commits","review_comments_url":"https://api.github.com/repos/openshift/origin/pulls/17467/comments","review_comment_url":"https://api.github.com/repos/openshift/origin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openshift/origin/issues/17467/comments","statuses_url":"https://api.github.com/repos/openshift/origin/statuses/656aac35fea2b65c7a94ded2fc33f3a92f8516c1","head":{"label":"mfojtik:set-deployment-strategy","ref":"set-deployment-strategy","sha":"656aac35fea2b65c7a94ded2fc33f3a92f8516c1","user":{"login":"mfojtik","id":44136,"avatar_url":"https://avatars2.githubusercontent.com/u/44136?v=4","gravatar_id":"","url":"https://api.github.com/users/mfojtik","html_url":"https://github.com/mfojtik","followers_url":"https://api.github.com/users/mfojtik/followers","following_url":"https://api.github.com/users/mfojtik/following{/other_user}","gists_url":"https://api.github.com/users/mfojtik/gists{/gist_id}","starred_url":"https://api.github.com/users/mfojtik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfojtik/subscriptions","organizations_url":"https://api.github.com/users/mfojtik/orgs","repos_url":"https://api.github.com/users/mfojtik/repos","events_url":"https://api.github.com/users/mfojtik/events{/privacy}","received_events_url":"https://api.github.com/users/mfojtik/received_events","type":"User","site_admin":false},"repo":{"id":22954249,"name":"origin","full_name":"mfojtik/origin","owner":{"login":"mfojtik","id":44136,"avatar_url":"https://avatars2.githubusercontent.com/u/44136?v=4","gravatar_id":"","url":"https://api.github.com/users/mfojtik","html_url":"https://github.com/mfojtik","followers_url":"https://api.github.com/users/mfojtik/followers","following_url":"https://api.github.com/users/mfojtik/following{/other_user}","gists_url":"https://api.github.com/users/mfojtik/gists{/gist_id}","starred_url":"https://api.github.com/users/mfojtik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfojtik/subscriptions","organizations_url":"https://api.github.com/users/mfojtik/orgs","repos_url":"https://api.github.com/users/mfojtik/repos","events_url":"https://api.github.com/users/mfojtik/events{/privacy}","received_events_url":"https://api.github.com/users/mfojtik/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mfojtik/origin","description":"OpenShift 3 - build, deploy, and manage your applications with Docker and Kubernetes","fork":true,"url":"https://api.github.com/repos/mfojtik/origin","forks_url":"https://api.github.com/repos/mfojtik/origin/forks","keys_url":"https://api.github.com/repos/mfojtik/origin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mfojtik/origin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mfojtik/origin/teams","hooks_url":"https://api.github.com/repos/mfojtik/origin/hooks","issue_events_url":"https://api.github.com/repos/mfojtik/origin/issues/events{/number}","events_url":"https://api.github.com/repos/mfojtik/origin/events","assignees_url":"https://api.github.com/repos/mfojtik/origin/assignees{/user}","branches_url":"https://api.github.com/repos/mfojtik/origin/branches{/branch}","tags_url":"https://api.github.com/repos/mfojtik/origin/tags","blobs_url":"https://api.github.com/repos/mfojtik/origin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mfojtik/origin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mfojtik/origin/git/refs{/sha}","trees_url":"https://api.github.com/repos/mfojtik/origin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mfojtik/origin/statuses/{sha}","languages_url":"https://api.github.com/repos/mfojtik/origin/languages","stargazers_url":"https://api.github.com/repos/mfojtik/origin/stargazers","contributors_url":"https://api.github.com/repos/mfojtik/origin/contributors","subscribers_url":"https://api.github.com/repos/mfojtik/origin/subscribers","subscription_url":"https://api.github.com/repos/mfojtik/origin/subscription","commits_url":"https://api.github.com/repos/mfojtik/origin/commits{/sha}","git_commits_url":"https://api.github.com/repos/mfojtik/origin/git/commits{/sha}","comments_url":"https://api.github.com/repos/mfojtik/origin/comments{/number}","issue_comment_url":"https://api.github.com/repos/mfojtik/origin/issues/comments{/number}","contents_url":"https://api.github.com/repos/mfojtik/origin/contents/{+path}","compare_url":"https://api.github.com/repos/mfojtik/origin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mfojtik/origin/merges","archive_url":"https://api.github.com/repos/mfojtik/origin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mfojtik/origin/downloads","issues_url":"https://api.github.com/repos/mfojtik/origin/issues{/number}","pulls_url":"https://api.github.com/repos/mfojtik/origin/pulls{/number}","milestones_url":"https://api.github.com/repos/mfojtik/origin/milestones{/number}","notifications_url":"https://api.github.com/repos/mfojtik/origin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mfojtik/origin/labels{/name}","releases_url":"https://api.github.com/repos/mfojtik/origin/releases{/id}","deployments_url":"https://api.github.com/repos/mfojtik/origin/deployments","created_at":"2014-08-14T13:11:47Z","updated_at":"2016-01-12T09:38:06Z","pushed_at":"2017-11-27T12:52:39Z","git_url":"git://github.com/mfojtik/origin.git","ssh_url":"git@github.com:mfojtik/origin.git","clone_url":"https://github.com/mfojtik/origin.git","svn_url":"https://github.com/mfojtik/origin","homepage":"https://openshift.github.io","size":923843,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"openshift:master","ref":"master","sha":"33c21b7484c9b3c5c81e1628fae75f48bd3b378d","user":{"login":"openshift","id":792337,"avatar_url":"https://avatars3.githubusercontent.com/u/792337?v=4","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"repo":{"id":22442668,"name":"origin","full_name":"openshift/origin","owner":{"login":"openshift","id":792337,"avatar_url":"https://avatars3.githubusercontent.com/u/792337?v=4","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openshift/origin","description":"Enterprise Kubernetes for Developers","fork":false,"url":"https://api.github.com/repos/openshift/origin","forks_url":"https://api.github.com/repos/openshift/origin/forks","keys_url":"https://api.github.com/repos/openshift/origin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openshift/origin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openshift/origin/teams","hooks_url":"https://api.github.com/repos/openshift/origin/hooks","issue_events_url":"https://api.github.com/repos/openshift/origin/issues/events{/number}","events_url":"https://api.github.com/repos/openshift/origin/events","assignees_url":"https://api.github.com/repos/openshift/origin/assignees{/user}","branches_url":"https://api.github.com/repos/openshift/origin/branches{/branch}","tags_url":"https://api.github.com/repos/openshift/origin/tags","blobs_url":"https://api.github.com/repos/openshift/origin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openshift/origin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openshift/origin/git/refs{/sha}","trees_url":"https://api.github.com/repos/openshift/origin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openshift/origin/statuses/{sha}","languages_url":"https://api.github.com/repos/openshift/origin/languages","stargazers_url":"https://api.github.com/repos/openshift/origin/stargazers","contributors_url":"https://api.github.com/repos/openshift/origin/contributors","subscribers_url":"https://api.github.com/repos/openshift/origin/subscribers","subscription_url":"https://api.github.com/repos/openshift/origin/subscription","commits_url":"https://api.github.com/repos/openshift/origin/commits{/sha}","git_commits_url":"https://api.github.com/repos/openshift/origin/git/commits{/sha}","comments_url":"https://api.github.com/repos/openshift/origin/comments{/number}","issue_comment_url":"https://api.github.com/repos/openshift/origin/issues/comments{/number}","contents_url":"https://api.github.com/repos/openshift/origin/contents/{+path}","compare_url":"https://api.github.com/repos/openshift/origin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openshift/origin/merges","archive_url":"https://api.github.com/repos/openshift/origin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openshift/origin/downloads","issues_url":"https://api.github.com/repos/openshift/origin/issues{/number}","pulls_url":"https://api.github.com/repos/openshift/origin/pulls{/number}","milestones_url":"https://api.github.com/repos/openshift/origin/milestones{/number}","notifications_url":"https://api.github.com/repos/openshift/origin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openshift/origin/labels{/name}","releases_url":"https://api.github.com/repos/openshift/origin/releases{/id}","deployments_url":"https://api.github.com/repos/openshift/origin/deployments","created_at":"2014-07-30T20:04:05Z","updated_at":"2017-11-27T08:37:57Z","pushed_at":"2017-11-27T12:53:13Z","git_url":"git://github.com/openshift/origin.git","ssh_url":"git@github.com:openshift/origin.git","clone_url":"https://github.com/openshift/origin.git","svn_url":"https://github.com/openshift/origin","homepage":"http://www.openshift.org","size":923231,"stargazers_count":3692,"watchers_count":3692,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2387,"mirror_url":null,"archived":false,"open_issues_count":1556,"forks":2387,"open_issues":1556,"watchers":3692,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openshift/origin/pulls/17467"},"html":{"href":"https://github.com/openshift/origin/pull/17467"},"issue":{"href":"https://api.github.com/repos/openshift/origin/issues/17467"},"comments":{"href":"https://api.github.com/repos/openshift/origin/issues/17467/comments"},"review_comments":{"href":"https://api.github.com/repos/openshift/origin/pulls/17467/comments"},"review_comment":{"href":"https://api.github.com/repos/openshift/origin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openshift/origin/pulls/17467/commits"},"statuses":{"href":"https://api.github.com/repos/openshift/origin/statuses/656aac35fea2b65c7a94ded2fc33f3a92f8516c1"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tnozicka"}}