McMillan was born in 1825 in Clark County, Kentucky, and moved quite a bit throughout his early life.[1] McMillan was in Illinois in 1846, and volunteered for service during the Mexican–American War. By June 20 he was a sergeant in the 4th Illinois Infantry Regiment, and was discharged on October 13. Afterwards in 1848, McMillan enlisted as a private in the 3rd Battalion of the Louisiana Infantry on April 29, and he was discharged on July 13.[2] After hostilities ended, McMillan moved to Indiana, where he engaged in various businesses all over the state.[1]
After the action at Baton Rouge, McMillan's regiment was posted at Berwick Bay, near the end of the Atchafalaya River, until February 1863. At that time the 21st Indiana converted to the 1st Indiana Heavy Artillery.[2] McMillan had been promoted to brigadier general on November 29 of the previous year,[1] and with this rank McMillan held brigade and at times divisional command in the XIX Corps from March 1863 to May 1864. He then participated in the Red River Campaign in the spring of 1864, fighting notably in the Battle of Mansfield on April 8, as well as partaking in the Battle of Monett's Ferry on April 23. During the Battle of Mansfield at De Soto Parish, Louisiana, McMillan and the rest of the 1st Division were able to provide a steady line to rally on for the near-panicking Union retreat.[1]
That July, the XIX Corps was sent east to the Valley of Virginia, ordered to join Maj. Gen. Philip Sheridan's Army of the Shenandoah that was assembling there. During that campaign, McMillan and his division fought in the Battle of Winchester on September 19, where he was wounded when a shell fragment hit him in the head. On October 19, McMillan fought with distinction during the Battle of Cedar Creek, where he again arranged his men to rally fleeing Union soldiers, providing a place to regroup for the coming rout of Lt. Gen.Jubal A. Early's Confederate forces.[1]
After the campaign in the Valley, McMillan was ordered to lead a "provisional" or temporary division in March 1865, with his headquarters in Grafton, West Virginia, until the end of the war that April.[1] McMillan was appointed a brevetmajor general on March 5 for his war service, and resigned from the Union Army on May 15.[2]
Postbellum
After resigning, McMillan relocated to Kansas. In 1875, he moved to Washington, D.C., to begin serving as a member of the Pension Bureau review board, a post he held until 1903. James McMillan died there on March 9, 1903[3] in Washington, and was buried with full military honors in Arlington National Cemetery in Virginia.[1][2]