He represented Prince Albert County and then Shellbrook in the Legislative Assembly of Saskatchewan from 1905 to 1915 as a Provincial Rights-Conservative MLA and Prince Albert in the House of Commons of Canada from 1915 to 1917 as a Conservative MP.
In 1876, joined the North-West Mounted Police and travelled west to Pelly, Saskatchewan.
Donaldson was a member of the force from 1876 to 1882, serving in Battleford, Prince Albert and Qu'Appelle.
He was elected to the House of Commons in a 1915 by-election held after James McKay was named to the bench.
During World War I, Donaldson was lieutenant-colonel for the 188th Battalion, Canadian Expeditionary Force.