{"action":"created","issue":{"url":"https://api.github.com/repos/jenkinsci/git-plugin/issues/498","repository_url":"https://api.github.com/repos/jenkinsci/git-plugin","labels_url":"https://api.github.com/repos/jenkinsci/git-plugin/issues/498/labels{/name}","comments_url":"https://api.github.com/repos/jenkinsci/git-plugin/issues/498/comments","events_url":"https://api.github.com/repos/jenkinsci/git-plugin/issues/498/events","html_url":"https://github.com/jenkinsci/git-plugin/pull/498","id":232683831,"number":498,"title":"Call User.getById when available","user":{"login":"jglick","id":154109,"avatar_url":"https://avatars2.githubusercontent.com/u/154109?v=3","gravatar_id":"","url":"https://api.github.com/users/jglick","html_url":"https://github.com/jglick","followers_url":"https://api.github.com/users/jglick/followers","following_url":"https://api.github.com/users/jglick/following{/other_user}","gists_url":"https://api.github.com/users/jglick/gists{/gist_id}","starred_url":"https://api.github.com/users/jglick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jglick/subscriptions","organizations_url":"https://api.github.com/users/jglick/orgs","repos_url":"https://api.github.com/users/jglick/repos","events_url":"https://api.github.com/users/jglick/events{/privacy}","received_events_url":"https://api.github.com/users/jglick/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-05-31T20:20:42Z","updated_at":"2017-06-26T16:35:01Z","closed_at":"2017-06-09T19:06:27Z","pull_request":{"url":"https://api.github.com/repos/jenkinsci/git-plugin/pulls/498","html_url":"https://github.com/jenkinsci/git-plugin/pull/498","diff_url":"https://github.com/jenkinsci/git-plugin/pull/498.diff","patch_url":"https://github.com/jenkinsci/git-plugin/pull/498.patch"},"body":"See [this thread dump](https://gist.githubusercontent.com/rtyler/b4cfc39b3f4c1a04a5eccfed33919c43/raw/8dbeee9bc3e8fb16c6f7962c319dc95384a84f2c/20170531-170749.236.txt) for example.\r\n\r\nPicks up https://github.com/jenkinsci/jenkins/commit/49d10a9034b280b5e59535519c3f0d12d96c9f2d where available, bypassing `User.FullNameIdResolver` and thus `getAll`.\r\n\r\n@reviewbybees"},"comment":{"url":"https://api.github.com/repos/jenkinsci/git-plugin/issues/comments/311112940","html_url":"https://github.com/jenkinsci/git-plugin/pull/498#issuecomment-311112940","issue_url":"https://api.github.com/repos/jenkinsci/git-plugin/issues/498","id":311112940,"user":{"login":"jglick","id":154109,"avatar_url":"https://avatars2.githubusercontent.com/u/154109?v=3","gravatar_id":"","url":"https://api.github.com/users/jglick","html_url":"https://github.com/jglick","followers_url":"https://api.github.com/users/jglick/followers","following_url":"https://api.github.com/users/jglick/following{/other_user}","gists_url":"https://api.github.com/users/jglick/gists{/gist_id}","starred_url":"https://api.github.com/users/jglick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jglick/subscriptions","organizations_url":"https://api.github.com/users/jglick/orgs","repos_url":"https://api.github.com/users/jglick/repos","events_url":"https://api.github.com/users/jglick/events{/privacy}","received_events_url":"https://api.github.com/users/jglick/received_events","type":"User","site_admin":false},"created_at":"2017-06-26T16:35:01Z","updated_at":"2017-06-26T16:35:01Z","body":"My reading of the code was that `csAuthor` would be for example `Jesse Glick` whereas `csAuthorEmail` would be for example `jglick@cloudbees.com`; thus in the default mode, `User.get(\"Jesse Glick\", false)` would have correctly found my user account with (say) `id` of `jglick` assuming my `fullName` were in fact `Jesse Glick`, but would no longer do so after this PR.\r\n\r\n(The performance was poor but if that is what we have to do in order to get correct results then any optimizations would have to lie elsewhere. The request `…/lastBuild/api/json?building,…,changeSet[items[author[fullName]]]` was inadvertently using the default `depth`, when presumably `…/lastBuild/api/json?tree=building,…,changeSet[items[author[fullName]]]` was meant; either way, if the server is not configured to reject REST requests generally, we would need to be calculating this information. And currently `User.getAll` rescans disk every 10s.)"}}
{"actor":{"display_login":"jglick"}}