diff options
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | src/zen/cmds/projectstore.cpp | 23 |
2 files changed, 22 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 50bbfc6d2..16903af33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Feature: Added `zen serve` command for establishing a link to a directory tree for use with staged UE builds and the `-Mount=` option - Bugfix: Make sure to validate return pointer when calling Memory::Alloc in all locations - Bugfix: Log error instead of hard crash if GC scheduler thread throws exception +- Improvement: In oplog import/export, try to resolve access token via env variable on zen command side as first option, with resolve on zenserver side as second option. Resolves [UE-189978](https://jira.it.epicgames.com/browse/UE-189978) - Improvement: Keep reason and status code when parsing responses from jupiter remote requests - Improvement: Add additional context for errors when importing/exporting oplogs - Improvement: Added `ZenServerInstance::SpawnServerAndWait` and improved logic around process termination when using `ZenServerInstance::AttachToRunningServer` diff --git a/src/zen/cmds/projectstore.cpp b/src/zen/cmds/projectstore.cpp index ed59a8f98..e68563938 100644 --- a/src/zen/cmds/projectstore.cpp +++ b/src/zen/cmds/projectstore.cpp @@ -3,6 +3,7 @@ #include "projectstore.h" #include <zencore/compactbinarybuilder.h> +#include <zencore/filesystem.h> #include <zencore/logging.h> #include <zencore/stream.h> #include <zenhttp/httpcommon.h> @@ -569,7 +570,16 @@ ExportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg } if (!m_CloudAccessTokenEnv.empty()) { - Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv); + std::string ResolvedCloudAccessTokenEnv = zen::GetEnvVariable(m_CloudAccessTokenEnv); + + if (!ResolvedCloudAccessTokenEnv.empty()) + { + Writer.AddString("access-token"sv, ResolvedCloudAccessTokenEnv); + } + else + { + Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv); + } } if (m_DisableBlocks) { @@ -813,7 +823,16 @@ ImportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg } if (!m_CloudAccessTokenEnv.empty()) { - Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv); + std::string ResolvedCloudAccessTokenEnv = zen::GetEnvVariable(m_CloudAccessTokenEnv); + + if (!ResolvedCloudAccessTokenEnv.empty()) + { + Writer.AddString("access-token"sv, ResolvedCloudAccessTokenEnv); + } + else + { + Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv); + } } } Writer.EndObject(); // "cloud" |