Sometimes the check_run event contains pull_request with unexpected datas “pull_requests > base > repo > owner > login” but the documentation says we should not have the “owner > login” part of the json.
Sometimes the check_run event does not contains those extra datas so the API is not “consistent” accross time. I don’t know why, maybe it is because the event origin is different. But still, the datas sent by the API should respect the content of its documentation and / or the documentation should reflect the behavior of the API nope ?
Hope that helps