The Republic of Ireland under-21 captain joined the club in 2016 and made his first-team debut in a League Cup tie against Barnet in 2017. He played in the next round against Bournemouth and was a regular in the under-23s.
The 20-year-old joined Championship side Millwall at the start of this season and has played 32 games for the Lions in league and cup.
Technical Director Dan Ashworth said: “The experiences Jayson has had in the tough environment of the Championship this season have really helped his overall game and we’re delighted that he is committing himself to the club so he can continue his development when he comes back to us at the end of the season.
“We have watched him regularly this season and I know how pleased everyone at Millwall has been with his performances and his attitude. The new contract is a reward for his professionalism and hard work and I’m sure he will be looking to make a big impact when he comes back to the club.”