Oi Felipe,
pelo que sei, para executar uma construção quando há uma alteração no repo, é preciso definir um webhook no github.
Em outras palavras, o github percebe que houve uma alteração e notifica o Jenkins que agenda um build. Existem vários evento (como pull_request ou push) que podem ser o gatilho para essa notificação:
https://developer.github.com/webhooks/
O problema é que o seu Jenkins precisa de uma IP publica para receber a requisição do Github quando acontece um evento. Pelo que eu li muita gente usa a ferramenta ngrok para "gerar" uma IP publica de um Jenkins local, mas nunca testei.
https://ngrok.com/
Tudo bem?
abs