Example #1
0
// ReportStageResult throw the results of specified stage to the messenger services.
func (self *Resources) ReportStageResult(stage stages.Stage, resultStr string) {
	name := stage.GetStageName()
	if !self.Reporter.Suppress("result") {
		if resultStr == "true" {
			self.Reporter.Post(
				fmt.Sprintf("[%s][RESULT] Succeeded", name))
		} else if resultStr == "skipped" {
			self.Reporter.Post(
				fmt.Sprintf("[%s][RESULT] Skipped", name))
		} else {
			self.Reporter.Post(
				fmt.Sprintf("[%s][RESULT] Failed", name))
		}
	}

	if stage.GetStageOpts().ReportingFullOutput {
		if out := stage.GetOutResult(); (len(out) > 0) && (!self.Reporter.Suppress("stdout")) {
			self.Reporter.Post(
				fmt.Sprintf("[%s][STDOUT] %s", name, stage.GetOutResult()))
		}
		if err := stage.GetErrResult(); len(err) > 0 && (!self.Reporter.Suppress("stderr")) {
			self.Reporter.Post(
				fmt.Sprintf("[%s][STDERR] %s", name, stage.GetErrResult()))
		}
	}
}