// GetAttachments get attachments for message func GetAttachments(r horenso.Report, items []string) []*slack.Attachment { var attachments []*slack.Attachment var a slack.Attachment a.Fallback = "horenso Reporter" a.AuthorName = "horenso Reporter" if *r.ExitCode == 0 { a.Color = "#32B232" } else { a.Color = "#FF0000" } fields := []*slack.AttachmentField{} if IsSelectedItem("Result", items) { fields = append(fields, &slack.AttachmentField{ Title: "Result", Value: fmt.Sprintf("%v", r.Result), Short: false, }) } if IsSelectedItem("Output", items) { fields = append(fields, &slack.AttachmentField{ Title: "Output", Value: fmt.Sprintf("%v", r.Output), Short: false, }) } if IsSelectedItem("Stdout", items) { fields = append(fields, &slack.AttachmentField{ Title: "Stdout", Value: fmt.Sprintf("%v", r.Stdout), Short: false, }) } if IsSelectedItem("Stderr", items) { fields = append(fields, &slack.AttachmentField{ Title: "Stderr", Value: fmt.Sprintf("%v", r.Stderr), Short: false, }) } if IsSelectedItem("Command", items) { fields = append(fields, &slack.AttachmentField{ Title: "Command", Value: fmt.Sprintf("%v", r.Command), Short: true, }) } if IsSelectedItem("CommandArgs", items) { fields = append(fields, &slack.AttachmentField{ Title: "CommandArgs", Value: fmt.Sprintf("%v", r.CommandArgs), Short: true, }) } if IsSelectedItem("Pid", items) { fields = append(fields, &slack.AttachmentField{ Title: "Pid", Value: fmt.Sprintf("%d", r.Pid), Short: true, }) } if IsSelectedItem("ExitCode", items) { fields = append(fields, &slack.AttachmentField{ Title: "ExitCode", Value: fmt.Sprintf("%d", *r.ExitCode), Short: true, }) } if IsSelectedItem("StartAt", items) { fields = append(fields, &slack.AttachmentField{ Title: "StartAt", Value: fmt.Sprintf("%v", r.StartAt), Short: true, }) } if IsSelectedItem("EndAt", items) { fields = append(fields, &slack.AttachmentField{ Title: "EndAt", Value: fmt.Sprintf("%v", r.EndAt), Short: true, }) } if IsSelectedItem("Hostname", items) { fields = append(fields, &slack.AttachmentField{ Title: "Hostname", Value: fmt.Sprintf("%v", r.Hostname), Short: true, }) } if IsSelectedItem("SystemTime", items) { fields = append(fields, &slack.AttachmentField{ Title: "SystemTime", Value: fmt.Sprintf("%f", *r.SystemTime), Short: true, }) } if IsSelectedItem("UserTime", items) { fields = append(fields, &slack.AttachmentField{ Title: "UserTime", Value: fmt.Sprintf("%f", *r.UserTime), Short: true, }) } a.Fields = fields return append(attachments, &a) }