{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/test-infra/issues/5606","repository_url":"https://api.github.com/repos/kubernetes/test-infra","labels_url":"https://api.github.com/repos/kubernetes/test-infra/issues/5606/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/test-infra/issues/5606/comments","events_url":"https://api.github.com/repos/kubernetes/test-infra/issues/5606/events","html_url":"https://github.com/kubernetes/test-infra/pull/5606","id":275473465,"number":5606,"title":"Refactor label sync for deleting, migrating labels","user":{"login":"fejta","id":940341,"avatar_url":"https://avatars2.githubusercontent.com/u/940341?v=4","gravatar_id":"","url":"https://api.github.com/users/fejta","html_url":"https://github.com/fejta","followers_url":"https://api.github.com/users/fejta/followers","following_url":"https://api.github.com/users/fejta/following{/other_user}","gists_url":"https://api.github.com/users/fejta/gists{/gist_id}","starred_url":"https://api.github.com/users/fejta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fejta/subscriptions","organizations_url":"https://api.github.com/users/fejta/orgs","repos_url":"https://api.github.com/users/fejta/repos","events_url":"https://api.github.com/users/fejta/events{/privacy}","received_events_url":"https://api.github.com/users/fejta/received_events","type":"User","site_admin":false},"labels":[{"id":484580953,"url":"https://api.github.com/repos/kubernetes/test-infra/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":{"login":"cjwagner","id":5334145,"avatar_url":"https://avatars3.githubusercontent.com/u/5334145?v=4","gravatar_id":"","url":"https://api.github.com/users/cjwagner","html_url":"https://github.com/cjwagner","followers_url":"https://api.github.com/users/cjwagner/followers","following_url":"https://api.github.com/users/cjwagner/following{/other_user}","gists_url":"https://api.github.com/users/cjwagner/gists{/gist_id}","starred_url":"https://api.github.com/users/cjwagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjwagner/subscriptions","organizations_url":"https://api.github.com/users/cjwagner/orgs","repos_url":"https://api.github.com/users/cjwagner/repos","events_url":"https://api.github.com/users/cjwagner/events{/privacy}","received_events_url":"https://api.github.com/users/cjwagner/received_events","type":"User","site_admin":false},"assignees":[{"login":"lukaszgryglicki","id":2469783,"avatar_url":"https://avatars2.githubusercontent.com/u/2469783?v=4","gravatar_id":"","url":"https://api.github.com/users/lukaszgryglicki","html_url":"https://github.com/lukaszgryglicki","followers_url":"https://api.github.com/users/lukaszgryglicki/followers","following_url":"https://api.github.com/users/lukaszgryglicki/following{/other_user}","gists_url":"https://api.github.com/users/lukaszgryglicki/gists{/gist_id}","starred_url":"https://api.github.com/users/lukaszgryglicki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukaszgryglicki/subscriptions","organizations_url":"https://api.github.com/users/lukaszgryglicki/orgs","repos_url":"https://api.github.com/users/lukaszgryglicki/repos","events_url":"https://api.github.com/users/lukaszgryglicki/events{/privacy}","received_events_url":"https://api.github.com/users/lukaszgryglicki/received_events","type":"User","site_admin":false},{"login":"cjwagner","id":5334145,"avatar_url":"https://avatars3.githubusercontent.com/u/5334145?v=4","gravatar_id":"","url":"https://api.github.com/users/cjwagner","html_url":"https://github.com/cjwagner","followers_url":"https://api.github.com/users/cjwagner/followers","following_url":"https://api.github.com/users/cjwagner/following{/other_user}","gists_url":"https://api.github.com/users/cjwagner/gists{/gist_id}","starred_url":"https://api.github.com/users/cjwagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjwagner/subscriptions","organizations_url":"https://api.github.com/users/cjwagner/orgs","repos_url":"https://api.github.com/users/cjwagner/repos","events_url":"https://api.github.com/users/cjwagner/events{/privacy}","received_events_url":"https://api.github.com/users/cjwagner/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2017-11-20T19:38:39Z","updated_at":"2017-11-20T19:38:44Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/kubernetes/test-infra/pulls/5606","html_url":"https://github.com/kubernetes/test-infra/pull/5606","diff_url":"https://github.com/kubernetes/test-infra/pull/5606.diff","patch_url":"https://github.com/kubernetes/test-infra/pull/5606.patch"},"body":"Create an unused label section in the labels.yaml\r\n\r\nRefactor label_sync/main.go:\r\n* `Label` includes a `Previously` tree field to track previous versions of the label\r\n* `Label` includes a `DeleteAfter` time to delete retired labels\r\n* Replace `--org` with a comma-separated list of `--orgs`\r\n* Remove the `--dump*` and `--local` flags\r\n* Add a comma-separated list of repos to `--skip` (blacklist)\r\n* Add a comma-separated list of repos to `--only` process, instead of all of them (whitelist)\r\n* Replace a bunch of `structs` which just held a single type with that type\r\n* Remove named return parameters and naked returns.\r\n* Fix prow client to rename labels correctly\r\n* Changes to sync behavior:\r\n  * Fix support for correcting the case of an issue name\r\n  * Add support for migrating an issue to the current name (previous name exists, current doesn't)\r\n  * Add support for migrating all issues to the current name (previous and current names exist)\r\n  * Add support for deleting a label (DeleteAfter is set and is in the past)\r\n\r\n/assign @lukaszgryglicki @cjwagner \r\n\r\n\r\nhttps://docs.google.com/document/d/19APxy9WQ28FAuSAGUS0gFGX_-1BdZfDvudxDZwKTJv4/edit\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/test-infra/issues/comments/345805826","html_url":"https://github.com/kubernetes/test-infra/pull/5606#issuecomment-345805826","issue_url":"https://api.github.com/repos/kubernetes/test-infra/issues/5606","id":345805826,"user":{"login":"k8s-ci-robot","id":20407524,"avatar_url":"https://avatars0.githubusercontent.com/u/20407524?v=4","gravatar_id":"","url":"https://api.github.com/users/k8s-ci-robot","html_url":"https://github.com/k8s-ci-robot","followers_url":"https://api.github.com/users/k8s-ci-robot/followers","following_url":"https://api.github.com/users/k8s-ci-robot/following{/other_user}","gists_url":"https://api.github.com/users/k8s-ci-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-ci-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-ci-robot/subscriptions","organizations_url":"https://api.github.com/users/k8s-ci-robot/orgs","repos_url":"https://api.github.com/users/k8s-ci-robot/repos","events_url":"https://api.github.com/users/k8s-ci-robot/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-ci-robot/received_events","type":"User","site_admin":false},"created_at":"2017-11-20T19:38:44Z","updated_at":"2017-11-20T19:38:44Z","author_association":"CONTRIBUTOR","body":"[APPROVALNOTIFIER] This PR is **APPROVED**\n\nThis pull-request has been approved by: *<a href=\"https://github.com/kubernetes/test-infra/pull/5606#\" title=\"Author self-approved\">fejta</a>*\n\nThe full list of commands accepted by this bot can be found [here](https://github.com/kubernetes/test-infra/blob/master/commands.md).\n\n<details >\nNeeds approval from an approver in each of these OWNERS Files:\n\n- ~~[OWNERS](https://github.com/kubernetes/test-infra/blob/master/OWNERS)~~ [fejta]\n\nYou can indicate your approval by writing `/approve` in a comment\nYou can cancel your approval by writing `/approve cancel` in a comment\n</details>\n<!-- META={\"approvers\":[]} -->"}}
{"actor":{"display_login":"k8s-ci-robot"}}