Contact remote repository to get clone url and other parameters
Take advantage of newer merge request json format if present
Return empty strings for absent payload keys
Abstract common ancestor for classic & merge request payloads