what was the reason it was fought?
In 1831, Mexican authorities lent the settlers of Gonzales a small cannon to help protect them from frequent Comanche raids.  Mexican troops in Texas, felt it unwise to leave the residents of Gonzales with a weapon and requested the return of the cannon and they refused to give the weapon.
Battle of Gonzales
In 1831, Mexican authorities lent the settlers of Gonzales a small cannon to help protect them from frequent Comanche raids. Over the next four years, the political situation in Mexico deteriorated, and in 1835 several states revolted. As the unrest spread, Colonel Domingo de Ugartechea, the commander of all Mexican troops in Texas, felt it unwise to leave the residents of Gonzales with a weapon and requested the return of the cannon.

where was the battle of gonzales located in texas Gonzales, Texas for how long did it run? UNANSWERABLE
wiki:7466685
Battle of Gonzales [SEP] Introduction
When the initial request was refused, Ugartechea sent 100 dragoons to retrieve the cannon. The soldiers neared Gonzales on September 29, but the colonists used a variety of excuses to keep them from the town, while secretly sending messengers to request assistance from nearby communities. Within two days, up to 140 Texians gathered in Gonzales, all determined not to give up the cannon. On October 1, settlers voted to initiate a fight. Mexican soldiers opened fire as Texians approached their camp in the early hours of October 2. After several hours of desultory firing, the Mexican soldiers withdrew.