James Shaw in hospital after attack

A 47-year-old man has been arrested over an attack on Green Party-co-leader James Shaw.

Shaw, 45, was attacked in Wellington on his way to Parliament on Thursday. A spokesperson said he was grabbed and hit in the face by one person.

Two members of the public helped him, and the spokesperson said Shaw is "very thankful for their assistance".

Newshub understands Shaw has bruising around his eye from the incident. 

Wellington police Snr Sgt Matthew Morris said on Thursday the assault took place at around 7:50am outside the entrance to the Botanical Gardens in Wellington.

"We understand members of the public have assisted the victim and we believe there may also be other witnesses to the incident," he said.

The Climate Change Minister went to hospital for a precautionary check-up, despite turning up to work "chipper", his spokesperson told Newshub.

Shaw has received messages of support from politicians on both sides of the spectrum, with National leader Simon Bridges saying on Twitter: "Violence is never ok. From myself and the National Party we wish James Shaw a fast recovery."

Prime Minister Jacinda Ardern addressed the issue from Ashburton on Thursday, telling media: "I've been advised this morning that James Shaw was attacked on his way to work in an unprovoked attack.

"I have had an opportunity to speak to Mr Shaw and whilst he of course he says that he is well, of course this is an incredibly unprovoked, surprising thing to have happened and obviously completely caught him off guard."

When asked if security for ministers needs to be increased, Ms Ardern said: "We've always been proud of the fact that in New Zealand we are accessible, and I think politicians like to be accessible - we're here to serve people after all.

"But I don't think we can take that for granted."

In a statement, the Prime Minister said: "When you go into politics in New Zealand you just don't expect these things to happen, and I know it will be especially challenging for loved ones.

"I think all of us will probably be united in wanting to ensure we have the kind of political environment where everyone can hold their views, but they can do that safely."

Wellington police have asked anyone with information to call (04) 381 2000 or Crimestoppers on 0800 555 111.