The team will hold a press conference tomorrow to announce the deal.
The contract comes just a day after Happ won the job as the team's fifth starter in the pitching rotation. This spring he has posted a 1.89 ERA in 19 innings.
Happ, 30, had a 10-11 record with 4.79 ERA between the Houston Astros and Blue Jays in 2012. He struck out 144 batters in 144.2 innings.