protected void AddSecureFilesToEnvironment() { Trace.Entering(); ArgUtil.NotNull(ExecutionContext, nameof(ExecutionContext)); ArgUtil.NotNull(SecureFiles, nameof(SecureFiles)); List <SecureFile> secureFiles; if ((RuntimeVariables.GetBoolean(Constants.Variables.Agent.AllowAllSecureFiles) ?? false) || string.Equals(System.Environment.GetEnvironmentVariable("AGENT_ALLOWALLSECUREFILES") ?? string.Empty, bool.TrueString, StringComparison.OrdinalIgnoreCase)) { secureFiles = ExecutionContext.SecureFiles ?? new List <SecureFile>(0); // todo: remove after sprint 121 or so } else { secureFiles = SecureFiles; } // Add the secure files to the environment variable dictionary. foreach (SecureFile secureFile in secureFiles) { if (secureFile != null && secureFile.Id != Guid.Empty) { string partialKey = secureFile.Id.ToString(); AddEnvironmentVariable( key: $"SECUREFILE_NAME_{partialKey}", value: secureFile.Name); AddEnvironmentVariable( key: $"SECUREFILE_TICKET_{partialKey}", value: secureFile.Ticket); } } }
protected void AddEndpointsToEnvironment() { Trace.Entering(); ArgUtil.NotNull(Endpoints, nameof(Endpoints)); ArgUtil.NotNull(ExecutionContext, nameof(ExecutionContext)); ArgUtil.NotNull(ExecutionContext.Endpoints, nameof(ExecutionContext.Endpoints)); List <ServiceEndpoint> endpoints; if ((RuntimeVariables.GetBoolean(Constants.Variables.Agent.AllowAllEndpoints) ?? false) || string.Equals(System.Environment.GetEnvironmentVariable("AGENT_ALLOWALLENDPOINTS") ?? string.Empty, bool.TrueString, StringComparison.OrdinalIgnoreCase)) { endpoints = ExecutionContext.Endpoints; // todo: remove after sprint 120 or so } else { endpoints = Endpoints; } // Add the endpoints to the environment variable dictionary. foreach (ServiceEndpoint endpoint in endpoints) { ArgUtil.NotNull(endpoint, nameof(endpoint)); string partialKey = null; if (endpoint.Id != Guid.Empty) { partialKey = endpoint.Id.ToString(); } else if (string.Equals(endpoint.Name, WellKnownServiceEndpointNames.SystemVssConnection, StringComparison.OrdinalIgnoreCase)) { partialKey = WellKnownServiceEndpointNames.SystemVssConnection.ToUpperInvariant(); } else if (endpoint.Data == null || !endpoint.Data.TryGetValue(EndpointData.RepositoryId, out partialKey) || string.IsNullOrEmpty(partialKey)) { continue; // This should never happen. } AddEnvironmentVariable( key: $"ENDPOINT_URL_{partialKey}", value: endpoint.Url?.ToString()); AddEnvironmentVariable( key: $"ENDPOINT_AUTH_{partialKey}", // Note, JsonUtility.ToString will not null ref if the auth object is null. value: JsonUtility.ToString(endpoint.Authorization)); if (endpoint.Authorization != null && endpoint.Authorization.Scheme != null) { AddEnvironmentVariable( key: $"ENDPOINT_AUTH_SCHEME_{partialKey}", value: endpoint.Authorization.Scheme); foreach (KeyValuePair <string, string> pair in endpoint.Authorization.Parameters) { AddEnvironmentVariable( key: $"ENDPOINT_AUTH_PARAMETER_{partialKey}_{pair.Key?.Replace(' ', '_').ToUpperInvariant()}", value: pair.Value); } } if (endpoint.Id != Guid.Empty) { AddEnvironmentVariable( key: $"ENDPOINT_DATA_{partialKey}", // Note, JsonUtility.ToString will not null ref if the data object is null. value: JsonUtility.ToString(endpoint.Data)); if (endpoint.Data != null) { foreach (KeyValuePair <string, string> pair in endpoint.Data) { AddEnvironmentVariable( key: $"ENDPOINT_DATA_{partialKey}_{pair.Key?.Replace(' ', '_').ToUpperInvariant()}", value: pair.Value); } } } } }