diff --git a/DOCS.md b/DOCS.md
index 6265de8..76805ba 100644
--- a/DOCS.md
+++ b/DOCS.md
@@ -122,7 +122,7 @@ Example configuration with video message:
+ - tests/video2.mp4
```
-Example configuration with message format:
+Example configuration with message format (`Markdown` or `HTML`), default as `Markdown`:
```diff
- name: send telegram notification
@@ -130,7 +130,7 @@ Example configuration with message format:
settings:
token: xxxxxxxxxx
to: telegram_user_id
-+ format: markdown
++ format: Markdown
```
Example configuration with a custom message template:
diff --git a/main.go b/main.go
index 3c5e1d8..455e68a 100644
--- a/main.go
+++ b/main.go
@@ -122,7 +122,7 @@ func main() {
cli.StringFlag{
Name: "format",
Value: formatMarkdown,
- Usage: "telegram message format",
+ Usage: "telegram message format (Markdown or HTML)",
EnvVar: "PLUGIN_FORMAT,FORMAT,INPUT_FORMAT",
},
cli.StringFlag{
diff --git a/plugin.go b/plugin.go
index 8f1c5d2..19c71a3 100644
--- a/plugin.go
+++ b/plugin.go
@@ -20,7 +20,8 @@ import (
)
const (
- formatMarkdown = "markdown"
+ formatMarkdown = "Markdown"
+ formatHTML = "HTML"
)
type (
@@ -259,6 +260,10 @@ func parseTo(to []string, authorEmail string, matchEmail bool) []int64 {
return ids
}
+func templateMessage(t string, plugin Plugin) (string, error) {
+ return template.RenderTrim(t, plugin)
+}
+
// Exec executes the plugin.
func (p Plugin) Exec() (err error) {
if len(p.Config.Token) == 0 || len(p.Config.To) == 0 {
@@ -356,7 +361,7 @@ func (p Plugin) Exec() (err error) {
// send message.
for _, user := range ids {
for _, value := range message {
- txt, err := template.RenderTrim(value, p)
+ txt, err := templateMessage(value, p)
if err != nil {
return err
}
diff --git a/plugin_test.go b/plugin_test.go
index 19d34df..56207fd 100644
--- a/plugin_test.go
+++ b/plugin_test.go
@@ -353,7 +353,7 @@ func TestHTMLMessage(t *testing.T) {
Sha: "e7c4f0a63ceeb42a39ac7806f7b51f3f0d204fd2",
Author: "Bo-Yi Wu",
Branch: "master",
- Message: "Freakin' macOS isn't fully case-sensitive..",
+ Message: "test",
},
Build: Build{
Number: 101,
@@ -364,11 +364,20 @@ func TestHTMLMessage(t *testing.T) {
Config: Config{
Token: os.Getenv("TELEGRAM_TOKEN"),
To: []string{os.Getenv("TELEGRAM_TO")},
+ Message: `
+Test HTML Format
+Google .com 1
+Google .com 2
+Google .com 3
+`,
+ Format: formatHTML,
},
}
- err := plugin.Exec()
- assert.Nil(t, err)
+ assert.Nil(t, plugin.Exec())
+
+ plugin.Config.MessageFile = "tests/message_html.txt"
+ assert.Nil(t, plugin.Exec())
}
func TestMessageFile(t *testing.T) {
diff --git a/tests/message_html.txt b/tests/message_html.txt
new file mode 100644
index 0000000..e33e77e
--- /dev/null
+++ b/tests/message_html.txt
@@ -0,0 +1,5 @@
+Test HTML Format from file
+Google .com 1
+Google .com 2
+Google .com 3
+Google .com 4