V.3.12.8 - Error Encountered when changing Environments on a Octopus Deploy Target

Replication Steps:
Access an existing deploy target
remove the existing Environment tag and then add a different Environment tag then save.

Work around: Instead of removing the existing environment tag and adding a new one. Add the new one and save it (so the target exists in both environments), then go back in and remove the old one and save.

Error message:
Duplicate assertions have been specified for scope group ‘Environments’. This isn’t supported; loop through and make multiple checks instead.
at Octopus.Core.Security.Permissions.AuthorizationRequest…ctor(IEnumerable1 regardingDocumentIds) in AuthorizationRequest.cs:line 18 at Octopus.Server.Permissions.AuthorizationRequestProvider.GetForPermission in AuthorizationRequestProvider.cs:line 25 at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func2 predicate) at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func2 predicate) at Octopus.Server.Permissions.PermissionSet.CheckAuthorized(Permission permission, String userId, String[] externalSecurityGroupIds, String[] documentIds) in PermissionSet.cs:line 70 at Octopus.Server.Web.Api.Rules.MachinePermissionProtectionRule.BeforeMap(Machine model, MachineResource resource, ISpecialRuleContext context) in MachinePermissionProtectionRule.cs:line 36 at Octopus.Server.Web.Infrastructure.Api.Responder1.ExecuteRules[TRule](Action2 ruleCallback) in Responder.cs:line 168 at Octopus.Server.Web.Infrastructure.Api.ModifyResponseDescriptor2.Responder.Execute() in ModifyResponseDescriptor.cs:line 56
at Octopus.Server.Web.Infrastructure.Api.Responder1.Respond(TDescriptor options, NancyContext context) in Responder.cs:line 142 at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2) at CallSite.Target(Closure , CallSite , Object , Object , NancyContext ) at Octopus.Server.Web.Api.OctopusRestApiModule.<>c__DisplayClass0_0.<.ctor>b__0(Object o) in OctopusRestApiModule.cs:line 48 at CallSite.Target(Closure , CallSite , Func2 , Object )
at Nancy.Routing.Route.<>c__DisplayClass4.b__3(Object parameters, CancellationToken context)


Thanks for getting in touch. This was a bug introduced in Octopus 3.12.7 and the fix was shipped in 3.12.9. This was unfortunately missed in testing but it was fixed quite quickly. :slight_smile:

Hope this helps!