Gregory was first elected to Londonderry City Council in 1981 and represented the Waterside DEA until he stepped down in March 2011. During this time, he served as the DUP Group Leader on the Council.
Gregory was also elected to the 1982 Assembly representing Co Londonderry, and the Northern Ireland Forum for Political Dialogue in 1996. He has been the Security spokesman for the DUP since 1994.
Gregory was elected as a member of the Northern Ireland Assembly in 1998 representing the East Londonderry constituency and has been re-elected on every occasion since. He served as the Minister for Regional Development from July 2000 until September 2001. He also served as the Minister for Culture, Arts and Leisure from June 2008 until June 2009. He remained a member of the Assembly until he stepped down at the 2016 Assembly election.
Gregory also represents the Party on the Social Development Committee, Assembly and Executive Review Committee as well as the All-Party Group on Disability.
Gregory was elected as the Member of Parliament for East Londonderry in 2001 and re-elected in 2005, 2010, 2015, 2017 and 2019.
Gregory is currently the DUP spokesperson on International Development and the Cabinet Office. He also sits on the Northern Ireland Affairs Committee.