Thanks for getting in touch! It sounds like the end result you want is:
- Ofer clicks Build in TFS
- TFS calls
octo.exe create-release ...
- The Release in Octopus should look like it was created by Ofer
Does that sound about right?
Unfortunately, that is not possible due to the way TFS allows us to integrate with Octopus.
When you configure a Connection to Octopus, you typically use an API Key so TFS can authenticate with Octopus. That API Key is tied to a single user account in Octopus, typically a Service Account. The result: every action performed in Octopus using that Connection will be performed by that single user account.
In this case, to get the full picture of “who created a release in Octopus” you will have to go back through to TFS and see what triggered the build to start. In the real world this “chain of custody” can get complicated:
- Ofer commits code changes to source control, which triggers a build automatically, which results in a release being created in Octopus. In this case TFS will not say Ofer started the build, it was the change in source code which triggered the build.
- Mike manually starts a new build of his own code change in TFS, which results in a release being created in Octopus.
- Mike manually starts a new build of Ofer’s code change in TFS, which results in a release being created in Octopus.
In all three cases, who should really be “responsible” for the release being created in Octopus? I would be keen to understand what you would like to see in Octopus for each scenario.
Hope that helps explain the situation!