internal OctopusCustomHeaders(string requestingTool = null)
        {
            var systemInformation = string.Join("; ", environmentHelper.SafelyGetEnvironmentInformation());

            var automationContext = automationEnvironmentProvider.DetermineAutomationEnvironmentWithVersion();

            if (!string.IsNullOrWhiteSpace(requestingTool))
            {
                automationContext += $" {requestingTool}";
            }

            var version = typeof(OctopusCustomHeaders).GetSemanticVersion();

            UserAgent = $"{ApiConstants.OctopusUserAgentProductName}/{version.ToNormalizedString()} ({systemInformation}) {automationContext}";
        }