Donaldson speelde in de jeugdopleiding van Livingston en tekende op 17 januari 2013 zijn eerste professionele contract bij de club. Later die maand was hij op trainingsstage bij Manchester United. Op 30 maart 2013 maakte hij zijn debuut voor Livingston. Tijdens een duel tegen Dunfermline Athletic (2–2) kwam hij vijf minuten voor tijd binnen de lijnen. In december 2013 ging Donaldson op proef bij Queens Park Rangers. De Londense club was dermate overtuigd van zijn kwaliteiten, dat ze hem een maand later aantrok. Op 3 mei 2014 maakte hij zijn debuut voor QPR, in een wedstrijd in de Championship tegen Barnsley. Het bleef zijn enige wedstrijd in de hoofdmacht van de club in anderhalf jaar tijd. Donaldson tekende in juli 2015 vervolgens een contract tot medio 2018 bij Dundee United, de nummer vijf van de Scottish Premier League in het voorgaande seizoen. Dat lijfde hem transfervrij in nadat QPR zijn contract ontbond.[1] Twee jaar na zijn komst naar Dundee werd Donaldson transfervrij aangetrokken door Inverness Caledonian Thistle. In januari 2020 verkaste hij naar Ross County.[2] Donaldson werd in januari 2022 voor een half seizoen gehuurd door Dunfermline Athletic.[3] Na deze verhuurperiode mocht de verdediger definitief vertrekken bij Inverness en hierop tekende hij voor twee seizoenen bij Falkirk.[4]