Octopus.Project.Name cannot be passed on to child deployment

Steps:

Create a project “testchild” and create a run script step “Write-Warning $name”

Create a project “testparent” and create a “Deploy a release” step and choose “testchild”

In the “pass variable through to the child deployment” section add variable name and value #{Octopus.Project.Name}.

Observed Behavior:

The $name variable is not getting the value ‘testparent’ as expected . This flow works fine with Octopus.Release.Number

Hi Praveen,

Thanks for getting in touch! That certainly doesn’t look like the right behavior. I’m sorry about the confusion caused here. I’ve run through a test in my instance (running 2020.1.9) based exactly on your repro steps and the testparent warning is correctly displayed in my testchild project. Which version of Octopus are you currently running?

Could it come down to the requirement to create a new release of the parent project to pick up a new release of the child project? Similar to package steps, a new release of the parent project has to be created to pick up new versions. This probably isn’t the case since you’ve mentioned the same works for Octopus.Release.Number but just want to rule that out completely. :slight_smile:

I look forward to hearing back!

Best regards,

Kenny

Hi Kenneth , sorry for the delayed response i am not sure why i am not getting notification if someone replys to my thread. I just opened it to see if someone has indeed replyed.

And glad to hear back from you and thank you for your time in looking into this. Here the issue is not about the warning being pushed to the parent.

The issue was about passing #{Octopus.Project.Name} (name of the parent project ) to the child deployment. So that I can know which parent triggered the child if multiple parents are using the same child.

#{Octopus.Release.Number} is passed correctly from parent to child, eg if parent release number is 1.1.100 . if I print the #{name} in powershell (write-warning $name) I get the value 1.1.100 . Even if my child version is 2.1.9.

For #{Octopus.Project.Name} its not getting passed down to child, #{name} will be null

Hi Praveen,

Thanks for keeping in touch, and no problems about the delay. That is a bit strange you didn’t get notified when I responded initially. Let me know if this one notifies you as it should. :slight_smile:

I wasn’t super clear in my first response back to you, sorry about that. My previous attempt to reproduce this matched what you’ve described, where the #{Octopus.Project.Name} is set as the value of a variable (named name) being passed from the parent project to the child project. In the deployment of my child project, I printed this variable and it evaluated to the project name of the parent project as it should. I’ll attach some screenshots below showing my new repro attempt.

My Deploy a Release step configured in the parent project:

My child project’s task log from a script step simply doing write-warning $name):

This was in my local instance running Octopus server version 2020.1.12. Can you let me know which version of Octopus you’re currently running, or if I’ve missed anything in reproducing this accurately?

Best regards,

Kenny

1 Like

2020.1.10 , Sorry i am not able to reproduce the issue from myside also . I think it was some configuration error . Thank you ofr looking into it

Hi Praveen,

You’re very welcome! Thanks for following up and letting me know the results. If you have any questions or concerns in the future, please don’t hesitate to reach out. :slight_smile:

Best regards,

Kenny