public ReleaseDefinition UpdateReleaseDefinition() { string projectName = ClientSampleHelpers.FindAnyProject(this.Context).Name; // Get a release client instance VssConnection connection = Context.Connection; ReleaseHttpClient releaseClient = connection.GetClient <ReleaseHttpClient>(); ReleaseDefinition releaseDefinition = releaseClient.GetReleaseDefinitionAsync(project: projectName, definitionId: newlyCreatedReleaseDefinitionId).Result; // add a non secret variable to definition ConfigurationVariableValue variable = new ConfigurationVariableValue(); variable.Value = "NonSecretValue"; variable.IsSecret = false; releaseDefinition.Variables.Add("NonSecretVariable", variable); // update release definition ReleaseDefinition updatedReleaseDefinition = releaseClient.UpdateReleaseDefinitionAsync(project: projectName, releaseDefinition: releaseDefinition).Result; Console.WriteLine("{0} {1} {2}", updatedReleaseDefinition.Id.ToString().PadLeft(6), updatedReleaseDefinition.Revision, updatedReleaseDefinition.ModifiedOn); return(releaseDefinition); }
static void Main(string[] args) { VssCredentials creds = new VssBasicCredential(string.Empty, personalAccessToken); // Connect to Azure DevOps Services VssConnection connection = new VssConnection(new Uri(collectionUri), creds); // Get a Release EndPoint ReleaseHttpClient releaseHttpClient = connection.GetClient <ReleaseHttpClient>(); // Get data about a specific repository ReleaseDefinition definition = releaseHttpClient.GetReleaseDefinitionAsync(projectName, releaseDefinitionId).Result; //Determine if it is a release or a stage variable int environmentIndex = GetEnvironmentIndex(environmentName, definition.Environments); // Read Tokens from file (non secret variables) // Format per line : key#value var tokens = ReadTokensFromFile(tokenFilename); if (environmentIndex == -1) { foreach (var t in tokens) { if (!definition.Variables.ContainsKey(t.Name)) { definition.Variables.Add(t.Name, new ConfigurationVariableValue { Value = t.Value, IsSecret = false }); } else { definition.Variables[t.Name] = new ConfigurationVariableValue { Value = t.Value, IsSecret = false } }; } } else { foreach (var t in tokens) { if (!definition.Environments[environmentIndex].Variables.ContainsKey(t.Name)) { definition.Environments[environmentIndex].Variables.Add(t.Name, new ConfigurationVariableValue { Value = t.Value, IsSecret = false }); } else { definition.Environments[environmentIndex].Variables[t.Name] = new ConfigurationVariableValue { Value = t.Value, IsSecret = false } }; } } // Update Release Definition ReleaseDefinition updatedDefinition = releaseHttpClient.UpdateReleaseDefinitionAsync(definition, projectName).Result; }