Donkey is one of those words, like scarecrow, for which there are, or were, many different words, depending on where you live. It's a cuddy in Scotland, a nirrup or ranterpike in Dorset, a pronkus in Lincolnshire, a dicky in East Anglia, a yawney box in Derbyshire, a mokus in Devon and a fussock in parts of Yorkshire. Then there are the colloquialisms and abbreviations, such as donk, moke and neddy.
A Jerusalem, or Jerusalem pony, is another term for a donkey. The OED says this came about because Jesus rode into Jerusalem on an ass. Eric Partridge in his slang dictionary says that it is from rhyming slang - Jerusalem artichoke rhymes with moke and, in the tradition of Cockney rhyming slang, the second word, or second part of the phrase is omitted (as, for instance, 'have a butcher's', meaning 'look', where the full rhyming phrase is 'butcher's hook').
Partridge also has Jerusalem nightingale as another slang term for a donkey. The OED doesn't have this as such, but under 'nightingale' it says that animals with completely unmelodious voices are sometimes ironically termed nightingales (and donkeys, as well as frogs, appear in the citations).