Donaldson started his career with Hull City in 2002, scoring on his first-team debut in the Football League Trophy later that year.
He was sent out on loan to non-League clubs on four occasions, and with chances in the first team at Hull limited, he was released in 2005 and subsequently joined York City.
He joined Scottish Premier League club Hibernian in July 2007, after signing a pre-contract agreement with them in January whilst with York.
He spent three years with the club, helping them gain promotion into the Championship in 2013–14, before signing for Birmingham City at the end of that season when his contract expired.
He has since played in the lower league divisions of English football, with the likes of York, Gainsborough Trinity, and most recently, Farsley Celtic Donaldson played internationally for the England National Game XI, who represent England at non-League level, with whom he earned two caps, before accepting an invitation to represent Jamaica in 2015.
[13] He made his Football League debut for Hull on 8 February 2003, coming on as an 81st-minute substitute for Damien Delaney in a 1–0 defeat at home to Lincoln City.
[18] Having made his debut as a 58th-minute substitute for Jake Sagare in a 2–0 away defeat to Margate on 8 February 2004, Donaldson finished his spell at Halifax with four appearances.
[23] After his release by Hull, Donaldson was spoken to by Barrow,[24] but was signed by Conference National club York City on 23 June 2005, with manager Billy McEwan saying: "He's a young player who is very hungry for his chance and he'll bring competition up front".
Wolverhampton Wanderers manager Mick McCarthy watched him in York's 1–0 home victory over Altrincham, in which he scored his 12th goal of the season, on 5 November 2006.
[57] In the play-off semi-final second leg away to Morecambe on 7 May 2007, Donaldson collided with the onrushing opposition goalkeeper Steven Drench in the penalty area while trying to collect the ball.
[64] His first match back was his home debut against Motherwell in the Scottish League Cup on 26 September 2007,[61] starting in place of the injured Steven Fletcher.
[65] Donaldson scored in the 11th minute after a solo run, beating two defenders and shooting under goalkeeper Graeme Smith, although Hibs lost the match 4–2.
[66] He was linked with a move to League One club Crewe Alexandra in February 2008,[67] having been unable to figure in Mixu Paatelainen's plans at Hibs, meaning he was frozen out of the first team.
[69] Crewe were believed to be lining up a bid for him in July 2008, who had money available after selling striker Nicky Maynard to Bristol City for £2.25 million and held negotiations with Donaldson.
[72][73] Donaldson's move to League One club Crewe Alexandra was completed on 18 August 2008 on a three-year contract for an undisclosed six-figure fee.
[76] Donaldson's former club York made an attempt to re-sign him on loan in October 2008, but were told to make an inquiry four weeks later as he was injured.
[77] Despite this, he came on as a substitute in Crewe's 3–0 away defeat to Scunthorpe on 11 October 2008,[78] which was followed a week later by his first start in a 2–2 home draw with Milton Keynes Dons.
[79] He displayed the ability of long throw-ins, which he initially developed while in the Hull youth team, on several occasions, including a 3–2 home victory over Scunthorpe on 17 January 2009,[80] a match in which he also scored.
[83] His first appearance of 2010–11 came in the opening match, a 1–0 home defeat to Hereford on 7 August 2010,[84] in which he missed an early opportunity to score, shooting wide of the goal having been one-on-one with goalkeeper Adam Bartlett.
[91] After helping Brentford gain promotion into the Championship in 2013–14 as League One runners-up,[92] manager Mark Warburton confirmed that Donaldson would be offered a new contract with the club.
[100] Donaldson's "customary selfless performance" was rewarded with a two goals in a 3–1 away win over Nottingham Forest,[101] and a hat-trick against Wigan Athletic prompted thoughts of a 20-goal season.
[110] By the end of the season, which he finished as the club's top scorer with 11 goals from 40 league appearances as well as contributing 7 assists, he claimed to be "back to [his] normal self".
[109] Away to Wigan Athletic on 16 August 2016, Donaldson's penalty was saved, although the encroaching David Davis scored from the rebound to give Birmingham a lead they failed to protect.
[111] Two weeks later, he converted a penalty to open his account for the season before taking advantage of a defensive error to complete a 3–0 win over Norwich City.
He was stretchered off soon afterwards with an Achilles tendon injury which kept him out for three months, by which time the team were in a relegation battle under the management of Gianfranco Zola, who had taken over the day after the Ipswich match.
[116] He made four appearances, with only one start, before a knee injured in training forced him out until the last 20 minutes of the final match, away to Bristol City, in which he helped Birmingham defend a 1–0 lead to avoid relegation.
[119][120] Redknapp completely revamped the team during the last couple of weeks of the transfer window, bringing in two strikers and other attacking players, and late on deadline day, Donaldson moved on.
[122][123] After scoring both of his team's goals in a 2–1 away win against Sunderland on his debut on 9 September, Sheffield United manager Chris Wilder commented: "Not bad for 50 grand that, is it?
[144] He made his debut in this match, coming on as a substitute in the last 15 minutes, in which he set up Craig Mackail-Smith for the final goal of a 4–1 victory.
[145] This result meant England won the inaugural European Challenge Trophy, topping the table with maximum points.