public function execute(AMQPMessage $msg)
{
if ($this->logger) {
$this->logger->info('[GithubHookConsumer] Received a github post push hook');
}
if (null === ($message = json_decode($msg->body))) {
if ($this->logger) {
$this->logger->err('[GithubHookConsumer] Unable to decode payload');
}
return;
}
$payload = $message->payload;
$bundle = $this->manager->getRepository('KnpBundlesBundle:Bundle')->findOneBy(array('name' => $payload->repository->name, 'ownerName' => $payload->repository->owner->name));
if (!$bundle) {
if ($this->logger) {
$this->logger->warn(sprintf('[GithubHookConsumer] unknown bundle %s/%s', $payload->repository->name, $payload->repository->owner->name));
}
return;
}
$this->producer->publish(serialize(array('bundle_id' => $bundle->getId())));
}