public void InitializeServer(VssConnection connection) { ArgUtil.NotNull(connection, nameof(connection)); _connection = connection; FeatureAvailabilityHttpClient featureAvailabilityHttpClient = connection.GetClient <FeatureAvailabilityHttpClient>(); if (GetFeatureFlagState(featureAvailabilityHttpClient, EnablePublishToTcmServiceDirectlyFromTaskFF)) { TestHttpClient = connection.GetClient <TestResultsHttpClient>(); } else { TestHttpClient = connection.GetClient <TestManagementHttpClient>(); } }
private static bool GetFeatureFlagState(FeatureAvailabilityHttpClient featureAvailabilityHttpClient, string FFName) { try { var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(FFName).Result; if (featureFlag != null && featureFlag.EffectiveState.Equals("On", StringComparison.OrdinalIgnoreCase)) { return(true); } } finally { } return(false); }
public bool GetFeatureFlagState(string featureFlagName, Guid serviceInstanceId) { try { FeatureAvailabilityHttpClient featureAvailabilityHttpClient = _connection.GetClient <FeatureAvailabilityHttpClient>(serviceInstanceId); var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(featureFlagName).Result; if (featureFlag != null && featureFlag.EffectiveState.Equals("On", StringComparison.OrdinalIgnoreCase)) { return(true); } } catch { _executionContext.Debug(StringUtil.Format("Failed to get FF {0} Value.", featureFlagName)); } return(false); }
public static bool GetFeatureFlagState(FeatureAvailabilityHttpClient featureAvailabilityHttpClient, string FFName, IAsyncCommandContext context) { try { var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(FFName).Result; if (featureFlag != null && featureFlag.EffectiveState.Equals("Off", StringComparison.OrdinalIgnoreCase)) { return(false); } } catch { context.Debug(StringUtil.Format("Failed to get FF {0} Value. By default, publishing data to TCM.", FFName)); return(true); } return(true); }
private static bool GetFeatureFlagState(IExecutionContext executionContext, VssConnection connection, string FFName) { try { FeatureAvailabilityHttpClient featureAvailabilityHttpClient = connection.GetClient <FeatureAvailabilityHttpClient>(TFSServiceInstanceGuid); var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(FFName).Result; if (featureFlag != null && featureFlag.EffectiveState.Equals("On", StringComparison.OrdinalIgnoreCase)) { return(true); } } catch (Exception ex) { executionContext.Output("Unable to get the FF: " + EnablePublishToTcmServiceDirectlyFromTaskFF + ". Reason: " + ex.Message); } return(false); }
private FeatureAvailabilityHttpClient GetClient(bool isTcmFeature) { if (isTcmFeature) { if (_featureAvailabilityTcmHttpClient == null) { _featureAvailabilityTcmHttpClient = _clientFactory.GetClient <FeatureAvailabilityHttpClient>(TestLogStoreConstants.TCMServiceInstanceType); } return(_featureAvailabilityTcmHttpClient); } else { if (_featureAvailabilityHttpClient == null) { _featureAvailabilityHttpClient = _clientFactory.GetClient <FeatureAvailabilityHttpClient>(); } return(_featureAvailabilityHttpClient); } }
public async Task PublishCoverageSummaryAsync(IAsyncCommandContext context, VssConnection connection, string project, int buildId, IEnumerable <CodeCoverageStatistics> coverageData, CancellationToken cancellationToken) { // <todo: Bug 402783> We are currently passing BuildFlavor and BuildPlatform = "" There value are required be passed to command CodeCoverageData data = new CodeCoverageData() { BuildFlavor = "", BuildPlatform = "", CoverageStats = coverageData.ToList() }; FeatureAvailabilityHttpClient featureAvailabilityHttpClient = connection.GetClient <FeatureAvailabilityHttpClient>(); if (FeatureFlagUtility.GetFeatureFlagState(featureAvailabilityHttpClient, CodeCoverageConstants.EnablePublishToTcmServiceDirectlyFromTaskFF, context)) { TestResultsHttpClient tcmClient = connection.GetClient <TestResultsHttpClient>(); await tcmClient.UpdateCodeCoverageSummaryAsync(data, project, buildId, cancellationToken : cancellationToken); } else { TestManagementHttpClient tfsClient = connection.GetClient <TestManagementHttpClient>(); await tfsClient.UpdateCodeCoverageSummaryAsync(data, project, buildId, cancellationToken : cancellationToken); } }