Born in Bath, Somerset, O'Leary began his career with Bristol City. He was first included in a matchday squad on 22 October 2013, remaining an unused substitute in a 2–1 home loss to Brentford.
On 9 January 2016, O'Leary was on the bench in a Bristol City squad with only six substitutes due to squad depletion. He came on at half time in the 2–2 draw away to West Bromwich Albion in the FA Cup third round, replacing the injured Frank Fielding.
O'Leary joined National League side Kidderminster Harriers on 18 March 2016, on loan until the end of the season. He was recalled a month later when Fielding was ruled out with injury for the rest of the season.
On 26 August 2016, O'Leary joined National League South side Bath City on loan until 31 January 2017. His spell at his hometown club was extended to the end of the season.
O'Leary joined National League side Solihull Moors on loan on 24 November 2017, until the following 6 January, but was recalled on 1 January 2018 due to Fielding being suspended. O'Leary eventually rejoined Solihull on loan until the end of the season, once Fielding had returned from his suspension.
In July 2018, O'Leary signed a new three-year deal with the option of a fourth at Bristol City. On 17 October, manager Lee Johnson announced O'Leary would make his full league debut in the following weekend fixture away at Brentford. He kept a clean sheet in the 1–0 win at Griffin Park on 20 October.
On 5 July 2019, O'Leary signed for League One side Shrewsbury Town on a one-year loan.
On 25 May 2019, O'Leary was called up to the Republic of Ireland national team for the first time to replace the injured Mark Travers, ahead of UEFA Euro 2020 qualifying matches against Denmark and Gibraltar, qualifying through a Kerry-born grandfather. On 24 March 2022, he was called into the squad for their friendly matches against Belgium and Lithuania following injuries to Gavin Bazunu and Mark Travers.
Taken from wikipedia