General Motors is to take on almost 300 workers and spend US$545 million on five Michigan plants.