Example #1
0
        private static void AddEnvironments(VSTSRelease_v1 vstsRelease, VSTSReleaseDetails releaseDetails)
        {
            if (vstsRelease == null || vstsRelease.Items == null)
            {
                throw new InvalidOperationException();
            }

            foreach (var environment in releaseDetails.Environments)
            {
                var node = vstsRelease.Items.FirstOrDefault(i => i.Name == environment.Name);

                if (node == null)
                {
                    node = new VSTSReleaseEnvironment
                    {
                        Name          = environment.Name,
                        EnvironmentId = environment.Id
                    };

                    Application.Current.Dispatcher.Invoke(() => vstsRelease.Add(node));
                    if (environment.State == State.PartiallySucceeded)
                    {
                        Item guiNode = new VSTSReleaseTask()
                        {
                            Name = "Test!"
                        };
                        Application.Current.Dispatcher.Invoke(() => node.Add(guiNode));
                    }
                }

                node.State = environment.State;
            }
        }