Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    EnvironmentName always null

    Scheduled Pinned Locked Moved Support
    templatesottervariablesenvironments
    2 Posts 1 Posters 11 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? This user is from outside of this forum
      Guest
      last edited by

      I'm using Otter 1.5.5 and have two environments (Test and Production). Each has an environment variable defined. I'm referencing the variables in an Asset Template. However, I always get an error saying that the variable is not defined when the job runs.

      Also, the $EnvironmentName variable is always null/empty. If I put the following in my template:

      Log-Debug Environemnt = "$EnvironmentName";
      Log-Debug  GetVariableValue "$GetVariableValue(EnvironmentName)";
      Log-Debug  IsVariableDefined "$IsVariableDefined(EnvironmentName)";
      

      My output is:

      DEGUG: Environemnt = ""
      DEGUG: GetVariableValue ""
      DEGUG: IsVariableDefined "True"
      

      It appears that the Otter thinks the $EnvirnomentName variable is defined but has no value.

      Product: Otter
      Version: 1.5.5

      1 Reply Last reply Reply Quote 0
      • ? This user is from outside of this forum
        Guest
        last edited by

        The problem here is that there is not exactly 1 environment in context. I'm guessing this is an orchestration plan? Configuration plans will already bring in the environment context if there is exactly one environment. The way this will be solved (targeted for v1.6, but may appear earlier in a v1.5.X maintenance release) is by the following rules:

        1. Context will solely be determined from environment associations of servers (this changes the current behavior which relies on orchestration jobs being targeted at an environment in order to bring the environment into context)
        2. Parent environments will only be considered for user permissions and variable resolution
        3. If there is not exactly 1 environment applicable to the current server in context, $EnvironmentName will result in an empty string (so the same as you're seeing now)
        4. We will add @EnvironmentNames which will resolve to a list of all environment names in context (including an optional parameter for including/ignoring parent environments)
        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • 1 / 1
        • First post
          Last post
        Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation