Job shop scheduling problems with setup times arise in many practical situations such as aerospace industries, fabrication industries, printing industries and semiconductor manufacturing industries. This is the first article which provides a comprehensive review of the literature on job shop scheduling research involving setup times. The literature is classified into two broad categories, namely, job shop scheduling problems with non-batch (job) setup times and job shop scheduling problems with batch setup times. The two categories are subcategorized into problems with sequence-dependent setup times and sequence-independent setup times and review the exact, hybrid and heuristic solution methods used for each subcategory. Furthermore, it summarizes the existing research and identifies directions for future research.