private static void OnBuildStatusProviderBuildStatusChanged(BusylightController busylightController, BuildStatus buildStatus) { var busylightColor = BusylightColor.Blue; switch (buildStatus.LastBuildStatus) { case "SUCCESS": busylightColor = BusylightColor.Green; break; case "FAILURE": case "ERROR": busylightColor = BusylightColor.Red; break; } busylightController.Signal(busylightColor, buildStatus.HasPendingBuild); }
public bool Start() { this.teamCityBuildStatusProvider = new TeamCityBuildStatusProvider(this.teamCityBuildStatusProviderReporter); this.busylightController = new BusylightController(this.runOptions.HidDeviceIds); if (!this.busylightController.Initialize()) { return(false); } this.teamCityBuildStatusProvider.BuildStatusChanged += (sender, eventArgs) => OnBuildStatusProviderBuildStatusChanged(this.busylightController, eventArgs); if (!this.teamCityBuildStatusProvider.Connect(this.runOptions)) { return(false); } this.teamCityBusylightConnectorReporter.Running(); return(true); }