{"action":"created","issue":{"url":"https://api.github.com/repos/openSUSE/open-build-service/issues/5326","repository_url":"https://api.github.com/repos/openSUSE/open-build-service","labels_url":"https://api.github.com/repos/openSUSE/open-build-service/issues/5326/labels{/name}","comments_url":"https://api.github.com/repos/openSUSE/open-build-service/issues/5326/comments","events_url":"https://api.github.com/repos/openSUSE/open-build-service/issues/5326/events","html_url":"https://github.com/openSUSE/open-build-service/pull/5326","id":338978705,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5Nzc3NzAy","number":5326,"title":"[api] Implement GitHub webhooks","user":{"login":"ChrisBr","id":3799140,"node_id":"MDQ6VXNlcjM3OTkxNDA=","avatar_url":"https://avatars1.githubusercontent.com/u/3799140?v=4","gravatar_id":"","url":"https://api.github.com/users/ChrisBr","html_url":"https://github.com/ChrisBr","followers_url":"https://api.github.com/users/ChrisBr/followers","following_url":"https://api.github.com/users/ChrisBr/following{/other_user}","gists_url":"https://api.github.com/users/ChrisBr/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisBr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisBr/subscriptions","organizations_url":"https://api.github.com/users/ChrisBr/orgs","repos_url":"https://api.github.com/users/ChrisBr/repos","events_url":"https://api.github.com/users/ChrisBr/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisBr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-07-06T15:21:21Z","updated_at":"2018-07-10T06:34:55Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/openSUSE/open-build-service/pulls/5326","html_url":"https://github.com/openSUSE/open-build-service/pull/5326","diff_url":"https://github.com/openSUSE/open-build-service/pull/5326.diff","patch_url":"https://github.com/openSUSE/open-build-service/pull/5326.patch"},"body":"GitHub announced the deprecation of GitHub services (on January 31, 2019 GitHub\r\nwill stop delivering services events).\r\nWebHooks are designed different than services, therefore it was necessary to\r\nimplement a dedicated controller for that.\r\nUnlike the OBS GitHub service, webhooks do not deliver the token anymore\r\nin the HTTP Header. Because of that it is not possible to compare\r\nthe tokens anymore as part of the authentication process.\r\n\r\nWebHooks instead use the token to generate a signature delivered\r\nin the HTTP_X_HUB_SIGNATURE header.\r\nThe authentication process is now to calculate a signature for\r\nthe HTTP post body and compare the signatures.\r\nTo make this possible, it is required now to send the token ID\r\nas HTTP parameter.\r\nThis PR introduces the new route:\r\n'trigger/service/github?id=42'\r\n\r\nhttps://developer.github.com/changes/2018-04-25-github-services-deprecation/\r\nhttps://developer.github.com/webhooks/securing/"},"comment":{"url":"https://api.github.com/repos/openSUSE/open-build-service/issues/comments/403716140","html_url":"https://github.com/openSUSE/open-build-service/pull/5326#issuecomment-403716140","issue_url":"https://api.github.com/repos/openSUSE/open-build-service/issues/5326","id":403716140,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMzcxNjE0MA==","user":{"login":"adrianschroeter","id":1067148,"node_id":"MDQ6VXNlcjEwNjcxNDg=","avatar_url":"https://avatars3.githubusercontent.com/u/1067148?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianschroeter","html_url":"https://github.com/adrianschroeter","followers_url":"https://api.github.com/users/adrianschroeter/followers","following_url":"https://api.github.com/users/adrianschroeter/following{/other_user}","gists_url":"https://api.github.com/users/adrianschroeter/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianschroeter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianschroeter/subscriptions","organizations_url":"https://api.github.com/users/adrianschroeter/orgs","repos_url":"https://api.github.com/users/adrianschroeter/repos","events_url":"https://api.github.com/users/adrianschroeter/events{/privacy}","received_events_url":"https://api.github.com/users/adrianschroeter/received_events","type":"User","site_admin":false},"created_at":"2018-07-10T06:34:55Z","updated_at":"2018-07-10T06:34:55Z","author_association":"MEMBER","body":"@Conan-Kudo this code is github specific, so an own route makes sense."}}
{"actor":{"display_login":"adrianschroeter"}}