Ability to define/change project variables from a file in the step package
The Octopus engine could identify a file in the root of the package, like "OctoVariables.xml" and automaticaly create or change variables in Project. Something like:
<variables>
<add name="MyConnectionString" environment="testing" value="User=test;password=1234;Initial Catalog=TestDb" scope="Step" override="false" />
<add name="DropAndRecreateApplication" value="false" override="false" />
</variables>

-
dragon788 commented
It is possible to run a script step before a deploy step to create/populate Octopus variables. I'd suggest checking that out if you need this functionality. This would allow developers/packagers to override variables set via the WebUI via their scripts, so I do see a lot of risk in actually performing this in practice.
-
André Bires commented
Or maybe a namespace in Web.config file that do that. Something like:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:od="http://schemas.octopusdeploy.com">
<connectionStrings>
<add name="MyConnectionString"
connectionString="Data Source=DATABASE;Initial Catalog=MyDatabase;Persist Security Info=True;Integrated Security=SSPI"
providerName="System.Data.SqlClient"
od:scope="Step"
od:override="true" />
</connectionStrings>
<appSettings>
<add key="CacheExpiration" value="300000" od:scope="Project" />
</appSettings>
</configuration>