refactor status api service and integrate with pr webhook