The former UFC two-division champion appeared in Dublin District Court, where he admitted to punching a man at the Marble Arch Pub in Dublin on April 6.
"I assure you nothing of this nature will happen again regarding me," McGregor told the court.
Security footage captured the incident in which McGregor attempted to buy several patrons glasses of a whiskey he was promoting. One man apparently refused twice, prompting McGregor to slam a shot glass before punching him with a left jab, ESPN reported.
"That man deserved to enjoy his time in the pub without having it end the way it did," McGregor told the sports website. "I tried to make amends, and I made amends back then. But it doesn't matter. I was in the wrong. I must come here before you and take accountability and take responsibility."
McGregor's attorney asked the court to show leniency for the mixed martial arts fighter, saying a criminal conviction could lead to visa issues should he need to travel to the United States where most of his fights are staged.
The 31-year-old has had a string of legal issues in recent years. In March, he was arrested in Florida for allegedly taking a man’s phone and smashing it on the ground. The charges were later dismissed. He pleaded guilty to disorderly conduct last year for his role in a backstage melee and bus attack at the Barclays Center in New York.