Emular los ganchos de service github con rizos

Tengo un service para escuchar los ganchos de service github, para realizar una implementación automática. A veces necesito activar esto manualmente (sin la intervención de Github). Para eso, estoy emulando la request POST que github está enviando (URL posteriores a la recepción).

Mis datos ( my.json ) se ven así (un subset limitado de lo que github está enviando, no necesito más):

 { "action" : "deploy_from_scratch_with_bundle", "pusher" : { "email" : "my@email.com" }, "ref" : "refs/heads/master" } 

Y trato de PUBLICAR con curl:

 curl -X POST $URL --data-urlencode "@my.json" --header "Content-Type: application/x-www-form-urlencoded" 

El problema es que github está PUBLICANDO así:

 payload=%7B%22pusher%22%3A%7B%22name%22%3A%22none%22%7D%2C%22repository%22%3 A%7B%22name%22%3A%liferay-plugins%22%2C%22created_at%22%3A%222011%2F12%2F07%2011%3A52... 

¿Ves esa payload= allí? Esto parece un campo de formulario. No sé cómo combinar campos de formulario con urlencoding. Para PUBLICAR campos de formulario, lo haría así:

 curl -X POST $URL -F "payload=@my.json" 

Pero el JSON no estaría codificado en url. ¿Cómo puedo get ambos?

curl $URL --data-urlencode payload@my.json